Esempio n. 1
0
 /**
  * Load the options into the track selection boxes based on the
  * selected course.
  */
 function definition_after_data()
 {
     $mform =& $this->_form;
     $courseid = $mform->getElementValue('courseid');
     if ($courseid) {
         $courseid = (int) array_shift($courseid);
     } else {
         if (!empty($this->_customdata['obj']->courseid)) {
             $courseid = $this->_customdata['obj']->courseid;
         } else {
             if (!empty($this->firstcourse)) {
                 $courseid = $this->firstcourse->id;
             }
         }
     }
     if ($courseid) {
         $unassigned = array();
         $assigned = array();
         // Multi select box for choosing tracks
         $tracks = track_get_listing();
         $tracks = empty($tracks) ? array() : $tracks;
         $curcrsassign = curriculumcourse_get_list_by_course($courseid);
         foreach ($curcrsassign as $recid => $curcrsrec) {
             foreach ($tracks as $trackid => $trackrec) {
                 if ($trackrec->curid == $curcrsrec->curriculumid) {
                     if (!empty($this->_customdata['obj']->id)) {
                         $trkobj = new trackassignment(array('classid' => $this->_customdata['obj']->id, 'trackid' => $trackid));
                         if (!$trkobj->is_class_assigned_to_track()) {
                             $unassigned[$trackid] = $trackrec->name;
                         } else {
                             // Create list for currently assigned tracks
                             $assigned[$trackid] = $trackrec->name;
                         }
                     } else {
                         $unassigned[$trackid] = $trackrec->name;
                     }
                 }
             }
         }
         unset($curcrsassign);
         $temp = array('assignedtrack' => array_keys($assigned));
         $this->set_data($temp);
         if ($mform->elementExists('assignedtrack')) {
             $track_el =& $mform->getElement('assignedtrack');
             $track_el->load($assigned);
         }
         if ($mform->elementExists('track')) {
             $track_el =& $mform->getElement('track');
             $track_el->load($unassigned);
         }
     }
 }