$record = new stdClass(); $record2 = new stdClass(); $position_lp = new stdClass(); $position_lp->learning_plan = $value; $position_lp->position = $position; $position_lp->timecreated = time(); $position_lp->timemodified = time(); $position_lp->usermodified = $USER->id; $DB->insert_record('local_position_lp',$position_lp); $lp_record = $DB->get_record('learning_learningplan',array('id'=>$value)); $record->lp_id = $value; $record->assignee_id = $USER->id; $userids = $DB->get_fieldset_sql('select userid from {local_userdata} where position='.$position.''); foreach ($userids as $formtid) { $record->u_id = $formtid; $training = learningplan_training($value); foreach ($training as $train) { $studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST); //$manualenrol = enrol_get_plugin('manual'); //$enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'manual')); //$manualenrol->enrol_user($enrol, $record->u_id,$studentroleid); /* * Enrol users to the existing learning plan courses with "learning_plan" enrolment method */ $lplanenrol = new enrol_learning_plan_plugin; $enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'learning_plan')); $lplanenrol->enrol_user($enrol, $record->u_id,$studentroleid,$lp_record->startdate,$lp_record->enddate); $record2->lpt_id = $train->id; $record2->u_id = $record->u_id;
/** * process the mass enrolment * @param csv_import_reader $cir an import reader created by caller * @param Object $course a course record from table mdl_course * @param Object $context course context instance * @param Object $data data from a moodleform * @return string log of operations */ function bulk_enroll($cir, $data) { global $CFG,$DB,$USER; require_once ($CFG->dirroot . '/group/lib.php'); $result = ''; $roleid = $data->roleassign; $useridfield = $data->firstcolumn; $enrollablecount = 0; $createdgroupscount = 0; $createdgroupingscount = 0; $createdgroups = ''; $createdgroupings = ''; $plugin = enrol_get_plugin('manual'); // init csv import helper $cir->init(); while ($fields = $cir->next()) { $a = new StdClass(); if (empty ($fields)) continue; // 1rst column = id Moodle (idnumber,username or email) // get rid on eventual double quotes unfortunately not done by Moodle CSV importer $fields[0]= str_replace('"', '', trim($fields[0])); $fields[1]= str_replace('"', '', trim($fields[1])); if (!$lplan = $DB->get_record('learning_learningplan', array('shortname' => $fields[0]))) { $result .= '<div class="alert alert-error">'.get_string('im:learningplan_unknown', 'block_learning_plan', $fields[1] ). '</div>'; continue; } if (!$user = $DB->get_record('user', array($useridfield => $fields[1]))) { $result .= '<div class="alert alert-error">'.get_string('im:user_unknown', 'block_learning_plan', $fields[1] ). '</div>'; continue; } if(!$DB->record_exists_sql("select id from {local_userdata} where costcenterid=$lplan->costcenter AND userid=$user->id")){ echo $costcentername = $DB->get_field('local_costcenter','fullname',array('id'=>$lplan->costcenter)); $cs_object = new stdClass(); $cs_object->csname = $costcentername; $cs_object->user = fullname($user); $result .= '<div class="alert alert-error">'.get_string('im:user_notcostcenter', 'local_mass_enroll',$cs_object ). '</div>'; continue; } //already enroled ? if ($DB->record_exists('learning_user_learningplan',array('u_id'=>$user->id, 'lp_id'=>$lplan->id))) { $result .= '<div class="alert alert-error">'.get_string('im:already_in', 'local_mass_enroll', fullname($user)). '</div>'; } else { $record = new stdClass(); $record2 = new stdClass(); $record->lp_id = $lplan->id; $record->assignee_id = $USER->id; $record->u_id = $user->id; $training = learningplan_training($lplan->id); if(!empty($training)){ foreach ($training as $train) { $studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST); $manualenrol = enrol_get_plugin('manual'); $enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'manual')); $manualenrol->enrol_user($enrol, $user->id,$studentroleid,$lplan->startdate,$lplan->enddate); $record2->lpt_id = $train->id; $record2->u_id = $user->id; $record2->timemodified = time(); // Insert in learning_user_trainingplan $DB->insert_record('learning_user_trainingplan', $record2); } } $record->timemodified = time(); // Insert in learning_user_learningplan if(!$DB->record_exists('learning_user_learningplan',array('lp_id'=>$lplan->id,'u_id'=>$user->id))) $DB->insert_record('learning_user_learningplan', $record); $result .= '<div class="alert alert-success">'.get_string('im:enrolled_ok', 'local_mass_enroll', fullname($user)).'</div>'; $enrollablecount++; } } $result .= '<br />'; $result .= get_string('im:stats_i', 'local_mass_enroll', $enrollablecount) . ""; return $result; }
} echo $OUTPUT->confirm(get_string('record_delete', 'block_learning_plan'), '/blocks/learning_plan/view.php?viewpage=4&rem=rem&delete=' . $id . '&id=' . $lp, '/blocks/learning_plan/view.php?viewpage=4'); } break; case ASSIGN_PLANTOUSER: if ($fromform = data_submitted()) { // Insert Record $record = new stdClass(); $record2 = new stdClass(); $record->lp_id = $fromform->l_id; $record->assignee_id = $USER->id; $lp_record = $DB->get_record('learning_learningplan',array('id'=>$fromform->l_id)); $studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST); foreach ($fromform->u_id as $formtid) { $record->u_id = $formtid; $training = learningplan_training($fromform->l_id); if(!empty($training)){ foreach ($training as $train) { /* * Enrol users to the existing learning plan courses */ $lplanenrol = new enrol_learning_plan_plugin; $enrol = $DB->get_record('enrol', array('courseid'=>$train->t_id, 'enrol'=>'learning_plan')); $lplanenrol->enrol_user($enrol, $record->u_id,$studentroleid,$lp_record->startdate,$lp_record->enddate); $record2->lpt_id = $train->id; $record2->u_id = $record->u_id; $record2->timemodified = time(); // Insert in learning_user_trainingplan $DB->insert_record('learning_user_trainingplan', $record2); } }
function lp_unassigninguser_fromlearningplan($fromform, $lp) { global $DB, $USER, $PAGE; $flag = 0; foreach ($fromform as $user) { // $training = learningplan_training($user->lp_id); foreach ($training as $train) { $studentroleid = $DB->get_field('role', 'id', array('shortname' => 'student'), MUST_EXIST); $manualenrol = enrol_get_plugin('manual'); $enrol = $DB->get_record('enrol', array('courseid' => $train->t_id, 'enrol' => 'manual')); $manualenrol->unenrol_user($enrol, $record->u_id, $studentroleid); } $DB->delete_records('learning_user_learningplan', array('u_id' => $user->u_id, 'lp_id' => $user->lp_id)); $flag = 1; } return $flag; }