function xmldb_customlabel_upgrade($oldversion = 0) { global $CFG, $THEME, $DB; $result = true; $dbman = $DB->get_manager(); //===== 1.9.0 upgrade line ======// if ($result && $oldversion < 2012062401) { // Define field fallbacktype to be added to customlabel. $table = new xmldb_table('customlabel'); $field = new xmldb_field('fallbacktype'); $field->set_attributes(XMLDB_TYPE_CHAR, '32', null, null, null, null, 'labelclass'); // Launch add field parent. $result = $result || $dbman->add_field($table, $field); // customlabel savepoint reached. upgrade_mod_savepoint($result, 2012062401, 'customlabel'); } if ($result && $oldversion < 2013041802) { // Regenerates all contents to match template changes. $sql = "\n SELECT DISTINCT\n c.id,\n c.shortname,\n c.fullname,\n c.idnumber,\n c.summary,\n c.category,\n c.summaryformat\n FROM\n {course} c,\n {course_modules} cm,\n {modules} m\n WHERE\n c.id = cm.course AND\n cm.module = m.id AND\n m.name = 'customlabel'\n "; $courses = $DB->get_records_sql($sql); if ($courses) { echo '<pre>'; foreach ($courses as $c) { customlabel_course_preprocess_filepickers($c); customlabel_course_regenerate($c, 'all'); } echo '</pre>'; } upgrade_mod_savepoint($result, 2013041802, 'customlabel'); } return $result; }
if ($form->is_cancelled()) { redirect($CFG->wwwroot . '/admin/settings.php?section=modsettingcustomlabel'); } echo $OUTPUT->header(); if ($data = $form->get_data()) { echo $OUTPUT->container_start('emptyleftspace'); echo $OUTPUT->heading(get_string('updatelabels', 'customlabel', get_string('modulename', 'customlabel')), 1); $courseids = clean_param_array($data->courses, PARAM_INT); $labelclasses = clean_param_array($data->labelclasses, PARAM_RAW); if (empty($courseids)) { $courses = array(); } else { $courses = $DB->get_records_list('course', 'id', $courseids); } if (empty($labelclasses)) { $labelclasses = array(); } echo "<pre>"; foreach ($courses as $courseid => $course) { mtrace("processing course {$courseid} : {$course->shortname}"); customlabel_course_regenerate($course, $labelclasses); } echo '</pre>'; echo $OUTPUT->container_end(); echo $OUTPUT->continue_button(new moodle_url('/mod/customlabel/admin_updateall.php')); } else { // Print form. echo $OUTPUT->heading(get_string('updatelabels', 'customlabel', get_string('modulename', 'customlabel')), 1); $form->display(); } echo $OUTPUT->footer();