/**
  * Gets the summary data.
  *
  * @since 0.1
  *
  * @param EPTerm $term
  *
  * @return array
  */
 protected function getSummaryData(EPDBObject $term)
 {
     $stats = array();
     $org = EPOrg::selectFieldsRow('name', array('id' => $term->getField('org_id')));
     $stats['org'] = Linker::linkKnown(SpecialPage::getTitleFor('Institution', $org), htmlspecialchars($org));
     $course = EPCourse::selectFieldsRow('name', array('id' => $term->getField('course_id')));
     $stats['course'] = Linker::linkKnown(SpecialPage::getTitleFor('Course', $course), htmlspecialchars($course));
     $stats['year'] = htmlspecialchars($this->getLanguage()->formatNum($term->getField('year'), true));
     $stats['start'] = htmlspecialchars($this->getLanguage()->timeanddate($term->getField('start'), true));
     $stats['end'] = htmlspecialchars($this->getLanguage()->timeanddate($term->getField('end'), true));
     if ($this->getUser()->isAllowed('ep-token')) {
         $stats['token'] = Linker::linkKnown(SpecialPage::getTitleFor('Enroll', $term->getId() . '/' . $term->getField('token')), htmlspecialchars($term->getField('token')));
     }
     return $stats;
 }
Example #2
0
 /**
  * (non-PHPdoc)
  * @see EPDBObject::updateInDB()
  */
 protected function updateInDB()
 {
     if ($this->updateSummaries) {
         $oldOrgId = $this->hasField('org_id') ? self::selectFieldsRow('org_id', array('id' => $this->getId())) : false;
         $oldCourseId = $this->hasField('course_id') ? self::selectFieldsRow('course_id', array('id' => $this->getId())) : false;
     }
     if ($this->hasField('course_id')) {
         $oldCourseId = self::selectFieldsRow('course_id', array('id' => $this->getId()));
         if ($this->getField('course_id') !== $oldCourseId) {
             $this->setField('org_id', EPCourse::selectFieldsRow('org_id', array('id' => $this->getField('course_id'))));
         }
     }
     $success = parent::updateInDB();
     if ($this->updateSummaries && $success) {
         if ($oldOrgId !== false && $oldOrgId !== $this->getField('org_id')) {
             $conds = array('id' => array($oldOrgId, $this->getField('org_id')));
             EPOrg::updateSummaryFields(array('terms', 'students', 'active'), $conds);
         }
         if ($oldCourseId !== false && $oldCourseId !== $this->getField('org_id')) {
             $conds = array('id' => array($oldCourseId, $this->getField('course_id')));
             EPCourse::updateSummaryFields(array('active', 'students'), $conds);
         }
     }
     return $success;
 }