$data->instance = ''; $data->coursemodule = ''; $data->add = $add; $data->return = 0; //must be false if this is an add, go back to course view on cancel $data->sr = $sectionreturn; if (plugin_supports('mod', $data->modulename, FEATURE_MOD_INTRO, true)) { $draftid_editor = file_get_submitted_draft_itemid('introeditor'); file_prepare_draft_area($draftid_editor, null, null, null, null, array('subdirs' => true)); $data->introeditor = array('text' => '', 'format' => FORMAT_HTML, 'itemid' => $draftid_editor); // TODO: add better default } if (plugin_supports('mod', $data->modulename, FEATURE_ADVANCED_GRADING, false) and has_capability('moodle/grade:managegradingforms', $context)) { require_once $CFG->dirroot . '/grade/grading/lib.php'; $data->_advancedgradingdata['methods'] = grading_manager::available_methods(); $areas = grading_manager::available_areas('mod_' . $module->name); foreach ($areas as $areaname => $areatitle) { $data->_advancedgradingdata['areas'][$areaname] = array('title' => $areatitle, 'method' => ''); $formfield = 'advancedgradingmethod_' . $areaname; $data->{$formfield} = ''; } } if (!empty($type)) { //TODO: hopefully will be removed in 2.0 $data->type = $type; } $sectionname = get_section_name($course, $cw); $fullmodulename = get_string('modulename', $module->name); if ($data->section && $course->format != 'site') { $heading = new stdClass(); $heading->what = $fullmodulename;
/** * Prepare the standard module information for a new module instance. * * @param stdClass $course course object * @param string $modulename module name * @param int $section section number * @return array module information about other required data * @since Moodle 3.2 */ function prepare_new_moduleinfo_data($course, $modulename, $section) { global $CFG; list($module, $context, $cw) = can_add_moduleinfo($course, $modulename, $section); $cm = null; $data = new stdClass(); $data->section = $section; // The section number itself - relative!!! (section column in course_sections) $data->visible = $cw->visible; $data->course = $course->id; $data->module = $module->id; $data->modulename = $module->name; $data->groupmode = $course->groupmode; $data->groupingid = $course->defaultgroupingid; $data->id = ''; $data->instance = ''; $data->coursemodule = ''; if (plugin_supports('mod', $data->modulename, FEATURE_MOD_INTRO, true)) { $draftid_editor = file_get_submitted_draft_itemid('introeditor'); file_prepare_draft_area($draftid_editor, null, null, null, null, array('subdirs' => true)); $data->introeditor = array('text' => '', 'format' => FORMAT_HTML, 'itemid' => $draftid_editor); // TODO: add better default } if (plugin_supports('mod', $data->modulename, FEATURE_ADVANCED_GRADING, false) and has_capability('moodle/grade:managegradingforms', $context)) { require_once $CFG->dirroot . '/grade/grading/lib.php'; $data->_advancedgradingdata['methods'] = grading_manager::available_methods(); $areas = grading_manager::available_areas('mod_' . $module->name); foreach ($areas as $areaname => $areatitle) { $data->_advancedgradingdata['areas'][$areaname] = array('title' => $areatitle, 'method' => ''); $formfield = 'advancedgradingmethod_' . $areaname; $data->{$formfield} = ''; } } return array($module, $context, $cw, $cm, $data); }