/** * Display a list of the emails within the current conference. */ function emails() { $this->validate(); $this->setupTemplate(true); $conference =& Request::getConference(); $rangeInfo = Handler::getRangeInfo('emails', array()); $emailTemplateDao =& DAORegistry::getDAO('EmailTemplateDAO'); $emailTemplatesArray =& $emailTemplateDao->getEmailTemplates(Locale::getLocale(), $conference->getId()); import('core.ArrayItemIterator'); if ($rangeInfo && $rangeInfo->isValid()) { while (true) { $emailTemplates = new ArrayItemIterator($emailTemplatesArray, $rangeInfo->getPage(), $rangeInfo->getCount()); if ($emailTemplates->isInBounds()) { break; } unset($rangeInfo); $rangeInfo =& $emailTemplates->getLastPageRangeInfo(); unset($emailTemplates); } } else { $emailTemplates = new ArrayItemIterator($emailTemplatesArray); } $templateMgr =& TemplateManager::getManager(); // The bread crumbs depends on whether we're doing scheduled conference or conference // management. FIXME: this is going to be a common situation, and this isn't // an elegant way of testing for it. if (Request::getRequestedPage() === 'manager') { $templateMgr->assign('pageHierarchy', array(array(Request::url(null, 'index', 'manager'), 'manager.conferenceSiteManagement'))); } else { $templateMgr->assign('pageHierarchy', array(array(Request::url(null, null, 'manager'), 'manager.schedConfManagement'))); } $templateMgr->assign_by_ref('emailTemplates', $emailTemplates); $templateMgr->assign('helpTopicId', 'conference.generalManagement.emails'); $templateMgr->display('manager/emails/emails.tpl'); }