Open Preprint Systems  3.3.0
SitemapHandler.inc.php
1 <?php
2 
16 import('lib.pkp.pages.sitemap.PKPSitemapHandler');
17 
19 
23  function _createContextSitemap($request) {
24  $doc = parent::_createContextSitemap($request);
25  $root = $doc->documentElement;
26 
27  $journal = $request->getJournal();
28  $journalId = $journal->getId();
29 
30  // Search
31  $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'search')));
32 
33  // Preprints
34  import('classes.submission.Submission'); // Import status constants
35  $submissionIds = Services::get('submission')->getIds([
36  'status' => STATUS_PUBLISHED,
37  'contextId' => $journal->getId(),
38  ]);
39  foreach ($submissionIds as $submissionId) {
40  $root->appendChild($this->_createUrlTree($doc, $request->url($journal->getPath(), 'preprint', 'view', array($submissionId))));
41  }
42 
43  $doc->appendChild($root);
44 
45  // Enable plugins to change the sitemap
46  HookRegistry::call('SitemapHandler::createJournalSitemap', array(&$doc));
47 
48  return $doc;
49  }
50 
51 }
52 
53 
SitemapHandler\_createContextSitemap
_createContextSitemap($request)
Definition: SitemapHandler.inc.php:23
PKPSitemapHandler\_createUrlTree
_createUrlTree($doc, $loc, $lastmod=null, $changefreq=null, $priority=null)
Definition: PKPSitemapHandler.inc.php:135
SitemapHandler
Produce a sitemap in XML format for submitting to search engines.
Definition: SitemapHandler.inc.php:18
PKPSitemapHandler
Produce a sitemap in XML format for submitting to search engines.
Definition: PKPSitemapHandler.inc.php:20
HookRegistry\call
static call($hookName, $args=null)
Definition: HookRegistry.inc.php:86
PKPServices\get
static get($service)
Definition: PKPServices.inc.php:49