コード例 #1
0
$PAGE->set_context($context);
$PAGE->set_pagelayout('standard');
$PAGE->set_title(get_string('ins_pluginname', 'local_metadata'));
$heading = sprintf(get_string('instructor_heading', 'local_metadata'), $course->shortname, $course->fullname);
$PAGE->set_heading($heading);
// Create urls
$general_url = create_insview_url('general', $courseId);
$assessment_url = create_insview_url('assessment', $courseId);
$session_url = create_insview_url('session', $courseId);
$syllabus_url = create_insview_url('syllabus', $courseId);
$session_url->param('page', $session_page);
$PAGE->set_url($session_url);
$PAGE->requires->css('/local/metadata/insview_style.css');
$PAGE->requires->css('/local/metadata/session_element_style.css');
// Create form
$sessions = get_table_data_for_course('coursesession');
$session_form = new session_form($session_url, array('sessions' => $sessions));
// Case where they cancelled the form. Just redirect to it, to reset values
if ($session_form->is_cancelled()) {
    redirect($session_url);
}
// Submitted the data
if ($data = $session_form->get_data()) {
    if ($session_form->sessions_were_uploaded()) {
        $session_form->upload_sessions();
    } else {
        $session_form->save_data($data);
    }
    $session_page += $session_form->get_page_change();
    $session_url->param('page', $session_page);
    redirect($session_url);
コード例 #2
0
$PAGE->set_context($context);
$PAGE->set_pagelayout('standard');
$PAGE->set_title(get_string('ins_pluginname', 'local_metadata'));
$heading = sprintf(get_string('instructor_heading', 'local_metadata'), $course->shortname, $course->fullname);
$PAGE->set_heading($heading);
// Create urls
$general_url = create_insview_url('general', $courseId);
$assessment_url = create_insview_url('assessment', $courseId);
$session_url = create_insview_url('session', $courseId);
$syllabus_url = create_insview_url('syllabus', $courseId);
$assessment_url->param('page', $assessment_page);
$PAGE->set_url($assessment_url);
$PAGE->requires->css('/local/metadata/insview_style.css');
$PAGE->requires->css('/local/metadata/assessment_element_style.css');
// Create forms
$assessments = get_table_data_for_course('courseassessment');
$assessment_form = new assessment_form($assessment_url, array('assessments' => $assessments));
// Case where they cancelled the form. Just redirect to it, to reset values
if ($assessment_form->is_cancelled()) {
    redirect($assessment_url);
}
// Submitted the data
if ($data = $assessment_form->get_data()) {
    if ($assessment_form->rubrik_was_uploaded()) {
        $index = 'gradingDescription_uploaded[0]';
        $assessment_form->upload_rubrik($index);
    }
    if ($assessment_form->assessments_were_uploaded()) {
        $assessment_form->upload_assessments();
    }
    $assessment_form->save_assessment_list($data);
コード例 #3
0
 /**
  *  Will set up a repeating template, with elements for each piece of required data
  *
  *  Does not set defaults for the elements.
  *
  *  @param int $numSessions number of Sessions that have been created for the course
  */
 private function add_session_repeat_template($numSessions)
 {
     global $DB;
     $mform = $this->_form;
     $repeatoptions = array();
     $repeatarray = array();
     $repeatarray[] = $mform->createElement('header', 'sessionheader');
     $repeatarray[] = $mform->createElement('text', 'sessiontitle', get_string('session_title', 'local_metadata'));
     $repeatarray[] = $mform->createElement('text', 'sessionguestteacher', get_string('session_guest_teacher', 'local_metadata'));
     $repeatarray[] = $mform->createElement('select', 'sessiontype', get_string('session_type', 'local_metadata'), get_session_types());
     $repeatarray[] = $mform->createElement('select', 'sessionlength', get_string('session_length', 'local_metadata'), get_session_lengths());
     $repeatarray[] = $mform->createElement('date_selector', 'sessiondate', get_string('session_date', 'local_metadata'));
     $strategies = get_teaching_strategies();
     $teachingStrategyEl = $mform->createElement('select', 'sessionteachingstrategy', get_string('session_teaching_strategy', 'local_metadata'), $strategies, array('size' => count($strategies)));
     $teachingStrategyEl->setMultiple(true);
     $repeatarray[] = $teachingStrategyEl;
     // Set up the select for learning objectives
     // Will separate them based on type
     // Then, everytime need to deal with them, will also deal with them separated by type
     $learningObjectives = get_course_learning_objectives();
     $learningObjectivesList = array();
     foreach ($learningObjectives as $learningObjective) {
         $learningObjectivesList[$learningObjective->objectivetype][$learningObjective->id] = $learningObjective->objectivename;
     }
     $learningObjectiveTypes = get_learning_objective_types();
     foreach ($learningObjectiveTypes as $learningObjectiveType) {
         $options = array();
         if (array_key_exists($learningObjectiveType, $learningObjectivesList)) {
             $options = $learningObjectivesList[$learningObjectiveType];
         }
         $learningObjectivesEl = $mform->createElement('select', 'learning_objective_' . $learningObjectiveType, get_string('learning_objective_' . $learningObjectiveType, 'local_metadata'), $options);
         $learningObjectivesEl->setMultiple(true);
         $repeatarray[] = $learningObjectivesEl;
         $repeatoptions['learning_objective_' . $learningObjectiveType]['helpbutton'] = array('multi_select_help', 'local_metadata');
     }
     // Set up the select for assessments
     $assessments = get_table_data_for_course('courseassessment');
     $assessmentsList = array();
     foreach ($assessments as $assessment) {
         $assessmentsList[$assessment->id] = $assessment->assessmentname;
     }
     $assessmentsEl = $mform->createElement('select', 'assessments', get_string('related_assessments', 'local_metadata'), $assessmentsList);
     $assessmentsEl->setMultiple(true);
     $repeatarray[] = $assessmentsEl;
     $this->setup_topic_options($mform, $repeatarray, $repeatoptions);
     $repeatarray[] = $mform->createElement('submit', 'delete_session', get_string('deletesession', 'local_metadata'));
     $this->add_recurring_element_nosubmit_button($mform, 'delete_session');
     // Add needed hidden elements
     // Stores the id for each element
     $repeatarray[] = $mform->createElement('hidden', 'coursesession_id', -1);
     $repeatarray[] = $mform->createElement('hidden', 'was_deleted', false);
     $repeatoptions['sessionheader']['default'] = get_string('new_session_header', 'local_metadata');
     // Moodle complains if some elements aren't given a type
     $repeatoptions['sessiontitle']['type'] = PARAM_TEXT;
     $repeatoptions['sessionguestteacher']['type'] = PARAM_TEXT;
     $repeatoptions['all_topics_text_array']['type'] = PARAM_TEXT;
     $repeatoptions['new_topic']['type'] = PARAM_TEXT;
     $repeatoptions['coursesession_id']['type'] = PARAM_INT;
     $repeatoptions['was_deleted']['type'] = PARAM_RAW;
     $repeatoptions['sessionteachingstrategy']['helpbutton'] = array('session_teaching_strategy', 'local_metadata');
     // Add the repeating elements to the form
     $this->repeat_elements($repeatarray, $numSessions, $repeatoptions, 'sessions_list', 'sessions_list_add_element', 1, get_string('add_session', 'local_metadata'));
 }
コード例 #4
0
 /**
  * Edit the number of course session or assessment.
  * @param string $course_format					either 'session' or 'assessment'
  * @param integer $new_course_format_number		a new number of session or assessment
  * @return void
  */
 private function edit_course_format($course_format, $new_course_format_number)
 {
     global $DB, $CFG, $USER;
     //Declare them if you need them
     global $course, $courseId;
     $current_course_format = $DB->count_records($course_format, array('courseid' => $courseId));
     if ($new_course_format_number > $current_course_format) {
         // insert new record
         $new_add = $new_course_format_number - $current_course_format;
         for ($i = 0; $i < $new_add; $i++) {
             $this->insert_number_of_course_format($course_format);
         }
     } else {
         // delete the latest record
         $number_deleted = $current_course_format - $new_course_format_number;
         for ($i = 0; $i < $number_deleted; $i++) {
             $exist_sessions = get_table_data_for_course($course_format);
             $delete_session = $DB->delete_records($course_format, array('id' => end($exist_sessions)->id));
         }
     }
 }