Rename marketplace plugin to meetletacbfree (mdl_modules.name limit + CI table prefixes)

This commit is contained in:
2026-09-01 23:24:11 +03:30
parent 555cd725f7
commit d987994ded
77 changed files with 1497 additions and 1322 deletions
@@ -2,32 +2,32 @@
// This file is part of Moodle - http://moodle.org/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->dirroot . '/mod/meetletacbmarketplace/backup/moodle2/backup_meetletacbmarketplace_stepslib.php');
require_once($CFG->dirroot . '/mod/meetletacbfree/backup/moodle2/backup_meetletacbfree_stepslib.php');
/**
* Backup task.
*
* @package mod_meetletacbmarketplace
* @package mod_meetletacbfree
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class backup_meetletacbmarketplace_activity_task extends backup_activity_task {
class backup_meetletacbfree_activity_task extends backup_activity_task {
protected function define_my_settings() {
}
protected function define_my_steps() {
$this->add_step(new backup_meetletacbmarketplace_activity_structure_step(
'meetletacbmarketplace_structure',
'meetletacbmarketplace.xml'
$this->add_step(new backup_meetletacbfree_activity_structure_step(
'meetletacbfree_structure',
'meetletacbfree.xml'
));
}
public static function encode_content_links($content) {
global $CFG;
$base = preg_quote($CFG->wwwroot, '/');
$content = preg_replace("/($base\/mod\/meetletacbmarketplace\/index.php\?id=)([0-9]+)/",
$content = preg_replace("/($base\/mod\/meetletacbfree\/index.php\?id=)([0-9]+)/",
'$@MEETLETACBINDEX*$2@$', $content);
$content = preg_replace("/($base\/mod\/meetletacbmarketplace\/view.php\?id=)([0-9]+)/",
$content = preg_replace("/($base\/mod\/meetletacbfree\/view.php\?id=)([0-9]+)/",
'$@MEETLETACBVIEWBYID*$2@$', $content);
$content = preg_replace("/($base\/mod\/meetletadobeconnectbridge\/index.php\?id=)([0-9]+)/",
'$@MEETLETACBINDEX*$2@$', $content);
@@ -5,15 +5,15 @@ defined('MOODLE_INTERNAL') || die();
/**
* Backup structure.
*
* @package mod_meetletacbmarketplace
* @package mod_meetletacbfree
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class backup_meetletacbmarketplace_activity_structure_step extends backup_activity_structure_step {
class backup_meetletacbfree_activity_structure_step extends backup_activity_structure_step {
protected function define_structure() {
$userinfo = $this->get_setting_value('userinfo');
$meetlet = new backup_nested_element('meetletacbmarketplace', ['id'], [
$meetlet = new backup_nested_element('meetletacbfree', ['id'], [
'name', 'intro', 'introformat', 'userid', 'templatescoid', 'meeturl',
'starttime', 'endtime', 'meetingpublic', 'participants', 'grade',
'autooffline', 'showzip', 'showofflineplayer', 'showrecordingstab', 'showcontenttab', 'showmp4',
@@ -30,8 +30,8 @@ class backup_meetletacbmarketplace_activity_structure_step extends backup_activi
$meetlet->add_child($meetings);
$meetings->add_child($meeting);
$meetlet->set_source_table('meetletacbmarketplace', ['id' => backup::VAR_ACTIVITYID]);
$meeting->set_source_table('meetlet_marketplace_meetings', ['instanceid' => backup::VAR_PARENTID]);
$meetlet->set_source_table('meetletacbfree', ['id' => backup::VAR_ACTIVITYID]);
$meeting->set_source_table('meetletacbfree_meetings', ['instanceid' => backup::VAR_PARENTID]);
return $this->prepare_activity_structure($meetlet);
}
@@ -2,47 +2,47 @@
// This file is part of Moodle - http://moodle.org/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->dirroot . '/mod/meetletacbmarketplace/backup/moodle2/restore_meetletacbmarketplace_stepslib.php');
require_once($CFG->dirroot . '/mod/meetletacbfree/backup/moodle2/restore_meetletacbfree_stepslib.php');
/**
* Restore task.
*
* @package mod_meetletacbmarketplace
* @package mod_meetletacbfree
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class restore_meetletacbmarketplace_activity_task extends restore_activity_task {
class restore_meetletacbfree_activity_task extends restore_activity_task {
protected function define_my_settings() {
}
protected function define_my_steps() {
$filename = 'meetletacbmarketplace.xml';
$filename = 'meetletacbfree.xml';
$base = $this->get_taskbasepath();
if ($base) {
foreach (['meetletacbmarketplace.xml', 'meetletadobeconnectbridge.xml', 'meetlet.xml'] as $candidate) {
foreach (['meetletacbfree.xml', 'meetletadobeconnectbridge.xml', 'meetlet.xml'] as $candidate) {
if (file_exists($base . '/' . $candidate)) {
$filename = $candidate;
break;
}
}
}
$this->add_step(new restore_meetletacbmarketplace_activity_structure_step(
'meetletacbmarketplace_structure',
$this->add_step(new restore_meetletacbfree_activity_structure_step(
'meetletacbfree_structure',
$filename
));
}
public static function define_decode_contents() {
return [new restore_decode_content('meetletacbmarketplace', ['intro'], 'meetletacbmarketplace')];
return [new restore_decode_content('meetletacbfree', ['intro'], 'meetletacbfree')];
}
public static function define_decode_rules() {
return [
new restore_decode_rule('MEETLETACBVIEWBYID', '/mod/meetletacbmarketplace/view.php?id=$1', 'course_module'),
new restore_decode_rule('MEETLETACBINDEX', '/mod/meetletacbmarketplace/index.php?id=$1', 'course'),
new restore_decode_rule('MEETLETACBVIEWBYID', '/mod/meetletacbfree/view.php?id=$1', 'course_module'),
new restore_decode_rule('MEETLETACBINDEX', '/mod/meetletacbfree/index.php?id=$1', 'course'),
// Legacy tokens from pre-rename backups.
new restore_decode_rule('MEETLETVIEWBYID', '/mod/meetletacbmarketplace/view.php?id=$1', 'course_module'),
new restore_decode_rule('MEETLETINDEX', '/mod/meetletacbmarketplace/index.php?id=$1', 'course'),
new restore_decode_rule('MEETLETVIEWBYID', '/mod/meetletacbfree/view.php?id=$1', 'course_module'),
new restore_decode_rule('MEETLETINDEX', '/mod/meetletacbfree/index.php?id=$1', 'course'),
];
}
}
@@ -0,0 +1,104 @@
<?php
// This file is part of Moodle - http://moodle.org/
defined('MOODLE_INTERNAL') || die();
/**
* Restore structure.
*
* @package mod_meetletacbfree
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class restore_meetletacbfree_activity_structure_step extends restore_activity_structure_step {
protected function define_structure() {
$paths = [];
// Current format.
$paths[] = new restore_path_element('meetletacbfree', '/activity/meetletacbfree');
$paths[] = new restore_path_element('meetletacbfree_meeting',
'/activity/meetletacbfree/meetings/meeting');
$paths[] = new restore_path_element('meetletacbfree_long', '/activity/meetletadobeconnectbridge');
$paths[] = new restore_path_element('meetletacbfree_long_meeting',
'/activity/meetletadobeconnectbridge/meetings/meeting');
// Legacy format from pre-rename backups.
$paths[] = new restore_path_element('meetlet_legacy', '/activity/meetlet');
$paths[] = new restore_path_element('meetlet_legacy_meeting', '/activity/meetlet/meetings/meeting');
return $this->prepare_activity_structure($paths);
}
protected function process_meetletacbfree($data) {
$this->process_instance_record($data);
}
protected function process_meetletacbfree_long($data) {
$this->process_instance_record($data);
}
protected function process_meetlet_legacy($data) {
$this->process_instance_record($data);
}
protected function process_instance_record($data) {
global $DB;
$data = (object)$data;
$data->course = $this->get_courseid();
if (!isset($data->showmakeoffline)) {
$data->showmakeoffline = 1;
}
if (!isset($data->settingoverrides)) {
$data->settingoverrides = \mod_meetletacbfree\local\config::setting_overrides_json([
'waitforhost' => !empty($data->waitforhost)
? \mod_meetletacbfree\local\config::OVERRIDE_ON
: \mod_meetletacbfree\local\config::OVERRIDE_OFF,
'autooffline' => !empty($data->autooffline)
? \mod_meetletacbfree\local\config::OVERRIDE_ON
: \mod_meetletacbfree\local\config::OVERRIDE_OFF,
'showzip' => !empty($data->showzip)
? \mod_meetletacbfree\local\config::OVERRIDE_ON
: \mod_meetletacbfree\local\config::OVERRIDE_OFF,
'showrecordingstab' => !empty($data->showrecordingstab)
? \mod_meetletacbfree\local\config::OVERRIDE_ON
: \mod_meetletacbfree\local\config::OVERRIDE_OFF,
'showcontenttab' => !empty($data->showcontenttab)
? \mod_meetletacbfree\local\config::OVERRIDE_ON
: \mod_meetletacbfree\local\config::OVERRIDE_OFF,
'showmp4' => !empty($data->showmp4)
? \mod_meetletacbfree\local\config::OVERRIDE_ON
: \mod_meetletacbfree\local\config::OVERRIDE_OFF,
'showmakeoffline' => !empty($data->showmakeoffline)
? \mod_meetletacbfree\local\config::OVERRIDE_ON
: \mod_meetletacbfree\local\config::OVERRIDE_OFF,
]);
}
if (!isset($data->participantsmode)) {
$data->participantsmode = 1;
}
$newid = $DB->insert_record('meetletacbfree', $data);
$this->apply_activity_instance($newid);
}
protected function process_meetletacbfree_meeting($data) {
$this->process_meeting_record($data, 'meetletacbfree');
}
protected function process_meetletacbfree_long_meeting($data) {
$this->process_meeting_record($data, 'meetletacbfree_long');
}
protected function process_meetlet_legacy_meeting($data) {
$this->process_meeting_record($data, 'meetlet_legacy');
}
protected function process_meeting_record($data, string $parentname) {
global $DB;
$data = (object)$data;
$data->instanceid = $this->get_new_parentid($parentname);
if (!empty($data->groupid)) {
$data->groupid = $this->get_mappingid('group', $data->groupid);
}
$DB->insert_record('meetletacbfree_meetings', $data);
}
protected function after_execute() {
$this->add_related_files('mod_meetletacbfree', 'intro', null);
}
}
@@ -1,104 +0,0 @@
<?php
// This file is part of Moodle - http://moodle.org/
defined('MOODLE_INTERNAL') || die();
/**
* Restore structure.
*
* @package mod_meetletacbmarketplace
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class restore_meetletacbmarketplace_activity_structure_step extends restore_activity_structure_step {
protected function define_structure() {
$paths = [];
// Current format.
$paths[] = new restore_path_element('meetletacbmarketplace', '/activity/meetletacbmarketplace');
$paths[] = new restore_path_element('meetletacbmarketplace_meeting',
'/activity/meetletacbmarketplace/meetings/meeting');
$paths[] = new restore_path_element('meetletacbmarketplace_long', '/activity/meetletadobeconnectbridge');
$paths[] = new restore_path_element('meetletacbmarketplace_long_meeting',
'/activity/meetletadobeconnectbridge/meetings/meeting');
// Legacy format from pre-rename backups.
$paths[] = new restore_path_element('meetlet_legacy', '/activity/meetlet');
$paths[] = new restore_path_element('meetlet_legacy_meeting', '/activity/meetlet/meetings/meeting');
return $this->prepare_activity_structure($paths);
}
protected function process_meetletacbmarketplace($data) {
$this->process_instance_record($data);
}
protected function process_meetletacbmarketplace_long($data) {
$this->process_instance_record($data);
}
protected function process_meetlet_legacy($data) {
$this->process_instance_record($data);
}
protected function process_instance_record($data) {
global $DB;
$data = (object)$data;
$data->course = $this->get_courseid();
if (!isset($data->showmakeoffline)) {
$data->showmakeoffline = 1;
}
if (!isset($data->settingoverrides)) {
$data->settingoverrides = \mod_meetletacbmarketplace\local\config::setting_overrides_json([
'waitforhost' => !empty($data->waitforhost)
? \mod_meetletacbmarketplace\local\config::OVERRIDE_ON
: \mod_meetletacbmarketplace\local\config::OVERRIDE_OFF,
'autooffline' => !empty($data->autooffline)
? \mod_meetletacbmarketplace\local\config::OVERRIDE_ON
: \mod_meetletacbmarketplace\local\config::OVERRIDE_OFF,
'showzip' => !empty($data->showzip)
? \mod_meetletacbmarketplace\local\config::OVERRIDE_ON
: \mod_meetletacbmarketplace\local\config::OVERRIDE_OFF,
'showrecordingstab' => !empty($data->showrecordingstab)
? \mod_meetletacbmarketplace\local\config::OVERRIDE_ON
: \mod_meetletacbmarketplace\local\config::OVERRIDE_OFF,
'showcontenttab' => !empty($data->showcontenttab)
? \mod_meetletacbmarketplace\local\config::OVERRIDE_ON
: \mod_meetletacbmarketplace\local\config::OVERRIDE_OFF,
'showmp4' => !empty($data->showmp4)
? \mod_meetletacbmarketplace\local\config::OVERRIDE_ON
: \mod_meetletacbmarketplace\local\config::OVERRIDE_OFF,
'showmakeoffline' => !empty($data->showmakeoffline)
? \mod_meetletacbmarketplace\local\config::OVERRIDE_ON
: \mod_meetletacbmarketplace\local\config::OVERRIDE_OFF,
]);
}
if (!isset($data->participantsmode)) {
$data->participantsmode = 1;
}
$newid = $DB->insert_record('meetletacbmarketplace', $data);
$this->apply_activity_instance($newid);
}
protected function process_meetletacbmarketplace_meeting($data) {
$this->process_meeting_record($data, 'meetletacbmarketplace');
}
protected function process_meetletacbmarketplace_long_meeting($data) {
$this->process_meeting_record($data, 'meetletacbmarketplace_long');
}
protected function process_meetlet_legacy_meeting($data) {
$this->process_meeting_record($data, 'meetlet_legacy');
}
protected function process_meeting_record($data, string $parentname) {
global $DB;
$data = (object)$data;
$data->instanceid = $this->get_new_parentid($parentname);
if (!empty($data->groupid)) {
$data->groupid = $this->get_mappingid('group', $data->groupid);
}
$DB->insert_record('meetlet_marketplace_meetings', $data);
}
protected function after_execute() {
$this->add_related_files('mod_meetletacbmarketplace', 'intro', null);
}
}