public function create_instance($record = null, array $options = null) { global $CFG, $USER; require_once $CFG->dirroot . '/mod/scorm/lib.php'; require_once $CFG->dirroot . '/mod/scorm/locallib.php'; $cfgscorm = get_config('scorm'); // Add default values for scorm. $record = (array) $record + array('scormtype' => SCORM_TYPE_LOCAL, 'packagefile' => '', 'packagefilepath' => $CFG->dirroot . '/mod/scorm/tests/packages/singlescobasic.zip', 'packageurl' => '', 'updatefreq' => SCORM_UPDATE_NEVER, 'popup' => 0, 'width' => $cfgscorm->framewidth, 'height' => $cfgscorm->frameheight, 'skipview' => $cfgscorm->skipview, 'hidebrowse' => $cfgscorm->hidebrowse, 'displaycoursestructure' => $cfgscorm->displaycoursestructure, 'hidetoc' => $cfgscorm->hidetoc, 'nav' => $cfgscorm->nav, 'navpositionleft' => $cfgscorm->navpositionleft, 'navpositiontop' => $cfgscorm->navpositiontop, 'displayattemptstatus' => $cfgscorm->displayattemptstatus, 'timeopen' => 0, 'timeclose' => 0, 'grademethod' => GRADESCOES, 'maxgrade' => $cfgscorm->maxgrade, 'maxattempt' => $cfgscorm->maxattempt, 'whatgrade' => $cfgscorm->whatgrade, 'forcenewattempt' => $cfgscorm->forcenewattempt, 'lastattemptlock' => $cfgscorm->lastattemptlock, 'forcecompleted' => $cfgscorm->forcecompleted, 'auto' => $cfgscorm->auto); // The 'packagefile' value corresponds to the draft file area ID. If not specified, create from packagefilepath. if (empty($record['packagefile']) && $record['scormtype'] === SCORM_TYPE_LOCAL) { if (!isloggedin() || isguestuser()) { throw new coding_exception('Scorm generator requires a current user'); } if (!file_exists($record['packagefilepath'])) { throw new coding_exception("File {$record['packagefilepath']} does not exist"); } $usercontext = context_user::instance($USER->id); // Pick a random context id for specified user. $record['packagefile'] = file_get_unused_draft_itemid(); // Add actual file there. $filerecord = array('component' => 'user', 'filearea' => 'draft', 'contextid' => $usercontext->id, 'itemid' => $record['packagefile'], 'filename' => basename($record['packagefilepath']), 'filepath' => '/'); $fs = get_file_storage(); $fs->create_file_from_pathname($filerecord, $record['packagefilepath']); } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; if (!isset($record->toolurl)) { $record->toolurl = 'http://www.imsglobal.org/developers/LTI/test/v1p1/tool.php'; } if (!isset($record->resourcekey)) { $record->resourcekey = '12345'; } if (!isset($record->password)) { $record->password = '******'; } if (!isset($record->grade)) { $record->grade = 100; } if (!isset($record->instructorchoicesendname)) { $record->instructorchoicesendname = 1; } if (!isset($record->instructorchoicesendemailaddr)) { $record->instructorchoicesendemailaddr = 1; } if (!isset($record->instructorchoiceacceptgrades)) { $record->instructorchoiceacceptgrades = 1; } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; require_once $CFG->dirroot . '/mod/ouwiki/locallib.php'; $record = (object) (array) $record; if (!isset($record->subwikis) && !isset($options['subwikis'])) { $record->subwikis = OUWIKI_SUBWIKIS_SINGLE; } if (!isset($record->annotation) && !isset($options['annotation'])) { $record->annotation = 1; } $this->modcount++; if (!isset($record->name) && !isset($options['name'])) { $record->name = 'OUWIKI' . $this->modcount; } else { if (isset($options['name'])) { $record->name = $options['name']; // Name must be in $record. } } if (!isset($record->grade) && !isset($options['grade'])) { $record->grade = 0; } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; if (!isset($record->toolurl)) { $record->toolurl = ''; } if (!isset($record->resourcekey)) { $record->resourcekey = '12345'; } if (!isset($record->password)) { $record->password = '******'; } if (!isset($record->grade)) { $record->grade = 100; } if (!isset($record->instructorchoicesendname)) { $record->instructorchoicesendname = 1; } if (!isset($record->instructorchoicesendemailaddr)) { $record->instructorchoicesendemailaddr = 1; } if (!isset($record->instructorchoiceacceptgrades)) { $record->instructorchoiceacceptgrades = 1; } return parent::create_instance($record, (array) $options); }
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); }
/** * Create new certificate module instance * @param array|stdClass $record data for module being generated. Requires 'course' key * (an id or the full object). Also can have any fields from add module form. * @param null|array $options general options for course module. Since 2.6 it is * possible to omit this argument by merging options into $record * @return stdClass record from module-defined table with additional field * cmid (corresponding id in course_modules table) */ public function create_instance($record = null, array $options = null) { global $CFG; require_once "{$CFG->dirroot}/mod/iclickerregistration/lib.php"; $this->instancecount; $i = $this->instancecount; $record = (object) (array) $record; $options = (array) $options; if (empty($record->course)) { throw new coding_exception('module generator requires $record->course'); } $defaults = array(); $defaults['name'] = get_string('pluginname', 'iclickerregistration'); $defaults['intro'] = 'Test certificate ' . $i; $defaults['introformat'] = FORMAT_MOODLE; foreach ($defaults as $field => $value) { if (!isset($record->{$field})) { $record->{$field} = $value; } } if (isset($options['idnumber'])) { $record->cmidnumber = $options['idnumber']; } else { $record->cmidnumber = ''; } // Do work to actually add the instance. return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; require_once $CFG->dirroot . '/mod/hsuforum/lib.php'; $record = (object) (array) $record; if (!isset($record->type)) { $record->type = 'general'; } if (!isset($record->anonymous)) { $record->anonymous = 0; } if (!isset($record->gradetype)) { $record->gradetype = HSUFORUM_GRADETYPE_NONE; } if (!isset($record->assessed)) { $record->assessed = 0; } if (!isset($record->scale)) { $record->scale = 0; } if (!isset($record->forcesubscribe)) { $record->forcesubscribe = HSUFORUM_CHOOSESUBSCRIBE; } return parent::create_instance($record, (array) $options); }
/** * Creates new forumng module instance. * * @param array|stdClass $record Resource module record, as from form * @param array $options Standard options about how to create it * @return stdClass Activity record, with extra cmid field */ public function create_instance($record = null, array $options = null) { global $CFG; require_once $CFG->dirroot . '/mod/forumng/lib.php'; // Count generated modules. $i = $this->instancecount + 1; // Ensure the record can be modified without affecting calling code. $record = (object) (array) $record; $options = (array) $options; // Course is required. if (empty($record->course)) { throw new coding_exception('module generator requires $record->course'); } // Fill in optional values if not specified. if (!isset($record->name)) { $record->name = get_string('pluginname', 'forumng') . ' ' . $i; } if (!isset($record->intro)) { $record->intro = 'Test forum ' . $i; } if (!isset($record->introformat)) { $record->introformat = FORMAT_MOODLE; } if (isset($options['idnumber'])) { $record->cmidnumber = $options['idnumber']; } // Now actually add the instance. return parent::create_instance($record, $options); }
public function create_instance($record = null, array $options = null) { global $CFG, $SITE; require_once $CFG->dirroot . '/mod/oublog/locallib.php'; $record = (object) (array) $record; if (empty($record->course)) { mtrace('Called mod_oublog generator create_instance() without $record->course.'); $record->course = $SITE; } if (!isset($record->maxvisibility) && !isset($options['maxvisibility'])) { $record->maxvisibility = OUBLOG_VISIBILITY_COURSEUSER; } if (!isset($record->allowcomments) && !isset($options['allowcomments'])) { $record->allowcomments = 1; } if (!isset($record->individual) && !isset($options['individual'])) { $record->individual = OUBLOG_NO_INDIVIDUAL_BLOGS; } $this->modcount++; if (!isset($record->name) && !isset($options['name'])) { $record->name = 'OUBLOG' . $this->modcount; } else { if (isset($options['name'])) { $record->name = $options['name']; // Name must be in $record. } } if (!isset($record->grade) && !isset($options['grade'])) { $record->grade = 0; } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; // Add default values for glossary. $record = (array) $record + array('globalglossary' => 0, 'mainglossary' => 0, 'defaultapproval' => $CFG->glossary_defaultapproval, 'allowduplicatedentries' => $CFG->glossary_dupentries, 'allowcomments' => $CFG->glossary_allowcomments, 'usedynalink' => $CFG->glossary_linkbydefault, 'displayformat' => 'dictionary', 'approvaldisplayformat' => 'default', 'entbypage' => !empty($CFG->glossary_entbypage) ? $CFG->glossary_entbypage : 10, 'showalphabet' => 1, 'showall' => 1, 'showspecial' => 1, 'allowprintview' => 1, 'rsstype' => 0, 'rssarticles' => 0, 'grade' => 100, 'assessed' => 0); return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; require_once $CFG->libdir . '/resourcelib.php'; // Add default values for url. $record = (array) $record + array('display' => RESOURCELIB_DISPLAY_AUTO, 'externalurl' => 'http://moodle.org/'); return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; $defaultsettings = array('questiontime' => 30); foreach ($defaultsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; $defaultsettings = array('timecreated' => time(), 'timemodified' => time(), 'useritemsallowed' => 1, 'teacheredit' => CHECKLIST_MARKING_STUDENT, 'duedatesoncalendar' => 0, 'teachercomments' => 1, 'maxgrade' => 100, 'autopopulate' => CHECKLIST_AUTOPOPULATE_NO, 'autoupdate' => CHECKLIST_AUTOUPDATE_YES, 'completionpercent' => 0, 'emailoncomplete' => 0, 'lockteachermarks' => 0); foreach ($defaultsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; // Add default values for lesson. $record = (array) $record + array('progressbar' => 0, 'ongoing' => 0, 'displayleft' => 0, 'displayleftif' => 0, 'slideshow' => 0, 'maxanswers' => $CFG->lesson_maxanswers, 'feedback' => 0, 'activitylink' => 0, 'available' => 0, 'deadline' => 0, 'usepassword' => 0, 'password' => '', 'dependency' => 0, 'timespent' => 0, 'completed' => 0, 'gradebetterthan' => 0, 'modattempts' => 0, 'review' => 0, 'maxattempts' => 1, 'nextpagedefault' => $CFG->lesson_defaultnextpage, 'maxpages' => 0, 'practice' => 0, 'custom' => 1, 'retake' => 0, 'usemaxgrade' => 0, 'minquestions' => 0, 'grade' => 100); if (!isset($record['mediafile'])) { require_once $CFG->libdir . '/filelib.php'; $record['mediafile'] = file_get_unused_draft_itemid(); } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; $defaultsettings = array('alwaysshowdescription' => 1, 'submissiondrafts' => 1, 'requiresubmissionstatement' => 0, 'sendnotifications' => 0, 'sendstudentnotifications' => 1, 'sendlatenotifications' => 0, 'duedate' => 0, 'allowsubmissionsfromdate' => 0, 'grade' => 100, 'cutoffdate' => 0, 'teamsubmission' => 0, 'requireallteammemberssubmit' => 0, 'teamsubmissiongroupingid' => 0, 'blindmarking' => 0, 'attemptreopenmethod' => 'none', 'maxattempts' => -1, 'markingworkflow' => 0, 'markingallocation' => 0); foreach ($defaultsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; if (!isset($record->assessed)) { $record->assessed = 0; } if (!isset($record->scale)) { $record->scale = 0; } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $default_values = self::get_default_values(); // set default values for unspecified attributes foreach ($default_values as $key => $value) { if (!isset($record[$key])) { $record[$key] = $value; } } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; $defaultsettings = array('intro' => "", 'introformat' => 1, 'grade' => 7, 'grademin' => 1, 'custommarks' => "", 'anonymous' => 0); foreach ($defaultsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; $record = (object) (array) $record; $defaultsettings = array('url' => '', 'skin' => '@default.xml', 'maxattempts' => -1, 'width' => 800, 'height' => 600, 'avaluation' => 'score', 'maxgrade' => 0, 'grade' => 100, 'lang' => $CFG->lang, 'exiturl' => "", 'timeavailable' => time(), 'timedue' => 0); foreach ($defaultsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { // Add default values for folder. $record = (array) $record + array('display' => 0); if (!isset($record['showexpanded'])) { $record['showexpanded'] = get_config('folder', 'showexpanded'); } if (!isset($record['files'])) { $record['files'] = file_get_unused_draft_itemid(); } return parent::create_instance($record, (array) $options); }
/** * Creates a mod_data instance * * @param array $record * @param array $options * @return StdClass */ public function create_instance($record = null, array $options = null) { // Note, the parent class does not type $record to cast to array and then to object. $record = (object) (array) $record; if (!isset($record->assessed)) { $record->assessed = 0; } if (!isset($record->scale)) { $record->scale = 0; } return parent::create_instance((array) $record, $options); }
public function create_instance($record = null, array $options = null) { global $CFG; // Add default values for lesson. $lessonconfig = get_config('mod_lesson'); $record = (array) $record + array('progressbar' => $lessonconfig->progressbar, 'ongoing' => $lessonconfig->ongoing, 'displayleft' => $lessonconfig->displayleftmenu, 'displayleftif' => $lessonconfig->displayleftif, 'slideshow' => $lessonconfig->slideshow, 'maxanswers' => $lessonconfig->maxanswers, 'feedback' => $lessonconfig->defaultfeedback, 'activitylink' => 0, 'available' => 0, 'deadline' => 0, 'usepassword' => 0, 'password' => '', 'dependency' => 0, 'timespent' => 0, 'completed' => 0, 'gradebetterthan' => 0, 'modattempts' => $lessonconfig->modattempts, 'review' => $lessonconfig->displayreview, 'maxattempts' => $lessonconfig->maximumnumberofattempts, 'nextpagedefault' => $lessonconfig->defaultnextpage, 'maxpages' => $lessonconfig->numberofpagestoshow, 'practice' => $lessonconfig->practice, 'custom' => $lessonconfig->customscoring, 'retake' => $lessonconfig->retakesallowed, 'usemaxgrade' => $lessonconfig->handlingofretakes, 'minquestions' => $lessonconfig->minimumnumberofquestions, 'grade' => 100); if (!isset($record['mediafile'])) { require_once $CFG->libdir . '/filelib.php'; $record['mediafile'] = file_get_unused_draft_itemid(); } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; require_once $CFG->dirroot . '/mod/quiz/locallib.php'; $record = (object) (array) $record; $defaultquizsettings = array('timeopen' => 0, 'timeclose' => 0, 'preferredbehaviour' => 'deferredfeedback', 'attempts' => 0, 'attemptonlast' => 0, 'grademethod' => QUIZ_GRADEHIGHEST, 'decimalpoints' => 2, 'questiondecimalpoints' => -1, 'attemptduring' => 1, 'correctnessduring' => 1, 'marksduring' => 1, 'specificfeedbackduring' => 1, 'generalfeedbackduring' => 1, 'rightanswerduring' => 1, 'overallfeedbackduring' => 0, 'attemptimmediately' => 1, 'correctnessimmediately' => 1, 'marksimmediately' => 1, 'specificfeedbackimmediately' => 1, 'generalfeedbackimmediately' => 1, 'rightanswerimmediately' => 1, 'overallfeedbackimmediately' => 1, 'attemptopen' => 1, 'correctnessopen' => 1, 'marksopen' => 1, 'specificfeedbackopen' => 1, 'generalfeedbackopen' => 1, 'rightansweropen' => 1, 'overallfeedbackopen' => 1, 'attemptclosed' => 1, 'correctnessclosed' => 1, 'marksclosed' => 1, 'specificfeedbackclosed' => 1, 'generalfeedbackclosed' => 1, 'rightanswerclosed' => 1, 'overallfeedbackclosed' => 1, 'questionsperpage' => 1, 'shufflequestions' => 0, 'shuffleanswers' => 1, 'sumgrades' => 0, 'grade' => 100, 'timecreated' => time(), 'timemodified' => time(), 'timelimit' => 0, 'overduehandling' => 'autoabandon', 'graceperiod' => 86400, 'quizpassword' => '', 'subnet' => '', 'browsersecurity' => '', 'delay1' => 0, 'delay2' => 0, 'showuserpicture' => 0, 'showblocks' => 0, 'navmethod' => QUIZ_NAVMETHOD_FREE); foreach ($defaultquizsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; require_once "{$CFG->dirroot}/mod/book/locallib.php"; $record = (object) (array) $record; if (!isset($record->numbering)) { $record->numbering = BOOK_NUM_NUMBERS; } if (!isset($record->customtitles)) { $record->customtitles = 0; } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; if (!isset($record->assignmenttype)) { $record->assignmenttype = 'upload'; } if (!isset($record->grade)) { $record->grade = 100; } if (!isset($record->timedue)) { $record->timedue = 0; } return parent::create_instance($record, (array) $options); }
public function create_instance($record = null, array $options = null) { global $CFG; require_once $CFG->dirroot . '/mod/quiz/locallib.php'; $record = (object) (array) $record; $alwaysvisible = mod_quiz_display_options::DURING | mod_quiz_display_options::IMMEDIATELY_AFTER | mod_quiz_display_options::LATER_WHILE_OPEN | mod_quiz_display_options::AFTER_CLOSE; $defaultquizsettings = array('timeopen' => 0, 'timeclose' => 0, 'preferredbehaviour' => 'deferredfeedback', 'attempts' => 0, 'attemptonlast' => 0, 'grademethod' => QUIZ_GRADEHIGHEST, 'decimalpoints' => 2, 'questiondecimalpoints' => -1, 'reviewattempt' => $alwaysvisible, 'reviewcorrectness' => $alwaysvisible, 'reviewmarks' => $alwaysvisible, 'reviewspecificfeedback' => $alwaysvisible, 'reviewgeneralfeedback' => $alwaysvisible, 'reviewrightanswer' => $alwaysvisible, 'reviewoverallfeedback' => $alwaysvisible, 'questionsperpage' => 1, 'shufflequestions' => 0, 'shuffleanswers' => 1, 'sumgrades' => 0, 'grade' => 0, 'timecreated' => time(), 'timemodified' => time(), 'timelimit' => 0, 'overduehandling' => 'autoabandon', 'graceperiod' => 86400, 'quizpassword' => '', 'subnet' => '', 'browsersecurity' => '', 'delay1' => 0, 'delay2' => 0, 'showuserpicture' => 0, 'showblocks' => 0, 'navmethod' => QUIZ_NAVMETHOD_FREE); foreach ($defaultquizsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } return parent::create_instance($record, (array) $options); }
/** * Create a new subpage instance * * @param array|stdClass $record The record to insert to subpage table * @param mod_subpage $subpage Subpage object * @param array $options Optional parameters * @return mod_subpage Subpage object created */ public function create_instance($record = null, array $options = null) { global $DB, $CFG; $record = (object) (array) $record; if (!isset($record->enablesharing)) { $record->enablesharing = 0; } $result = parent::create_instance($record, (array) $options); if (!empty($record->addsection)) { require_once $CFG->dirroot . '/mod/subpage/locallib.php'; $subobj = mod_subpage::get_from_cmid($result->cmid); $subobj->add_section(); } return $result; }
public function create_instance($record = null, array $options = null) { $record = (object) (array) $record; if (!isset($record->timemodified)) { $record->timemodified = time(); } if (!isset($record->option)) { $record->option = array(); $record->option[] = 'Soft Drink'; $record->option[] = 'Beer'; $record->option[] = 'Wine'; $record->option[] = 'Spirits'; } return parent::create_instance($record, (array) $options); }
public function get_new_ouwiki($courseid, $subwikis = null, $options = array()) { $ouwiki = new stdClass(); $ouwiki->course = $courseid; if ($subwikis != null) { $ouwiki->subwikis = $subwikis; } $ouwiki->timeout = null; $ouwiki->template = null; $ouwiki->editbegin = null; $ouwiki->editend = null; $ouwiki->completionpages = 0; $ouwiki->completionedits = 0; $ouwiki->introformat = 0; return $this->generator->create_instance($ouwiki, $options); }
/** * Create new certificate module instance * @param array|stdClass $record data for module being generated. Requires 'course' key * (an id or the full object). Also can have any fields from add module form. * @param null|array $options general options for course module. Since 2.6 it is * possible to omit this argument by merging options into $record * @return stdClass record from module-defined table with additional field * cmid (corresponding id in course_modules table) */ public function create_instance($record = null, array $options = null) { global $CFG; require_once "{$CFG->dirroot}/mod/certificate/lib.php"; $this->instancecount++; $i = $this->instancecount; $record = (object) (array) $record; $options = (array) $options; if (empty($record->course)) { throw new coding_exception('module generator requires $record->course'); } $defaults = array(); $defaults['name'] = get_string('pluginname', 'certificate') . ' ' . $i; $defaults['intro'] = 'Test certificate ' . $i; $defaults['introformat'] = FORMAT_MOODLE; $defaults['emailteachers'] = 0; $defaults['savecert'] = 0; $defaults['reportcert'] = 0; $defaults['delivery'] = 0; $defaults['certificatetype'] = 'A4_non_embedded'; $defaults['orientation'] = 'L'; $defaults['borderstyle'] = '0'; $defaults['bordercolor'] = '0'; $defaults['printwmark'] = '0'; $defaults['printdate'] = 0; $defaults['datefmt'] = 0; $defaults['printnumber'] = 0; $defaults['printgrade'] = 0; $defaults['gradefmt'] = 0; $defaults['printoutcome'] = 0; $defaults['printhours'] = ''; $defaults['printteacher'] = 0; $defaults['printsignature'] = '0'; $defaults['printseal'] = '0'; foreach ($defaults as $field => $value) { if (!isset($record->{$field})) { $record->{$field} = $value; } } if (isset($options['idnumber'])) { $record->cmidnumber = $options['idnumber']; } else { $record->cmidnumber = ''; } // Do work to actually add the instance. return parent::create_instance($record, (array) $options); }