00001 <?php
00002
00015
00016
00017
00018 class IndexHandler extends Handler {
00019
00024 function index($args) {
00025 parent::validate();
00026
00027 $templateMgr = &TemplateManager::getManager();
00028 $journalDao = &DAORegistry::getDAO('JournalDAO');
00029 $journalPath = Request::getRequestedJournalPath();
00030 $templateMgr->assign('helpTopicId', 'user.home');
00031
00032 if ($journalPath != 'index' && $journalDao->journalExistsByPath($journalPath)) {
00033 $journal = &Request::getJournal();
00034
00035
00036 $templateMgr->assign('displayPageHeaderTitle', $journal->getJournalPageHeaderTitle(true));
00037 $templateMgr->assign('displayPageHeaderLogo', $journal->getJournalPageHeaderLogo(true));
00038 $templateMgr->assign('additionalHomeContent', $journal->getLocalizedSetting('additionalHomeContent'));
00039 $templateMgr->assign('homepageImage', $journal->getLocalizedSetting('homepageImage'));
00040 $templateMgr->assign('journalDescription', $journal->getLocalizedSetting('description'));
00041
00042 $displayCurrentIssue = $journal->getSetting('displayCurrentIssue');
00043 $issueDao = &DAORegistry::getDAO('IssueDAO');
00044 $issue = &$issueDao->getCurrentIssue($journal->getJournalId());
00045 if ($displayCurrentIssue && isset($issue)) {
00046 import('pages.issue.IssueHandler');
00047
00048 IssueHandler::setupIssueTemplate($issue);
00049 }
00050
00051
00052 $templateMgr->assign('displayCreativeCommons', $journal->getSetting('includeCreativeCommons'));
00053
00054 $enableAnnouncements = $journal->getSetting('enableAnnouncements');
00055 if ($enableAnnouncements) {
00056 $enableAnnouncementsHomepage = $journal->getSetting('enableAnnouncementsHomepage');
00057 if ($enableAnnouncementsHomepage) {
00058 $numAnnouncementsHomepage = $journal->getSetting('numAnnouncementsHomepage');
00059 $announcementDao = &DAORegistry::getDAO('AnnouncementDAO');
00060 $announcements = &$announcementDao->getNumAnnouncementsNotExpiredByJournalId($journal->getJournalId(), $numAnnouncementsHomepage);
00061 $templateMgr->assign('announcements', $announcements);
00062 $templateMgr->assign('enableAnnouncementsHomepage', $enableAnnouncementsHomepage);
00063 }
00064 }
00065 $templateMgr->display('index/journal.tpl');
00066 } else {
00067 $siteDao = &DAORegistry::getDAO('SiteDAO');
00068 $site = &$siteDao->getSite();
00069
00070 if ($site->getJournalRedirect() && ($journal = $journalDao->getJournal($site->getJournalRedirect())) != null) {
00071 Request::redirect($journal->getPath());
00072 }
00073
00074 $templateMgr->assign('intro', $site->getSiteIntro());
00075 $templateMgr->assign('journalFilesPath', Request::getBaseUrl() . '/' . Config::getVar('files', 'public_files_dir') . '/journals/');
00076 $journals = &$journalDao->getEnabledJournals();
00077 $templateMgr->assign_by_ref('journals', $journals);
00078 $templateMgr->setCacheability(CACHEABILITY_PUBLIC);
00079 $templateMgr->display('index/site.tpl');
00080 }
00081 }
00082 }
00083
00084 ?>