/** * The standard form definiton. * @return void. */ public function definition() { $mform = $this->_form; $mform->addElement('submit', 'submit_button', get_string('back', 'tool_coursearchiver')); $data = $this->_customdata['processor_data']; $mform->addElement('hidden', 'formdata'); $mform->setType('formdata', PARAM_RAW); $mform->setDefault('formdata', serialize($data['courses'])); $mform->addElement('header', 'emaillist', get_string('emailselector', 'tool_coursearchiver')); // Do search here and display results. $processor = new tool_coursearchiver_processor(array("mode" => tool_coursearchiver_processor::MODE_GETEMAILS, "data" => $data["courses"])); $processor->execute(tool_coursearchiver_tracker::OUTPUT_HTML, null, $mform, $this); if ($processor->total > 0) { $buttonarray = array(); $buttonarray[] =& $mform->createElement('submit', 'submit_button', get_string('hideemail', 'tool_coursearchiver')); $buttonarray[] =& $mform->createElement('submit', 'submit_button', get_string('archiveemail', 'tool_coursearchiver')); $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false); $mform->closeHeaderBefore('buttonar'); } $this->set_data($data); }
$processor = new tool_coursearchiver_processor(array("mode" => $mode, "data" => $owners)); $processor->execute(tool_coursearchiver_tracker::OUTPUT_HTML); echo $OUTPUT->footer(); break; case tool_coursearchiver_processor::MODE_HIDE: case tool_coursearchiver_processor::MODE_ARCHIVE: header('X-Accel-Buffering: no'); echo $OUTPUT->header(); echo $OUTPUT->heading_with_help(get_string('coursearchiver', 'tool_coursearchiver'), 'coursearchiver', 'tool_coursearchiver'); $courses = unserialize($formdata); if (!is_array($courses) || empty($courses)) { // If 0 courses are selected, show message and form again. $returnurl = new moodle_url('/admin/tool/coursearchiver/step2.php', array("formdata" => $formdata, "error" => get_string('nocoursesselected', 'tool_coursearchiver'))); redirect($returnurl); } $processor = new tool_coursearchiver_processor(array("mode" => $mode, "data" => $courses)); if (!empty($folder)) { $processor->folder = $folder; } $processor->execute(tool_coursearchiver_tracker::OUTPUT_HTML, null); echo $OUTPUT->footer(); break; default: $returnurl = new moodle_url('/admin/tool/coursearchiver/index.php', array("error" => get_string('unknownerror', 'tool_coursearchiver'))); redirect($returnurl); } } } else { if (!empty($formdata) && !empty($mode)) { // FORM 3 SUBMITTED, SHOW FORM 4. header('X-Accel-Buffering: no');
case tool_coursearchiver_processor::MODE_ARCHIVE: $processor = new tool_coursearchiver_processor(array("mode" => $processoroptions['mode'], "data" => $courses)); if (!empty($options['location'])) { $processor->folder = $options['location']; } $processor->execute(tool_coursearchiver_tracker::OUTPUT_CLI); break; case tool_coursearchiver_processor::MODE_HIDEEMAIL: case tool_coursearchiver_processor::MODE_ARCHIVEEMAIL: $owners = array(); foreach ($selected as $s) { $t = explode("_", $s); if (count($t) == 2) { // Both a course and an owner are needed. if (array_key_exists($t[1], $owners)) { $temp = $owners[$t[1]]['courses']; $owners[$t[1]]['courses'] = array_merge($temp, array($t[0] => get_course($t[0]))); } else { $owners[$t[1]]['courses'] = array($t[0] => get_course($t[0])); $owners[$t[1]]['user'] = $DB->get_record("user", array("id" => $t[1])); } } } $processor = new tool_coursearchiver_processor(array("mode" => $processoroptions['mode'], "data" => $owners)); $processor->execute(tool_coursearchiver_tracker::OUTPUT_CLI); break; default: echo "\nFAILED TO CONTINUE"; exit; } echo "\nFINISHED!";