. /** * mod_workshop data generator. * * @package mod_workshop * @category test * @copyright 2013 Marina Glancy * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); /** * mod_workshop data generator class. * * @package mod_workshop * @category test * @copyright 2013 Marina Glancy * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class mod_workshop_generator extends testing_module_generator { public function create_instance($record = null, array $options = null) { global $CFG; require_once($CFG->libdir.'/filelib.php'); $workshopconfig = get_config('workshop'); // Add default values for workshop. $record = (array)$record + array( 'strategy' => $workshopconfig->strategy, 'grade' => $workshopconfig->grade, 'gradinggrade' => $workshopconfig->gradinggrade, 'gradedecimals' => $workshopconfig->gradedecimals, 'nattachments' => 1, 'maxbytes' => $workshopconfig->maxbytes, 'latesubmissions' => 0, 'useselfassessment' => 0, 'overallfeedbackmode' => 1, 'overallfeedbackfiles' => 0, 'overallfeedbackmaxbytes' => $workshopconfig->maxbytes, 'useexamples' => 0, 'examplesmode' => $workshopconfig->examplesmode, 'submissionstart' => 0, 'submissionend' => 0, 'phaseswitchassessment' => 0, 'assessmentstart' => 0, 'assessmentend' => 0, ); if (!isset($record['gradecategory']) || !isset($record['gradinggradecategory'])) { require_once($CFG->libdir.'/gradelib.php'); $courseid = is_object($record['course']) ? $record['course']->id : $record['course']; $gradecategories = grade_get_categories_menu($courseid); reset($gradecategories); $defaultcategory = key($gradecategories); $record += array( 'gradecategory' => $defaultcategory, 'gradinggradecategory' => $defaultcategory ); } if (!isset($record['instructauthorseditor'])) { $record['instructauthorseditor'] = array( 'text' => 'Instructions for submission '.($this->instancecount+1), 'format' => FORMAT_MOODLE, 'itemid' => file_get_unused_draft_itemid() ); } if (!isset($record['instructreviewerseditor'])) { $record['instructreviewerseditor'] = array( 'text' => 'Instructions for assessment '.($this->instancecount+1), 'format' => FORMAT_MOODLE, 'itemid' => file_get_unused_draft_itemid() ); } if (!isset($record['conclusioneditor'])) { $record['conclusioneditor'] = array( 'text' => 'Conclusion '.($this->instancecount+1), 'format' => FORMAT_MOODLE, 'itemid' => file_get_unused_draft_itemid() ); } return parent::create_instance($record, (array)$options); } }