Ejemplo 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);
         $curcrsassign = empty($curcrsassign) ? array() : $curcrsassign;
         foreach ($curcrsassign as $recid => $curcrsrec) {
             foreach ($tracks as $trackid => $trackrec) {
                 if ($trackrec->curid == $curcrsrec->curriculumid) {
                     if (!empty($this->_customdata['obj']->id)) {
                         $trkobj = new trackassignmentclass(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;
                     }
                 }
             }
         }
         $temp = array('assignedtrack' => array_keys($assigned));
         $this->set_data($temp);
         $track_el =& $mform->getElement('assignedtrack');
         $track_el->load($assigned);
         $track_el =& $mform->getElement('track');
         $track_el->load($unassigned);
     }
 }
Ejemplo n.º 2
0
 /**
  *
  * @param <type> $crss
  * @return <type>
  */
 function format_course_listing($crss)
 {
     $curcourselist = array();
     foreach ($crss as $crsid => $crs) {
         $curcourse = curriculumcourse_get_list_by_course($crsid);
         if (is_array($curcourse)) {
             foreach ($curcourse as $rowid => $obj) {
                 $curcourselist[$obj->curriculumid][$obj->courseid] = $obj->id;
             }
         }
     }
     return $curcourselist;
 }
Ejemplo n.º 3
0
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @package    elis
 * @subpackage curriculummanagement
 * @author     Remote-Learner.net Inc
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL
 * @copyright  (C) 2008-2012 Remote Learner.net Inc http://www.remote-learner.net
 *
 */
global $CFG;
require_once '../../config.php';
require_once $CFG->dirroot . '/curriculum/config.php';
require_once $CFG->dirroot . '/curriculum/lib/curriculumcourse.class.php';
require_once $CFG->dirroot . '/curriculum/lib/track.class.php';
$courseid = required_param('courseid', PARAM_INT);
require_login(0, false);
$tracks = track_get_listing();
$curcrsassign = curriculumcourse_get_list_by_course($courseid);
$output = '';
if (!empty($curcrsassign)) {
    foreach ($curcrsassign as $recid => $curcrsrec) {
        foreach ($tracks as $trackid => $trackrec) {
            if ($trackrec->curid == $curcrsrec->curriculumid) {
                $output .= '<option value="' . $trackid . '">' . $trackrec->name . '</option>' . "\n";
            }
        }
    }
}
echo $output;
Ejemplo n.º 4
0
 /**
  * Assign a class to a track, this function also creates
  * and assigns the class to the curriculum default track
  *
  * @return TODO: add meaningful return value
  */
 function add()
 {
     global $CURMAN;
     if (empty($this->courseid)) {
         $this->courseid = $CURMAN->db->get_field(CLSTABLE, 'courseid', 'id', $this->classid);
     }
     if ((empty($this->trackid) or empty($this->classid) or empty($this->courseid)) and empty($CURMAN->config->userdefinedtrack)) {
         cm_error('trackid and classid have not been properly initialized');
         return false;
     } elseif ((empty($this->courseid) or empty($this->classid)) and $CURMAN->config->userdefinedtrack) {
         cm_error('courseid has not been properly initialized');
     }
     if (empty($CURMAN->config->userdefinedtrack)) {
         if ($this->is_class_assigned_to_track()) {
             return false;
         }
         // Determine whether class is required
         $curcrsobj = new curriculumcourse(array('curriculumid' => $this->track->curid, 'courseid' => $this->classid));
         // insert assignment record
         $this->data_insert_record();
         if ($this->autoenrol && $this->is_autoenrollable()) {
             // autoenrol all users in the track
             $users = usertrack::get_users($this->trackid);
             if (!empty($users)) {
                 foreach ($users as $user) {
                     $stu_record = new object();
                     $stu_record->userid = $user->userid;
                     $stu_record->user_idnumber = $user->idnumber;
                     $stu_record->classid = $this->classid;
                     $stu_record->enrolmenttime = time();
                     $enrolment = new student($stu_record);
                     // check prerequisites and enrolment limits
                     $enrolment->add(array('prereq' => 1, 'waitlist' => 1));
                 }
             }
         }
     } else {
         // Look for all the curricula course is linked to -
         // then pull up the default system track for each curricula -
         // and add class to each default system track
         $currculums = curriculumcourse_get_list_by_course($this->courseid);
         $currculums = is_array($currculums) ? $currculums : array();
         foreach ($currculums as $recid => $record) {
             // Create default track for curriculum
             $trkojb = new track(array('curid' => $record->curriculumid));
             $trkid = $trkojb->create_default_track();
             // Create track assignment object
             $trkassign = new trackassignmentclass(array('trackid' => $trkid, 'classid' => $this->classid, 'courseid' => $this->courseid));
             // Check if class is already assigned to default track
             if (!$trkassign->is_class_assigned_to_default_track()) {
                 // Determine whether class is required
                 $curcrsobj = new curriculumcourse(array('curriculumid' => $trkassign->track->curid, 'courseid' => $trkassign->courseid));
                 // Get required field and determine if class is autoenrol eligible
                 $trkassign->autoenrol = (1 == $trkassign->cmclass->count_course_assignments($trkassign->cmclass->courseid) and true === $curcrsobj->is_course_required()) ? 1 : 0;
                 // assign class to the curriculum's default track
                 $trkassign->assign_class_to_default_track();
             }
         }
     }
     events_trigger('crlm_track_class_associated', $this);
     return true;
 }