Ejemplo n.º 1
0
 function action_savenew()
 {
     $users = cm_get_param('users', array());
     $clsid = required_param('id', PARAM_INT);
     if (!empty($users)) {
         foreach ($users as $uid => $user) {
             if (!empty($user['assign'])) {
                 $insrecord = array();
                 $insrecord['classid'] = $clsid;
                 $insrecord['userid'] = $uid;
                 $startyear = $user['startyear'];
                 $startmonth = $user['startmonth'];
                 $startday = $user['startday'];
                 $insrecord['assigntime'] = mktime(0, 0, 0, $startmonth, $startday, $startyear);
                 $endyear = $user['endyear'];
                 $endmonth = $user['endmonth'];
                 $endday = $user['endday'];
                 $insrecord['completetime'] = mktime(0, 0, 0, $endmonth, $endday, $endyear);
                 $newins = new instructor($insrecord);
                 if (($status = $newins->add()) !== true) {
                     if (!empty($status->message)) {
                         echo cm_error('Record not created. Reason: ' . $status->message);
                     } else {
                         echo cm_error('Record not created.');
                     }
                 }
             }
         }
     }
     $this->action_default();
 }
Ejemplo n.º 2
0
 /**
  * When a role is selected from the sync configuration, create class
  * enrolments for the specified role assignments.
  */
 static function instructor_sync_role_set()
 {
     require_once CURMAN_DIRLOCATION . '/lib/instructor.class.php';
     global $CURMAN;
     $contextlevel = context_level_base::get_custom_context_level('class', 'block_curr_admin');
     // find all class role assignments
     $sql = "SELECT ra.id, cu.id AS userid, ctx.instanceid AS classid\n                  FROM {$CURMAN->db->prefix_table('role_assignments')} ra\n                  JOIN {$CURMAN->db->prefix_table('user')} mu ON ra.userid = mu.id\n                  JOIN {$CURMAN->db->prefix_table('crlm_user')} cu ON mu.idnumber = cu.idnumber\n                  JOIN {$CURMAN->db->prefix_table('context')} ctx ON ctx.id = ra.contextid\n                 WHERE ctx.contextlevel = {$contextlevel}\n                   AND ra.roleid = {$CURMAN->config->enrolment_role_sync_instructor_role}";
     $instructorswanted = $CURMAN->db->get_records_sql($sql);
     $instructorswanted = $instructorswanted ? $instructorswanted : array();
     foreach ($instructorswanted as $instructor) {
         unset($instructor->id);
         if (!instructor::user_is_instructor_of_class($instructor->userid, $instructor->classid)) {
             $instructor = new instructor($instructor);
             $instructor->add();
         }
     }
     return true;
 }