// VPL for Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // VPL for Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with VPL for Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Execute post-uninstall custom actions for VPL * * @package mod_vpl * @copyright 2012 Juan Carlos RodrÃguez-del-Pino * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @author Juan Carlos RodrÃguez-del-Pino <*****@*****.**> */ defined('MOODLE_INTERNAL') || die; require_once $CFG->dirroot . '/mod/vpl/vpl.class.php'; $ret = true; $vpls = $DB->get_records('vpl', null, '', 'id'); foreach ($vpls as $vplinstance) { $vpl = new mod_vpl(null, $vplinstance->id); $ret = $ret && $vpl->delete_all(); } if (!$ret) { print_error('error deleting VPL'); }
/** * Delete an instance by id * * @param int $id Id instance * @return boolean OK **/ function vpl_delete_instance($id) { global $DB; $vpl = new mod_vpl(false, $id); $res = $vpl->delete_all(); //Locate related VPLs and reset its basedon $id to 0 $related = $DB->get_records_select(VPL, 'basedon = ?', array($id), 'id', 'id,basedon'); foreach ($related as $other) { $other->basedon = 0; $DB->update_record(VPL, $other); } return $res; }