Rename marketplace plugin to meetletacbfree (mdl_modules.name limit + CI table prefixes)
This commit is contained in:
+67
-67
@@ -4,20 +4,20 @@ defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
require_once($CFG->dirroot . '/course/moodleform_mod.php');
|
||||
|
||||
use mod_meetletacbmarketplace\api\service;
|
||||
use mod_meetletacbmarketplace\local\config;
|
||||
use mod_meetletacbmarketplace\local\featureaccess;
|
||||
use mod_meetletacbmarketplace\local\roles;
|
||||
use mod_meetletacbmarketplace\registration\manager as registration_manager;
|
||||
use mod_meetletacbfree\api\service;
|
||||
use mod_meetletacbfree\local\config;
|
||||
use mod_meetletacbfree\local\featureaccess;
|
||||
use mod_meetletacbfree\local\roles;
|
||||
use mod_meetletacbfree\registration\manager as registration_manager;
|
||||
|
||||
/**
|
||||
* MeetLet mod form.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
class mod_meetletacbfree_mod_form extends moodleform_mod {
|
||||
public function definition() {
|
||||
global $OUTPUT, $PAGE, $USER;
|
||||
|
||||
@@ -34,35 +34,35 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
return;
|
||||
}
|
||||
|
||||
$PAGE->requires->js(new moodle_url('/mod/meetletacbmarketplace/javascript/modform.js'));
|
||||
$PAGE->requires->js(new moodle_url('/mod/meetletacbmarketplace/javascript/featureaccess_matrix.js'));
|
||||
$PAGE->requires->js(new moodle_url('/mod/meetletacbmarketplace/javascript/settings_toggles.js'));
|
||||
$PAGE->requires->css(new moodle_url('/mod/meetletacbmarketplace/styles.css', ['v' => '2026081913']));
|
||||
$PAGE->requires->js(new moodle_url('/mod/meetletacbfree/javascript/modform.js'));
|
||||
$PAGE->requires->js(new moodle_url('/mod/meetletacbfree/javascript/featureaccess_matrix.js'));
|
||||
$PAGE->requires->js(new moodle_url('/mod/meetletacbfree/javascript/settings_toggles.js'));
|
||||
$PAGE->requires->css(new moodle_url('/mod/meetletacbfree/styles.css', ['v' => '2026081913']));
|
||||
|
||||
$mform->addElement('header', 'general', get_string('general', 'form'));
|
||||
$mform->addElement('text', 'name', get_string('meetingname', 'meetletacbmarketplace'), ['size' => '64']);
|
||||
$mform->addElement('text', 'name', get_string('meetingname', 'meetletacbfree'), ['size' => '64']);
|
||||
$mform->setType('name', PARAM_TEXT);
|
||||
$mform->addRule('name', null, 'required', null, 'client');
|
||||
$mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
|
||||
$this->standard_intro_elements(get_string('meetingintro', 'meetletacbmarketplace'));
|
||||
$this->standard_intro_elements(get_string('meetingintro', 'meetletacbfree'));
|
||||
|
||||
$mform->addElement('header', 'meetletroom', get_string('roomsettings', 'meetletacbmarketplace'));
|
||||
$mform->addElement('header', 'meetletroom', get_string('roomsettings', 'meetletacbfree'));
|
||||
|
||||
// Create-new is default; existing meetings are loaded lazily via Ajax.
|
||||
$linkmodes = [
|
||||
0 => get_string('linkmode_create', 'meetletacbmarketplace'),
|
||||
1 => get_string('linkmode_existing', 'meetletacbmarketplace'),
|
||||
0 => get_string('linkmode_create', 'meetletacbfree'),
|
||||
1 => get_string('linkmode_existing', 'meetletacbfree'),
|
||||
];
|
||||
$mform->addElement('select', 'linkmode', get_string('linkmode', 'meetletacbmarketplace'), $linkmodes);
|
||||
$mform->addElement('select', 'linkmode', get_string('linkmode', 'meetletacbfree'), $linkmodes);
|
||||
$mform->setDefault('linkmode', 0);
|
||||
$mform->addHelpButton('linkmode', 'linkmode', 'meetletacbmarketplace');
|
||||
$mform->addHelpButton('linkmode', 'linkmode', 'meetletacbfree');
|
||||
if (!$isnew) {
|
||||
$mform->hardFreeze('linkmode');
|
||||
}
|
||||
|
||||
$meetingsmeta = [];
|
||||
$selectedsco = (int)($current->existingscoid ?? 0);
|
||||
$selectedlabel = get_string('chooseservermeeting', 'meetletacbmarketplace');
|
||||
$selectedlabel = get_string('chooseservermeeting', 'meetletacbfree');
|
||||
$readonly = !$isnew;
|
||||
// On edit of a linked activity, keep the selected meeting visible without listing all.
|
||||
if (!$isnew && !empty($current->linkmode) && $selectedsco && config::is_configured()) {
|
||||
@@ -128,7 +128,7 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
'type' => 'search',
|
||||
'class' => 'meetlet-combobox__search',
|
||||
'data-meeting-search' => '1',
|
||||
'placeholder' => get_string('searchservermeetings', 'meetletacbmarketplace'),
|
||||
'placeholder' => get_string('searchservermeetings', 'meetletacbfree'),
|
||||
'autocomplete' => 'off',
|
||||
]) .
|
||||
html_writer::tag('ul', $listhtml, [
|
||||
@@ -144,45 +144,45 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
'data-meeting-picker' => '1',
|
||||
'data-courseid' => (int)$this->_course->id,
|
||||
'data-readonly' => $readonly ? '1' : '0',
|
||||
'data-str-loading' => get_string('loadingmeetings', 'meetletacbmarketplace'),
|
||||
'data-str-empty' => get_string('nomeetingsfound', 'meetletacbmarketplace'),
|
||||
'data-str-choose' => get_string('chooseservermeeting', 'meetletacbmarketplace'),
|
||||
'data-str-loading' => get_string('loadingmeetings', 'meetletacbfree'),
|
||||
'data-str-empty' => get_string('nomeetingsfound', 'meetletacbfree'),
|
||||
'data-str-choose' => get_string('chooseservermeeting', 'meetletacbfree'),
|
||||
]
|
||||
);
|
||||
|
||||
$mform->addElement('static', 'existingscoid_ui', get_string('existingscoid', 'meetletacbmarketplace'), $picker);
|
||||
$mform->addElement('static', 'existingscoid_ui', get_string('existingscoid', 'meetletacbfree'), $picker);
|
||||
$mform->hideIf('existingscoid_ui', 'linkmode', 'neq', 1);
|
||||
$mform->addElement('html', html_writer::div('', 'd-none', [
|
||||
'data-meetings-meta' => json_encode($meetingsmeta, JSON_UNESCAPED_UNICODE),
|
||||
]));
|
||||
|
||||
$mform->addElement('text', 'meeturl', get_string('meeturl', 'meetletacbmarketplace'), ['size' => 40]);
|
||||
$mform->addElement('text', 'meeturl', get_string('meeturl', 'meetletacbfree'), ['size' => 40]);
|
||||
$mform->setType('meeturl', PARAM_PATH);
|
||||
$mform->addHelpButton('meeturl', 'meeturl', 'meetletacbmarketplace');
|
||||
$mform->addHelpButton('meeturl', 'meeturl', 'meetletacbfree');
|
||||
$mform->hideIf('meeturl', 'linkmode', 'eq', 1);
|
||||
|
||||
$mform->addElement('select', 'meetingpublic', get_string('meetingtype', 'meetletacbmarketplace'), [
|
||||
0 => get_string('private', 'meetletacbmarketplace'),
|
||||
1 => get_string('public', 'meetletacbmarketplace'),
|
||||
$mform->addElement('select', 'meetingpublic', get_string('meetingtype', 'meetletacbfree'), [
|
||||
0 => get_string('private', 'meetletacbfree'),
|
||||
1 => get_string('public', 'meetletacbfree'),
|
||||
]);
|
||||
$mform->setDefault('meetingpublic', 0);
|
||||
|
||||
$langs = config::meeting_lang_options();
|
||||
$mform->addElement('select', 'meetinglang', get_string('meetinglang', 'meetletacbmarketplace'), $langs);
|
||||
$mform->addElement('select', 'meetinglang', get_string('meetinglang', 'meetletacbfree'), $langs);
|
||||
$mform->setType('meetinglang', PARAM_ALPHANUMEXT);
|
||||
$mform->addHelpButton('meetinglang', 'meetinglang', 'meetletacbmarketplace');
|
||||
$mform->addHelpButton('meetinglang', 'meetinglang', 'meetletacbfree');
|
||||
$mform->setDefault('meetinglang', config::default_meeting_lang());
|
||||
|
||||
$waitstate = $this->resolve_toggle_state($current, 'waitforhost', $isnew);
|
||||
$mform->addElement('static', 'waitforhost_state_ui', get_string('waitforhost', 'meetletacbmarketplace'),
|
||||
$mform->addElement('static', 'waitforhost_state_ui', get_string('waitforhost', 'meetletacbfree'),
|
||||
$this->render_override_chip_group(
|
||||
'waitforhost_state',
|
||||
$waitstate,
|
||||
get_string('waitforhost_help', 'meetletacbmarketplace'),
|
||||
get_string('waitforhost_help', 'meetletacbfree'),
|
||||
[
|
||||
config::OVERRIDE_INHERIT => get_string(
|
||||
config::default_wait_for_host() ? 'settingstate_inherit_on' : 'settingstate_inherit_off',
|
||||
'meetletacbmarketplace'
|
||||
'meetletacbfree'
|
||||
),
|
||||
]
|
||||
)
|
||||
@@ -190,7 +190,7 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
$mform->addElement('hidden', 'waitforhost', $waitstate === config::OVERRIDE_ON ? 1 : 0);
|
||||
$mform->setType('waitforhost', PARAM_INT);
|
||||
|
||||
$templates = [0 => get_string('defaulttemplate', 'meetletacbmarketplace')];
|
||||
$templates = [0 => get_string('defaulttemplate', 'meetletacbfree')];
|
||||
if (config::is_configured()) {
|
||||
try {
|
||||
$service = new service();
|
||||
@@ -201,33 +201,33 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
// Ignore.
|
||||
}
|
||||
}
|
||||
$mform->addElement('select', 'templatescoid', get_string('meettemplates', 'meetletacbmarketplace'), $templates);
|
||||
$mform->addElement('select', 'templatescoid', get_string('meettemplates', 'meetletacbfree'), $templates);
|
||||
$mform->setType('templatescoid', PARAM_INT);
|
||||
$mform->hideIf('templatescoid', 'linkmode', 'eq', 1);
|
||||
|
||||
$mform->addElement('date_time_selector', 'starttime', get_string('starttime', 'meetletacbmarketplace'));
|
||||
$mform->addElement('date_time_selector', 'starttime', get_string('starttime', 'meetletacbfree'));
|
||||
$mform->addRule('starttime', null, 'required', null, 'client');
|
||||
$mform->addElement('advcheckbox', 'endtimeenable', get_string('endtimeenable', 'meetletacbmarketplace'));
|
||||
$mform->addElement('date_time_selector', 'endtime', get_string('endtime', 'meetletacbmarketplace'));
|
||||
$mform->addElement('advcheckbox', 'endtimeenable', get_string('endtimeenable', 'meetletacbfree'));
|
||||
$mform->addElement('date_time_selector', 'endtime', get_string('endtime', 'meetletacbfree'));
|
||||
$mform->disabledIf('endtime', 'endtimeenable');
|
||||
$mform->setDefault('endtime', time() + 2 * HOURSECS);
|
||||
|
||||
// BBB-style participant mapping.
|
||||
$participantlist = roles::get_participant_list($current, $context);
|
||||
$participantselection = roles::get_participant_selection_data();
|
||||
$mform->addElement('header', 'permissions', get_string('rolemapping', 'meetletacbmarketplace'));
|
||||
$mform->addElement('header', 'permissions', get_string('rolemapping', 'meetletacbfree'));
|
||||
$mform->setExpanded('permissions');
|
||||
$mform->addElement('static', 'rolemappingdesc', '', get_string('rolemapping_desc', 'meetletacbmarketplace'));
|
||||
$mform->addElement('static', 'rolemappingdesc', '', get_string('rolemapping_desc', 'meetletacbfree'));
|
||||
$participantsmode = $this->resolve_participants_mode($current, $isnew);
|
||||
$mform->addElement('static', 'participantsmode_ui', get_string('rolemapping_mode', 'meetletacbmarketplace'),
|
||||
$mform->addElement('static', 'participantsmode_ui', get_string('rolemapping_mode', 'meetletacbfree'),
|
||||
$this->render_override_chip_group(
|
||||
'participantsmode_state',
|
||||
$participantsmode,
|
||||
get_string('rolemapping_mode_help', 'meetletacbmarketplace'),
|
||||
get_string('rolemapping_mode_help', 'meetletacbfree'),
|
||||
[],
|
||||
[
|
||||
roles::MODE_INHERIT => get_string('settingstate_inherit', 'meetletacbmarketplace'),
|
||||
roles::MODE_OVERRIDE => get_string('rolemapping_mode_override_short', 'meetletacbmarketplace'),
|
||||
roles::MODE_INHERIT => get_string('settingstate_inherit', 'meetletacbfree'),
|
||||
roles::MODE_OVERRIDE => get_string('rolemapping_mode_override_short', 'meetletacbfree'),
|
||||
]
|
||||
)
|
||||
);
|
||||
@@ -245,26 +245,26 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
$participantselection['options'],
|
||||
$participantselection['selected']);
|
||||
$action = new single_button(new moodle_url(qualified_me()),
|
||||
get_string('participant_add', 'meetletacbmarketplace'),
|
||||
get_string('participant_add', 'meetletacbfree'),
|
||||
'post',
|
||||
single_button::BUTTON_SECONDARY,
|
||||
['name' => 'meetlet_participant_selection_add']
|
||||
);
|
||||
$html = $OUTPUT->render_from_template('mod_meetletacbmarketplace/participant_form', [
|
||||
$html = $OUTPUT->render_from_template('mod_meetletacbfree/participant_form', [
|
||||
'selectionType' => $selectiontype->export_for_template($OUTPUT),
|
||||
'selectionParticipant' => $selectionparticipants->export_for_template($OUTPUT),
|
||||
'action' => $action->export_for_template($OUTPUT),
|
||||
]);
|
||||
$mform->addElement('static', 'static_participant_list', get_string('participant_list', 'meetletacbmarketplace'), $html);
|
||||
$mform->addElement('static', 'static_participant_list', get_string('participant_list', 'meetletacbfree'), $html);
|
||||
|
||||
$mform->addElement('html', html_writer::div('', 'd-none', [
|
||||
'data-participant-data' => json_encode(roles::get_participant_data($context, $current ?: (object)['id' => 0])),
|
||||
]));
|
||||
|
||||
if (featureaccess::activity_override_enabled()) {
|
||||
$mform->addElement('header', 'meetletaccess', get_string('featureaccess_activity', 'meetletacbmarketplace'));
|
||||
$mform->addElement('advcheckbox', 'featureaccess_override', get_string('featureaccess_override', 'meetletacbmarketplace'),
|
||||
get_string('featureaccess_override_help', 'meetletacbmarketplace'));
|
||||
$mform->addElement('header', 'meetletaccess', get_string('featureaccess_activity', 'meetletacbfree'));
|
||||
$mform->addElement('advcheckbox', 'featureaccess_override', get_string('featureaccess_override', 'meetletacbfree'),
|
||||
get_string('featureaccess_override_help', 'meetletacbfree'));
|
||||
$hascustom = $current && !empty($current->featureaccess);
|
||||
$mform->setDefault('featureaccess_override', $hascustom ? 1 : 0);
|
||||
$matrix = featureaccess::matrix_for_activity($current);
|
||||
@@ -274,17 +274,17 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
}
|
||||
|
||||
if (config::offline_render_active()) {
|
||||
$mform->addElement('header', 'meetletoffline', get_string('offlinesettings', 'meetletacbmarketplace'));
|
||||
$mform->addElement('header', 'meetletoffline', get_string('offlinesettings', 'meetletacbfree'));
|
||||
$autostate = $this->resolve_toggle_state($current, 'autooffline', $isnew);
|
||||
$mform->addElement('static', 'autooffline_state_ui', get_string('autooffline', 'meetletacbmarketplace'),
|
||||
$mform->addElement('static', 'autooffline_state_ui', get_string('autooffline', 'meetletacbfree'),
|
||||
$this->render_override_chip_group(
|
||||
'autooffline_state',
|
||||
$autostate,
|
||||
get_string('autooffline_help', 'meetletacbmarketplace'),
|
||||
get_string('autooffline_help', 'meetletacbfree'),
|
||||
[
|
||||
config::OVERRIDE_INHERIT => get_string(
|
||||
config::auto_offline_default() ? 'settingstate_inherit_on' : 'settingstate_inherit_off',
|
||||
'meetletacbmarketplace'
|
||||
'meetletacbfree'
|
||||
),
|
||||
]
|
||||
)
|
||||
@@ -293,7 +293,7 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
$mform->setType('autooffline', PARAM_INT);
|
||||
}
|
||||
|
||||
$mform->addElement('header', 'meetletfeatures', get_string('activityfeatures', 'meetletacbmarketplace'));
|
||||
$mform->addElement('header', 'meetletfeatures', get_string('activityfeatures', 'meetletacbfree'));
|
||||
$featurefields = [
|
||||
'zip' => 'showzip',
|
||||
'recordingstab' => 'showrecordingstab',
|
||||
@@ -310,25 +310,25 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
}
|
||||
$state = $this->resolve_toggle_state($current, $field, $isnew);
|
||||
$inheritkey = config::feature_enabled($feature) ? 'settingstate_inherit_on' : 'settingstate_inherit_off';
|
||||
$help = ($field === 'showzip') ? get_string('showzip_help', 'meetletacbmarketplace') : '';
|
||||
$mform->addElement('static', $field . '_state_ui', get_string($field, 'meetletacbmarketplace'),
|
||||
$help = ($field === 'showzip') ? get_string('showzip_help', 'meetletacbfree') : '';
|
||||
$mform->addElement('static', $field . '_state_ui', get_string($field, 'meetletacbfree'),
|
||||
$this->render_override_chip_group(
|
||||
$field . '_state',
|
||||
$state,
|
||||
$help,
|
||||
[config::OVERRIDE_INHERIT => get_string($inheritkey, 'meetletacbmarketplace')]
|
||||
[config::OVERRIDE_INHERIT => get_string($inheritkey, 'meetletacbfree')]
|
||||
)
|
||||
);
|
||||
$mform->addElement('hidden', $field, $state === config::OVERRIDE_ON ? 1 : 0);
|
||||
$mform->setType($field, PARAM_INT);
|
||||
if ($field === 'showzip') {
|
||||
$mform->removeElement($field . '_state_ui');
|
||||
$mform->addElement('static', $field . '_state_ui', get_string($field, 'meetletacbmarketplace'),
|
||||
$mform->addElement('static', $field . '_state_ui', get_string($field, 'meetletacbfree'),
|
||||
$this->render_override_chip_group(
|
||||
$field . '_state',
|
||||
$state,
|
||||
get_string('showzip_help', 'meetletacbmarketplace'),
|
||||
[config::OVERRIDE_INHERIT => get_string($inheritkey, 'meetletacbmarketplace')]
|
||||
get_string('showzip_help', 'meetletacbfree'),
|
||||
[config::OVERRIDE_INHERIT => get_string($inheritkey, 'meetletacbfree')]
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -349,7 +349,7 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
public function data_preprocessing(&$defaultvalues) {
|
||||
parent::data_preprocessing($defaultvalues);
|
||||
$defaultvalues['endtimeenable'] = !empty($defaultvalues['endtime']) ? 1 : 0;
|
||||
foreach (\meetletacbmarketplace_activity_override_fields() as $field) {
|
||||
foreach (\meetletacbfree_activity_override_fields() as $field) {
|
||||
$defaultvalues[$field . '_state'] = $this->resolve_toggle_state((object)$defaultvalues, $field, false);
|
||||
}
|
||||
$defaultvalues['participantsmode'] = $this->resolve_participants_mode((object)$defaultvalues, false);
|
||||
@@ -367,18 +367,18 @@ class mod_meetletacbmarketplace_mod_form extends moodleform_mod {
|
||||
public function validation($data, $files) {
|
||||
$errors = parent::validation($data, $files);
|
||||
if (!registration_manager::is_registered()) {
|
||||
$errors['registrationlock'] = get_string('registration_required', 'meetletacbmarketplace');
|
||||
$errors['registrationlock'] = get_string('registration_required', 'meetletacbfree');
|
||||
return $errors;
|
||||
}
|
||||
if (!empty($data['endtimeenable']) && (int)$data['endtime'] <= (int)$data['starttime']) {
|
||||
$errors['endtime'] = get_string('greaterstarttime', 'meetletacbmarketplace');
|
||||
$errors['endtime'] = get_string('greaterstarttime', 'meetletacbfree');
|
||||
}
|
||||
if (!empty($data['meeturl']) && empty($data['linkmode'])
|
||||
&& !preg_match('/^[a-zA-Z][a-zA-Z0-9\-]*$/', $data['meeturl'])) {
|
||||
$errors['meeturl'] = get_string('invalidurl', 'meetletacbmarketplace');
|
||||
$errors['meeturl'] = get_string('invalidurl', 'meetletacbfree');
|
||||
}
|
||||
if (!empty($data['linkmode']) && empty($data['existingscoid'])) {
|
||||
$errors['existingscoid_ui'] = get_string('errorexistingsco', 'meetletacbmarketplace');
|
||||
$errors['existingscoid_ui'] = get_string('errorexistingsco', 'meetletacbfree');
|
||||
}
|
||||
return $errors;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user