示例#1
0
 /**
  * Generate an XML sitemap for webcrawlers
  */
 function index()
 {
     if (Request::getRequestedConferencePath() == 'index') {
         $doc = SitemapHandler::createSitemapIndex();
         header("Content-Type: application/xml");
         header("Cache-Control: private");
         header("Content-Disposition: inline; filename=\"sitemap_index.xml\"");
         XMLCustomWriter::printXML($doc);
     } else {
         if (Request::getRequestedSchedConfPath() == 'index') {
             // At conference level
             $doc = SitemapHandler::createConfSitemap();
             header("Content-Type: application/xml");
             header("Cache-Control: private");
             header("Content-Disposition: inline; filename=\"sitemap.xml\"");
             XMLCustomWriter::printXML($doc);
         } else {
             // At scheduled conference level
             $doc = SitemapHandler::createSchedConfSitemap();
             header("Content-Type: application/xml");
             header("Cache-Control: private");
             header("Content-Disposition: inline; filename=\"sitemap.xml\"");
             XMLCustomWriter::printXML($doc);
         }
     }
 }
示例#2
0
 function _handleOcsUrl($matchArray)
 {
     $url = $matchArray[2];
     $anchor = null;
     if (($i = strpos($url, '#')) !== false) {
         $anchor = substr($url, $i + 1);
         $url = substr($url, 0, $i);
     }
     $urlParts = explode('/', $url);
     if (isset($urlParts[0])) {
         switch (String::strtolower($urlParts[0])) {
             case 'conference':
                 $url = Request::url(isset($urlParts[1]) ? $urlParts[1] : Request::getRequestedConferencePath(), null, null, null, null, null, $anchor);
                 break;
             case 'paper':
                 if (isset($urlParts[1])) {
                     $url = Request::url(null, null, 'paper', 'view', $urlParts[1], null, $anchor);
                 }
                 break;
             case 'schedConf':
                 if (isset($urlParts[1])) {
                     $schedConfDao =& DAORegistry::getDAO('SchedConfDAO');
                     $conferenceDao =& DAORegistry::getDAO('ConferenceDAO');
                     $thisSchedConf =& $schedConfDao->getSchedConfByPath($urlParts[1]);
                     if (!$thisSchedConf) {
                         break;
                     }
                     $thisConference =& $conferenceDao->getConference($thisSchedConf->getConferenceId());
                     $url = Request::url($thisConference->getPath(), $thisSchedConf->getPath(), null, null, null, null, $anchor);
                 } else {
                     $url = Request::url(null, null, 'schedConfs', 'current', null, null, $anchor);
                 }
                 break;
             case 'suppfile':
                 if (isset($urlParts[1]) && isset($urlParts[2])) {
                     $url = Request::url(null, null, 'paper', 'downloadSuppFile', array($urlParts[1], $urlParts[2]), null, $anchor);
                 }
                 break;
             case 'sitepublic':
                 array_shift($urlParts);
                 import('file.PublicFileManager');
                 $publicFileManager = new PublicFileManager();
                 $url = Request::getBaseUrl() . '/' . $publicFileManager->getSiteFilesPath() . '/' . implode('/', $urlParts) . ($anchor ? '#' . $anchor : '');
                 break;
             case 'public':
                 array_shift($urlParts);
                 $schedConf =& Request::getSchedConf();
                 import('file.PublicFileManager');
                 $publicFileManager = new PublicFileManager();
                 $url = Request::getBaseUrl() . '/' . $publicFileManager->getSchedConfFilesPath($schedConf->getId()) . '/' . implode('/', $urlParts) . ($anchor ? '#' . $anchor : '');
                 break;
         }
     }
     return $matchArray[1] . $url . $matchArray[3];
 }
示例#3
0
 /**
  * Display about index page.
  */
 function index()
 {
     $this->validate();
     $this->setupTemplate(false);
     $templateMgr =& TemplateManager::getManager();
     $conferenceDao =& DAORegistry::getDAO('ConferenceDAO');
     $schedConfDao =& DAORegistry::getDAO('SchedConfDAO');
     $conferencePath = Request::getRequestedConferencePath();
     if ($conferencePath != 'index' && $conferenceDao->conferenceExistsByPath($conferencePath)) {
         $schedConf =& Request::getSchedConf();
         $conference =& Request::getConference();
         if ($schedConf) {
             $templateMgr->assign('showAboutSchedConf', true);
             $settings = $schedConf->getSettings();
         } else {
             $templateMgr->assign('showAboutSchedConf', false);
             $settings = $conference->getSettings();
             $templateMgr->assign_by_ref('currentSchedConfs', $schedConfDao->getCurrentSchedConfs($conference->getId()));
         }
         $customAboutItems = $conference->getSetting('customAboutItems');
         foreach (AboutHandler::getPublicStatisticsNames() as $name) {
             if (isset($settings[$name])) {
                 $templateMgr->assign('publicStatisticsEnabled', true);
                 break;
             }
         }
         if (isset($customAboutItems[AppLocale::getLocale()])) {
             $templateMgr->assign('customAboutItems', $customAboutItems[AppLocale::getLocale()]);
         } elseif (isset($customAboutItems[AppLocale::getPrimaryLocale()])) {
             $templateMgr->assign('customAboutItems', $customAboutItems[AppLocale::getPrimaryLocale()]);
         }
         $templateMgr->assign('helpTopicId', 'user.about');
         $templateMgr->assign_by_ref('conferenceSettings', $settings);
         $templateMgr->display('about/index.tpl');
     } else {
         $site =& Request::getSite();
         $about = $site->getLocalizedAbout();
         $templateMgr->assign('about', $about);
         $conferences =& $conferenceDao->getEnabledConferences();
         //Enabled Added
         $templateMgr->assign_by_ref('conferences', $conferences);
         $templateMgr->display('about/site.tpl');
     }
 }
示例#4
0
 /**
  * Assigns values to e-mail parameters.
  * @param $paramArray array
  * @return void
  */
 function assignParams($paramArray = array())
 {
     // Add commonly-used variables to the list
     $conference =& Request::getConference();
     $schedConf =& Request::getSchedConf();
     if ($schedConf) {
         $paramArray['principalContactSignature'] = $schedConf->getSetting('contactName');
     } elseif ($conference) {
         $paramArray['principalContactSignature'] = $conference->getSetting('contactName');
     } else {
         $site =& Request::getSite();
         $paramArray['principalContactSignature'] = $site->getLocalizedContactName();
     }
     if (isset($conference)) {
         // FIXME Include affiliation, title, etc. in signature?
         $paramArray['conferenceName'] = $conference->getConferenceTitle();
     }
     if (!isset($paramArray['conferenceUrl'])) {
         $paramArray['conferenceUrl'] = Request::url(Request::getRequestedConferencePath(), Request::getRequestedSchedConfPath());
     }
     return parent::assignParams($paramArray);
 }