| Server IP : 10.10.92.66 / Your IP : 104.23.197.231 Web Server : Apache/2.4.52 (Ubuntu) System : Linux jurnalpolinema 5.15.0-177-generic #187-Ubuntu SMP Sat Apr 11 22:54:33 UTC 2026 x86_64 User : jurnal ( 1001) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/jurnal/public_html/pages/sitemap/ |
Upload File : |
<?php
/**
* @file pages/sitemap/SitemapHandler.inc.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.
*/
import('lib.pkp.pages.sitemap.PKPSitemapHandler');
class SitemapHandler extends PKPSitemapHandler {
/**
* @copydoc PKPSitemapHandler_createContextSitemap()
*/
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
$issueDao = DAORegistry::getDAO('IssueDAO'); /* @var $issueDao IssueDAO */
$galleyDao = DAORegistry::getDAO('ArticleGalleyDAO'); /* @var $galleyDao ArticleGalleyDAO */
if ($journal->getData('publishingMode') != 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 = $issueDao->getPublishedIssues($journalId);
while ($issue = $publishedIssues->next()) {
$root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'issue', 'view', $issue->getId())));
// Articles for issue
$submissionsIterator = Services::get('submission')->getMany([
'issueIds' => [$issue->getId()],
'contextId' => $journal->getId(),
'status' => STATUS_PUBLISHED,
]);
foreach($submissionsIterator as $submission) {
// Abstract
$root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'article', 'view', array($submission->getBestId()))));
// Galley files
$galleys = $galleyDao->getByPublicationId($submission->getCurrentPublication()->getId());
while ($galley = $galleys->next()) {
$root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'article', 'view', array($submission->getBestId(), $galley->getBestGalleyId()))));
}
}
}
}
$doc->appendChild($root);
// Enable plugins to change the sitemap
HookRegistry::call('SitemapHandler::createJournalSitemap', array(&$doc));
return $doc;
}
}