. /** * @package plagiarism_pchkorg * @category plagiarism * @copyright PlagiarismCheck.org, https://plagiarismcheck.org/ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); function xmldb_plagiarism_pchkorg_upgrade($oldversion) { global $DB; $dbman = $DB->get_manager(); if ($oldversion < 2021072801) { $table = new xmldb_table('plagiarism_pchkorg_files'); $field1 = new xmldb_field('signature', XMLDB_TYPE_CHAR, '40', null, null, null, null, null); $field1->setComment('Signature'); $field2 = new xmldb_field('attempt', XMLDB_TYPE_INTEGER, '5', null, null, null, 0, null); $field2->setComment('Sending attempts'); $field3 = new xmldb_field('itemid', XMLDB_TYPE_INTEGER, '10', null, null, null, null, null); $field3->setComment('ID of file'); if (!$dbman->field_exists($table, $field1)) { $dbman->add_field($table, $field1); } if (!$dbman->field_exists($table, $field2)) { $dbman->add_field($table, $field2); } if (!$dbman->field_exists($table, $field3)) { $dbman->add_field($table, $field3); } upgrade_plugin_savepoint(true, 2021072801, 'plagiarism', 'pchkorg'); } if ($oldversion < 2023060713) { $table = new xmldb_table('plagiarism_pchkorg_files'); $field1 = new xmldb_field('scoreai', XMLDB_TYPE_NUMBER, '4,2', XMLDB_UNSIGNED, null, null, null, null); $field1->setComment('AI score'); if (!$dbman->field_exists($table, $field1)) { $dbman->add_field($table, $field1); } } if ($oldversion < 2024072918) { // Define table plagiarism_pchkorg_users to be created. $table = new xmldb_table('plagiarism_pchkorg_users'); // Adding fields to table plagiarism_pchkorg_users. $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); $table->add_field('email', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); // Adding keys to table plagiarism_pchkorg_users. $table->add_key('primary', XMLDB_KEY_PRIMARY, ['id']); $table->add_key('plagiarism_pchkorg_users_email', XMLDB_KEY_UNIQUE, ['email']); // Conditionally launch create table for plagiarism_pchkorg_users. if (!$dbman->table_exists($table)) { $dbman->create_table($table); } upgrade_plugin_savepoint(true, 2024072918, 'plagiarism', 'pchkorg'); } if ($oldversion < 2024102818) { $configs = get_config('plagiarism'); foreach ($configs as $field => $value) { if (strpos($field, 'pchkorg') === 0) { if ($field === 'pchkorg_use') { $DB->delete_records('config_plugins', ['name' => $field, 'plugin' => 'plagiarism']); $field = 'enabled'; } set_config($field, $value, 'plagiarism_pchkorg'); } } upgrade_plugin_savepoint(true, 2024102818, 'plagiarism', 'pchkorg'); } return true; }