|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 // This file is part of Moodle - http://moodle.org/ 00004 // 00005 // Moodle is free software: you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation, either version 3 of the License, or 00008 // (at your option) any later version. 00009 // 00010 // Moodle is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 00017 00033 function xmldb_workshopform_rubric_upgrade($oldversion) { 00034 global $CFG, $DB, $OUTPUT; 00035 00036 $dbman = $DB->get_manager(); 00037 00038 if ($oldversion < 2010091700) { 00039 // clean up orphaned dimensions 00040 $orphans = $DB->get_records_sql("SELECT d.id 00041 FROM {workshopform_rubric} d 00042 LEFT JOIN {workshop} w ON d.workshopid = w.id 00043 WHERE w.id IS NULL"); 00044 if (!empty($orphans)) { 00045 echo $OUTPUT->notification('Orphaned assessment form elements found - cleaning...'); 00046 $DB->delete_records_list('workshopform_rubric_levels', 'dimensionid', array_keys($orphans)); 00047 $DB->delete_records_list('workshopform_rubric', 'id', array_keys($orphans)); 00048 } 00049 00050 // clean up orphaned configurations 00051 $orphans = $DB->get_records_sql("SELECT c.id 00052 FROM {workshopform_rubric_config} c 00053 LEFT JOIN {workshop} w ON c.workshopid = w.id 00054 WHERE w.id IS NULL"); 00055 if (!empty($orphans)) { 00056 echo $OUTPUT->notification('Orphaned configuration found - cleaning...'); 00057 $DB->delete_records_list('workshopform_rubric_config', 'id', array_keys($orphans)); 00058 } 00059 00060 upgrade_plugin_savepoint(true, 2010091700, 'workshopform', 'rubric'); 00061 } 00062 00063 // Moodle v2.1.0 release upgrade line 00064 // Put any upgrade step following this 00065 00066 // Moodle v2.2.0 release upgrade line 00067 // Put any upgrade step following this 00068 00069 return true; 00070 }