/** * Main method. * * @since 0.1 * * @param string|null $subPage */ public function execute($subPage) { parent::execute($subPage); if ($this->subPage === '') { $this->displayNavigation(); EPCA::displayPager($this->getContext()); } else { $this->getOutput()->redirect(SpecialPage::getTitleFor('CampusAmbassador', $this->subPage)->getLocalURL()); } }
/** * Returns the default nav items for @see displayNavigation. * * @since 0.1 * * @return array */ public static function getDefaultNavigationItems(IContextSource $context) { $items = array(wfMsg('ep-nav-orgs') => SpecialPage::getTitleFor('Institutions'), wfMsg('ep-nav-courses') => SpecialPage::getTitleFor('Courses')); $items[wfMsg('ep-nav-students')] = SpecialPage::getTitleFor('Students'); $items[wfMsg('ep-nav-oas')] = SpecialPage::getTitleFor('OnlineAmbassadors'); $items[wfMsg('ep-nav-cas')] = SpecialPage::getTitleFor('CampusAmbassadors'); $user = $context->getUser(); if (EPStudent::has(array('user_id' => $user->getId()))) { $items[wfMsg('ep-nav-mycourses')] = SpecialPage::getTitleFor('MyCourses'); } if ($user->isAllowed('ep-online') && EPOA::newFromUser($user)->hasCourse()) { $items[wfMsg('ep-nav-oaprofile')] = SpecialPage::getTitleFor('OnlineAmbassadorProfile'); } if ($user->isAllowed('ep-campus') && EPCA::newFromUser($user)->hasCourse()) { $items[wfMsg('ep-nav-caprofile')] = SpecialPage::getTitleFor('CampusAmbassadorProfile'); } return $items; }
/** * Returns the campus ambassadors as a list of EPCA objects. * * @since 0.1 * * @return array of EPCA */ public function getCampusAmbassadors() { if ($this->cas === false) { $this->cas = array(); foreach ($this->getField('campus_ambs') as $userId) { $this->cas[] = EPCA::newFromUserId($userId); } } return $this->cas; }