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
+1 -1
View File
@@ -2,7 +2,7 @@
* Shared scroll lock for MeetLet modals.
* Uses body overflow + scroll guards — no position:fixed on body (avoids white-page flash).
*
* @package mod_meetletacbmarketplace
* @package mod_meetletacbfree
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
+5 -5
View File
@@ -54,9 +54,9 @@ require(['core/str', 'core/notification', 'core/templates', 'core/ajax'], functi
const participantAddToForm = async(selectionTypeValue, selectionValue, selectedRole, canRemove) => {
const participantData = JSON.parse(ELEMENT_SELECTOR.participantData().dataset.participantData);
const [shost, spresenter, sparticipant] = await Promise.all([
Str.get_string('role_host', 'meetletacbmarketplace'),
Str.get_string('role_presenter', 'meetletacbmarketplace'),
Str.get_string('role_participant', 'meetletacbmarketplace'),
Str.get_string('role_host', 'meetletacbfree'),
Str.get_string('role_presenter', 'meetletacbfree'),
Str.get_string('role_participant', 'meetletacbfree'),
]);
const roles = {
host: {id: 'host', label: shost},
@@ -80,7 +80,7 @@ require(['core/str', 'core/notification', 'core/templates', 'core/ajax'], functi
roles: Object.values(roles),
canRemove: canRemove,
};
const {html, js} = await Templates.renderForPromise('mod_meetletacbmarketplace/participant_form_add', templateContext);
const {html, js} = await Templates.renderForPromise('mod_meetletacbfree/participant_form_add', templateContext);
const newNode = Templates.appendNodeContents(listTable, html, js)[0];
newNode.querySelector('.participant-select').addEventListener('change', () => {
participantListRoleUpdate(selectionTypeValue, selectionValue);
@@ -337,7 +337,7 @@ require(['core/str', 'core/notification', 'core/templates', 'core/ajax'], functi
hint.textContent = strLoading;
}
return Ajax.call([{
methodname: 'mod_meetletacbmarketplace_search_server_meetings',
methodname: 'mod_meetletacbfree_search_server_meetings',
args: {
query: query || '',
limit: 10,
+1 -1
View File
@@ -1,7 +1,7 @@
/**
* Reset-to-default for site role mapping and feature-access matrix (admin settings).
*
* @package mod_meetletacbmarketplace
* @package mod_meetletacbfree
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/**
* Inline Ajax site registration on plugin settings tab (Marketplace free edition).
*
* @package mod_meetletacbmarketplace
* @package mod_meetletacbfree
* @copyright 2026 MeetLet
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
+4 -4
View File
@@ -90,8 +90,8 @@
}
function syncHoursEnabled() {
var sel = document.querySelector('select[name="s_meetletacbmarketplace_agent_dispatch"]')
|| document.getElementById('id_s_meetletacbmarketplace_agent_dispatch');
var sel = document.querySelector('select[name="s_meetletacbfree_agent_dispatch"]')
|| document.getElementById('id_s_meetletacbfree_agent_dispatch');
var wrap = document.querySelector('[data-meetlet-hours-wrap]');
if (!wrap) {
return;
@@ -127,8 +127,8 @@
applyHours(wrap, list);
}
});
var sel = document.querySelector('select[name="s_meetletacbmarketplace_agent_dispatch"]')
|| document.getElementById('id_s_meetletacbmarketplace_agent_dispatch');
var sel = document.querySelector('select[name="s_meetletacbfree_agent_dispatch"]')
|| document.getElementById('id_s_meetletacbfree_agent_dispatch');
if (sel) {
sel.addEventListener('change', syncHoursEnabled);
if (document.documentElement.getAttribute('dir') === 'rtl') {
+14 -14
View File
@@ -1,6 +1,6 @@
/**
* MeetLet activity view — page-local only (not AMD).
* Loaded only on mod/meetletacbmarketplace/view.php via $PAGE->requires->js().
* Loaded only on mod/meetletacbfree/view.php via $PAGE->requires->js().
*/
require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notification, Str) {
const SELECTORS = {
@@ -332,7 +332,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
const notifyDownloadError = (err) => {
const isAbort = err && err.name === 'AbortError';
const key = isAbort ? 'downloadcontenttimeout' : 'downloadcontentfailed';
return Str.get_string(key, 'meetletacbmarketplace').then((message) => {
return Str.get_string(key, 'meetletacbfree').then((message) => {
Notification.addNotification({message: message, type: 'error'});
return null;
}).catch(() => {
@@ -418,7 +418,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
}
input.disabled = true;
Ajax.call([{
methodname: 'mod_meetletacbmarketplace_rename_recording',
methodname: 'mod_meetletacbfree_rename_recording',
args: {
cmid: state.cmid,
recordingscoid: parseInt(wrap.getAttribute('data-recording'), 10),
@@ -497,7 +497,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
btn.addEventListener('click', () => {
setButtonBusy(btn, true);
Ajax.call([{
methodname: 'mod_meetletacbmarketplace_make_offline',
methodname: 'mod_meetletacbfree_make_offline',
args: {
cmid: state.cmid,
recordingscoid: parseInt(btn.dataset.recording, 10),
@@ -534,7 +534,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
setButtonBusy(btn, true);
setOverlay(true, 'recording');
Ajax.call([{
methodname: 'mod_meetletacbmarketplace_get_recording_launch_url',
methodname: 'mod_meetletacbfree_get_recording_launch_url',
args: {
cmid: state.cmid,
recordingscoid: scoid,
@@ -564,7 +564,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
setButtonBusy(btn, true);
setOverlay(true, 'content');
Ajax.call([{
methodname: 'mod_meetletacbmarketplace_get_content_launch_url',
methodname: 'mod_meetletacbfree_get_content_launch_url',
args: {
cmid: state.cmid,
contentscoid: scoid,
@@ -648,10 +648,10 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
return Promise.resolve();
}
return Str.get_string('loading', 'meetletacbmarketplace').then((loading) => {
return Str.get_string('loading', 'meetletacbfree').then((loading) => {
setLoading(panel, loading);
return Ajax.call([{
methodname: 'mod_meetletacbmarketplace_get_tab',
methodname: 'mod_meetletacbfree_get_tab',
args: {cmid: state.cmid, tab: tab, groupid: state.groupid},
}])[0];
}).then((response) => {
@@ -670,7 +670,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
return;
}
Ajax.call([{
methodname: 'mod_meetletacbmarketplace_get_tab',
methodname: 'mod_meetletacbfree_get_tab',
args: {cmid: state.cmid, tab: 'recordings', groupid: state.groupid},
}])[0].then((response) => {
state.cache.recordings = response.html;
@@ -796,7 +796,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
return;
}
if (response && (response.message || response.detailhtml || response.helpcode)) {
Str.get_string('joindeniedtitle', 'meetletacbmarketplace').then((title) => {
Str.get_string('joindeniedtitle', 'meetletacbfree').then((title) => {
showHelpError(response, title);
return null;
}).catch(() => showHelpError(response, ''));
@@ -805,7 +805,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
if (fallbackErr) {
const msg = (fallbackErr.message || fallbackErr.error) ? (fallbackErr.message || fallbackErr.error) : '';
if (msg) {
Str.get_string('joindeniedtitle', 'meetletacbmarketplace').then((title) => {
Str.get_string('joindeniedtitle', 'meetletacbfree').then((title) => {
showHelpError({message: msg}, title);
return null;
}).catch(() => Notification.exception(fallbackErr));
@@ -872,7 +872,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
const pollMeetingStatus = () => {
return Ajax.call([{
methodname: 'mod_meetletacbmarketplace_get_meeting_status',
methodname: 'mod_meetletacbfree_get_meeting_status',
args: {cmid: state.cmid, groupid: state.groupid},
}])[0].then((info) => {
applyMeetingStatus(info);
@@ -918,7 +918,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
const joinMeeting = () => {
if (!state.joinable) {
Str.get_strings([
{key: 'joindeniedtitle', component: 'meetletacbmarketplace'},
{key: 'joindeniedtitle', component: 'meetletacbfree'},
]).then((strings) => {
const msg = (state.status === 'waitinghost' || state.status === 'checking')
? (state.strJoinWaiting || state.statusMessage || '')
@@ -936,7 +936,7 @@ require(['core/ajax', 'core/notification', 'core/str'], function(Ajax, Notificat
}
setOverlay(true, 'meeting');
Ajax.call([{
methodname: 'mod_meetletacbmarketplace_get_join_url',
methodname: 'mod_meetletacbfree_get_join_url',
args: {cmid: state.cmid, groupid: state.groupid},
}])[0].then((response) => {
setOverlay(false);