📄 upgrade.php
字号:
/// Adding keys to table scorm_seq_rulecond $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id')); $table->addKeyInfo('scorm_rulecond_uniq', XMLDB_KEY_UNIQUE, array('id', 'scoid', 'ruleconditionsid')); $table->addKeyInfo('scorm_rulecond_scoid', XMLDB_KEY_FOREIGN, array('scoid'), 'scorm_scoes', array('id')); $table->addKeyInfo('scorm_rulecond_ruleconditionsid', XMLDB_KEY_FOREIGN, array('ruleconditionsid'), 'scorm_seq_ruleconds', array('id')); /// Launch create table for scorm_seq_rulecond $result = $result && create_table($table); /// Define table scorm_seq_rolluprule to be created $table = new XMLDBTable('scorm_seq_rolluprule'); /// Adding fields to table scorm_seq_rolluprule $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null); $table->addFieldInfo('scoid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0'); $table->addFieldInfo('childactivityset', XMLDB_TYPE_CHAR, '15', null, XMLDB_NOTNULL, null, null, null, null); $table->addFieldInfo('minimumcount', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0'); $table->addFieldInfo('minimumpercent', XMLDB_TYPE_FLOAT, '11, 4', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0.0000'); $table->addFieldInfo('conditioncombination', XMLDB_TYPE_CHAR, '3', null, XMLDB_NOTNULL, null, null, null, 'all'); $table->addFieldInfo('action', XMLDB_TYPE_CHAR, '15', null, XMLDB_NOTNULL, null, null, null, null); /// Adding keys to table scorm_seq_rolluprule $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id')); $table->addKeyInfo('scorm_rolluprule_uniq', XMLDB_KEY_UNIQUE, array('scoid', 'id')); $table->addKeyInfo('scorm_rolluprule_scoid', XMLDB_KEY_FOREIGN, array('scoid'), 'scorm_scoes', array('id')); /// Launch create table for scorm_seq_rolluprule $result = $result && create_table($table); /// Define table scorm_seq_rolluprulecond to be created $table = new XMLDBTable('scorm_seq_rolluprulecond'); /// Adding fields to table scorm_seq_rolluprulecond $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null); $table->addFieldInfo('scoid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0'); $table->addFieldInfo('rollupruleid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0'); $table->addFieldInfo('operator', XMLDB_TYPE_CHAR, '5', null, XMLDB_NOTNULL, null, null, null, 'noOp'); $table->addFieldInfo('cond', XMLDB_TYPE_CHAR, '25', null, XMLDB_NOTNULL, null, null, null, null); /// Adding keys to table scorm_seq_rolluprulecond $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id')); $table->addKeyInfo('scorm_rulluprulecond_uniq', XMLDB_KEY_UNIQUE, array('scoid', 'rollupruleid', 'id')); $table->addKeyInfo('scorm_rolluprulecond_scoid', XMLDB_KEY_FOREIGN, array('scoid'), 'scorm_scoes', array('id')); $table->addKeyInfo('scorm_rolluprulecond_rolluprule', XMLDB_KEY_FOREIGN, array('rollupruleid'), 'scorm_seq_rolluprule', array('id')); /// Launch create table for scorm_seq_rolluprulecond $result = $result && create_table($table); } //Adding new field to table scorm if ($result && $oldversion < 2007011800) { /// Define field format to be added to data_comments $table = new XMLDBTable('scorm'); $field = new XMLDBField('md5_result'); $field->setAttributes(XMLDB_TYPE_CHAR, '32' , null, null, null, null, null, null, null); /// Launch add field format $result = $result && add_field($table, $field); $field = new XMLDBField('external'); $field->setAttributes(XMLDB_TYPE_INTEGER, '2', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', null); $result = $result && add_field($table, $field); } if ($result && $oldversion < 2007012400) { /// Rename field external on table scorm to updatefreq $table = new XMLDBTable('scorm'); $field = new XMLDBField('external'); if (field_exists($table, $field)) { $field->setAttributes(XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'maxattempt'); /// Launch rename field updatefreq $result = $result && rename_field($table, $field, 'updatefreq'); } else { $field = new XMLDBField('updatefreq'); $field->setAttributes(XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'maxattempt'); $result = $result && add_field($table, $field); } /// Rename field md5_result on table scorm to md5hash $field = new XMLDBField('md5_result'); if (field_exists($table, $field)) { $field->setAttributes(XMLDB_TYPE_CHAR, '32', null, XMLDB_NOTNULL, null, null, null, null, 'updatefreq'); /// Launch rename field md5hash $result = $result && rename_field($table, $field, 'md5hash'); } else { $field = new XMLDBField('md5hash'); $field->setAttributes(XMLDB_TYPE_CHAR, '32', null, XMLDB_NOTNULL, null, null, null, '', 'updatefreq'); $result = $result && add_field($table, $field); } } if ($result && $oldversion < 2007031300) { if ($scorms = get_records('scorm')) { foreach ($scorms as $scorm) { if ($scoes = get_records('scorm_scoes','scorm',$scorm->id)) { foreach ($scoes as $sco) { if ($tracks = get_records('scorm_scoes_track','scoid',$sco->id)) { foreach ($tracks as $track) { $element = preg_replace('/\.N(\d+)\./',".\$1.",$track->element); if ($track->element != $element) { $track->element = $element; update_record('scorm_scoes_track',$track); } } } } } } } } if ($result && $oldversion < 2007081001) { require_once($CFG->dirroot.'/mod/scorm/lib.php'); // too much debug output $db->debug = false; scorm_update_grades(); $db->debug = true; } // Adding missing 'version' field to table scorm if ($result && $oldversion < 2007110500) { $table = new XMLDBTable('scorm'); $field = new XMLDBField('version'); $field->setAttributes(XMLDB_TYPE_CHAR, '9', null, XMLDB_NOTNULL, null, null, null, 'scorm_12', 'summary'); $result = $result && add_field($table, $field); } // Adding missing 'whatgrade' field to table scorm if ($result && $oldversion < 2007110501) { $table = new XMLDBTable('scorm'); $field = new XMLDBField('whatgrade'); /// Launch add field whatgrade if (!field_exists($table, $field)) { $field->setAttributes(XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'grademethod'); $result = $result && add_field($table, $field); } } //===== 1.9.0 upgrade line ======// return $result;}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -