One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
ojs-nosc
/
pages
/
sitemap
/
View File Name :
SitemapHandler.php
<?php /** * @file pages/sitemap/SitemapHandler.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class SitemapHandler * * @ingroup pages_sitemap * * @brief Produce a sitemap in XML format for submitting to search engines. */ namespace APP\pages\sitemap; use APP\facades\Repo; use APP\issue\Collector; use APP\submission\Submission; use PKP\pages\sitemap\PKPSitemapHandler; use PKP\plugins\Hook; class SitemapHandler extends PKPSitemapHandler { /** * @copydoc PKPSitemapHandler_createContextSitemap() * * @hook SitemapHandler::createJournalSitemap [[&$doc]] */ public function _createContextSitemap($request) { $doc = parent::_createContextSitemap($request); $root = $doc->documentElement; $journal = $request->getJournal(); $journalId = $journal->getId(); // Search $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'search'))); // Issues if ($journal->getData('publishingMode') != \APP\journal\Journal::PUBLISHING_MODE_NONE) { $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'issue', 'current'))); $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'issue', 'archive'))); $publishedIssues = Repo::issue()->getCollector() ->filterByContextIds([$journalId]) ->filterByPublished(true) ->orderBy(Collector::ORDERBY_PUBLISHED_ISSUES) ->getMany(); foreach ($publishedIssues as $issue) { $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'issue', 'view', [$issue->getId()]))); // Articles for issue $submissions = Repo::submission() ->getCollector() ->filterByContextIds([$journal->getId()]) ->filterByIssueIds([$issue->getId()]) ->filterByStatus([Submission::STATUS_PUBLISHED]) ->getMany(); foreach ($submissions as $submission) { // Abstract $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'article', 'view', [$submission->getBestId()]))); // Galley files $galleys = Repo::galley() ->getCollector() ->filterByPublicationIds([($submission->getCurrentPublication()->getId())]) ->getMany(); foreach ($galleys as $galley) { $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'article', 'view', [$submission->getBestId(), $galley->getBestGalleyId()]))); } } } } $doc->appendChild($root); // Enable plugins to change the sitemap Hook::call('SitemapHandler::createJournalSitemap', [&$doc]); return $doc; } }