--- /Applications/MAMP/htdocs/moodle19/mod/workshop/lib.php 2009-11-14 01:02:52.000000000 +0100 +++ /Users/daniele/Desktop/dev/workshop/lib.php 2009-09-01 08:54:12.000000000 +0200 @@ -1869,4 +1861,62 @@ return array('moodle/site:accessallgroups', 'moodle/site:viewfullnames'); } +/** + * Called by course/reset.php + * @param $mform form passed by reference + */ +function workshop_reset_course_form_definition(&$mform) { + + $mform->addElement('header', ' workshopheader', get_string('modulenameplural', 'workshop')); + $mform->addElement('checkbox', 'reset_workshop_all', get_string('resetworkshopall','workshop')); +} + +/** + * Course reset form defaults. + */ +function workshop_reset_course_form_defaults($course) { + return array('reset_certificate_all'=>1); +} + +/** + * This function is used by the reset_course_userdata function in moodlelib. + * This function will remove all issued certificates from the specified course + * @param $data the data submitted from the reset course. + * @return array status array + */ +function workshop_reset_userdata($data) { + global $CFG; + + $componentstr = get_string('modulenameplural', 'workshop'); + $typesstr = get_string('resetworkshopall', 'workshop'); + $status = array(); + + if (!empty($data->reset_workshop_all)) { + /// Delete records + $allworkshopssql= "SELECT w.id + FROM {$CFG->prefix}workshop w + WHERE w.course={$data->courseid}"; + /// Delete records + delete_records_select('workshop_assessments', "workshopid IN ($allworkshopssql)"); + delete_records_select('workshop_comments', "workshopid IN ($allworkshopssql)"); + delete_records_select('workshop_elements', "workshopid IN ($allworkshopssql)"); + delete_records_select('workshop_grades', "workshopid IN ($allworkshopssql)"); + delete_records_select('workshop_rubrics', "workshopid IN ($allworkshopssql)"); + delete_records_select('workshop_stockcomments', "workshopid IN ($allworkshopssql)"); + delete_records_select('workshop_submissions', "workshopid IN ($allworkshopssql)"); + + + /// Delete moodledata + $basedir = $CFG->dataroot.'/'.$data->courseid.'/'.$CFG->moddata.'/workshop/'; + remove_dir("$basedir"); + + /// Fill return info + $status[] = array('component'=>$componentstr, 'item'=>$typesstr, 'error'=>false); + } + + + return $status; + +} + ?>