Rename marketplace plugin to meetletacbfree (mdl_modules.name limit + CI table prefixes)
This commit is contained in:
+13
-13
@@ -17,25 +17,25 @@
|
||||
/**
|
||||
* Ajax: SSO URL to view uploaded meeting content in Adobe Connect.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet <info@meetlet.net>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace mod_meetletacbmarketplace\external;
|
||||
namespace mod_meetletacbfree\external;
|
||||
|
||||
use core_external\external_api;
|
||||
use core_external\external_function_parameters;
|
||||
use core_external\external_single_structure;
|
||||
use core_external\external_value;
|
||||
use mod_meetletacbmarketplace\api\service;
|
||||
use mod_meetletacbmarketplace\local\config;
|
||||
use mod_meetletacbmarketplace\local\content;
|
||||
use mod_meetletacbmarketplace\local\featureaccess;
|
||||
use mod_meetletacbmarketplace\local\instance;
|
||||
use mod_meetletacbmarketplace\local\roles;
|
||||
use mod_meetletacbmarketplace\local\sso;
|
||||
use mod_meetletacbmarketplace\local\usererror;
|
||||
use mod_meetletacbfree\api\service;
|
||||
use mod_meetletacbfree\local\config;
|
||||
use mod_meetletacbfree\local\content;
|
||||
use mod_meetletacbfree\local\featureaccess;
|
||||
use mod_meetletacbfree\local\instance;
|
||||
use mod_meetletacbfree\local\roles;
|
||||
use mod_meetletacbfree\local\sso;
|
||||
use mod_meetletacbfree\local\usererror;
|
||||
use moodle_exception;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
@@ -61,11 +61,11 @@ class get_content_launch_url extends external_api {
|
||||
'groupid' => $groupid,
|
||||
]);
|
||||
|
||||
\mod_meetletacbmarketplace\registration\manager::require_registered();
|
||||
\mod_meetletacbfree\registration\manager::require_registered();
|
||||
|
||||
$inst = instance::get_from_cmid($params['cmid'], $params['groupid']);
|
||||
self::validate_context($inst->context);
|
||||
require_capability('mod/meetletacbmarketplace:view', $inst->context);
|
||||
require_capability('mod/meetletacbfree:view', $inst->context);
|
||||
featureaccess::require_feature(featureaccess::CONTENT, $inst->context, $inst->record);
|
||||
|
||||
$service = new service();
|
||||
@@ -74,7 +74,7 @@ class get_content_launch_url extends external_api {
|
||||
$service->logout();
|
||||
|
||||
if (!$item || empty($item->urlpath)) {
|
||||
throw new moodle_exception('nocontent', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('nocontent', 'meetletacbfree');
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Vendored
+19
-19
@@ -17,23 +17,23 @@
|
||||
/**
|
||||
* Ajax: build SSO join URL.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace mod_meetletacbmarketplace\external;
|
||||
namespace mod_meetletacbfree\external;
|
||||
|
||||
use core_external\external_api;
|
||||
use core_external\external_function_parameters;
|
||||
use core_external\external_single_structure;
|
||||
use core_external\external_value;
|
||||
use mod_meetletacbmarketplace\api\service;
|
||||
use mod_meetletacbmarketplace\local\config;
|
||||
use mod_meetletacbmarketplace\local\instance;
|
||||
use mod_meetletacbmarketplace\local\roles;
|
||||
use mod_meetletacbmarketplace\local\sso;
|
||||
use mod_meetletacbmarketplace\local\usererror;
|
||||
use mod_meetletacbfree\api\service;
|
||||
use mod_meetletacbfree\local\config;
|
||||
use mod_meetletacbfree\local\instance;
|
||||
use mod_meetletacbfree\local\roles;
|
||||
use mod_meetletacbfree\local\sso;
|
||||
use mod_meetletacbfree\local\usererror;
|
||||
use moodle_exception;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
@@ -57,17 +57,17 @@ class get_join_url extends external_api {
|
||||
'groupid' => $groupid,
|
||||
]);
|
||||
|
||||
\mod_meetletacbmarketplace\registration\manager::require_registered();
|
||||
\mod_meetletacbfree\registration\manager::require_registered();
|
||||
|
||||
$inst = instance::get_from_cmid($params['cmid'], $params['groupid']);
|
||||
self::validate_context($inst->context);
|
||||
require_capability('mod/meetletacbmarketplace:view', $inst->context);
|
||||
if (!\mod_meetletacbmarketplace\local\featureaccess::allowed(
|
||||
\mod_meetletacbmarketplace\local\featureaccess::JOIN,
|
||||
require_capability('mod/meetletacbfree:view', $inst->context);
|
||||
if (!\mod_meetletacbfree\local\featureaccess::allowed(
|
||||
\mod_meetletacbfree\local\featureaccess::JOIN,
|
||||
$inst->context,
|
||||
$inst->record
|
||||
)) {
|
||||
throw new moodle_exception('notparticipant', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('notparticipant', 'meetletacbfree');
|
||||
}
|
||||
|
||||
if ($inst->cm->groupmode != NOGROUPS) {
|
||||
@@ -75,21 +75,21 @@ class get_join_url extends external_api {
|
||||
$usrgroups = $usrgroups[0] ?? [];
|
||||
$aag = has_capability('moodle/site:accessallgroups', $inst->context);
|
||||
if (!$aag && $params['groupid'] && !in_array($params['groupid'], $usrgroups, false)) {
|
||||
throw new moodle_exception('usergrouprequired', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('usergrouprequired', 'meetletacbfree');
|
||||
}
|
||||
}
|
||||
|
||||
$adoberole = roles::resolve_adobe_role($inst->record, $inst->context, $USER->id);
|
||||
if ($adoberole === null) {
|
||||
throw new moodle_exception('notparticipant', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('notparticipant', 'meetletacbfree');
|
||||
}
|
||||
|
||||
try {
|
||||
// Gate join before any Adobe user provisioning / SSO.
|
||||
$lifecycle = \mod_meetletacbmarketplace\local\meetingstatus::resolve($inst, (int)$USER->id, true);
|
||||
$lifecycle = \mod_meetletacbfree\local\meetingstatus::resolve($inst, (int)$USER->id, true);
|
||||
if (empty($lifecycle['joinable'])) {
|
||||
$code = !empty($lifecycle['errorcode']) ? $lifecycle['errorcode'] : 'meetingended';
|
||||
throw new moodle_exception($code, 'meetletacbmarketplace');
|
||||
throw new moodle_exception($code, 'meetletacbfree');
|
||||
}
|
||||
|
||||
$scoid = $inst->require_meeting();
|
||||
@@ -98,13 +98,13 @@ class get_join_url extends external_api {
|
||||
$info = $service->meeting_info($scoid);
|
||||
$service->logout();
|
||||
if (!$info) {
|
||||
throw new moodle_exception('nomeeting', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('nomeeting', 'meetletacbfree');
|
||||
}
|
||||
|
||||
$auth = sso::provision_and_login($USER, $scoid, $adoberole);
|
||||
$url = config::with_html_client(config::public_url($info->url, $auth['cookie']));
|
||||
|
||||
$event = \mod_meetletacbmarketplace\event\meeting_joined::create([
|
||||
$event = \mod_meetletacbfree\event\meeting_joined::create([
|
||||
'context' => $inst->context,
|
||||
'objectid' => $inst->record->id,
|
||||
'relateduserid' => $USER->id,
|
||||
|
||||
+7
-7
@@ -17,20 +17,20 @@
|
||||
/**
|
||||
* Ajax: poll meeting join status.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace mod_meetletacbmarketplace\external;
|
||||
namespace mod_meetletacbfree\external;
|
||||
|
||||
use core_external\external_api;
|
||||
use core_external\external_function_parameters;
|
||||
use core_external\external_single_structure;
|
||||
use core_external\external_value;
|
||||
use mod_meetletacbmarketplace\local\featureaccess;
|
||||
use mod_meetletacbmarketplace\local\instance;
|
||||
use mod_meetletacbmarketplace\local\meetingstatus;
|
||||
use mod_meetletacbfree\local\featureaccess;
|
||||
use mod_meetletacbfree\local\instance;
|
||||
use mod_meetletacbfree\local\meetingstatus;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
@@ -53,11 +53,11 @@ class get_meeting_status extends external_api {
|
||||
'groupid' => $groupid,
|
||||
]);
|
||||
|
||||
\mod_meetletacbmarketplace\registration\manager::require_registered();
|
||||
\mod_meetletacbfree\registration\manager::require_registered();
|
||||
|
||||
$inst = instance::get_from_cmid($params['cmid'], $params['groupid']);
|
||||
self::validate_context($inst->context);
|
||||
require_capability('mod/meetletacbmarketplace:view', $inst->context);
|
||||
require_capability('mod/meetletacbfree:view', $inst->context);
|
||||
|
||||
$info = meetingstatus::resolve($inst, (int)$USER->id, true);
|
||||
$featurejoin = featureaccess::allowed(featureaccess::JOIN, $inst->context, $inst->record);
|
||||
|
||||
+14
-14
@@ -17,24 +17,24 @@
|
||||
/**
|
||||
* Ajax: SSO URL to play or edit a recording in Adobe Connect.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet <info@meetlet.net>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace mod_meetletacbmarketplace\external;
|
||||
namespace mod_meetletacbfree\external;
|
||||
|
||||
use core_external\external_api;
|
||||
use core_external\external_function_parameters;
|
||||
use core_external\external_single_structure;
|
||||
use core_external\external_value;
|
||||
use mod_meetletacbmarketplace\api\service;
|
||||
use mod_meetletacbmarketplace\local\config;
|
||||
use mod_meetletacbmarketplace\local\featureaccess;
|
||||
use mod_meetletacbmarketplace\local\instance;
|
||||
use mod_meetletacbmarketplace\local\roles;
|
||||
use mod_meetletacbmarketplace\local\sso;
|
||||
use mod_meetletacbmarketplace\local\usererror;
|
||||
use mod_meetletacbfree\api\service;
|
||||
use mod_meetletacbfree\local\config;
|
||||
use mod_meetletacbfree\local\featureaccess;
|
||||
use mod_meetletacbfree\local\instance;
|
||||
use mod_meetletacbfree\local\roles;
|
||||
use mod_meetletacbfree\local\sso;
|
||||
use mod_meetletacbfree\local\usererror;
|
||||
use moodle_exception;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
@@ -64,26 +64,26 @@ class get_recording_launch_url extends external_api {
|
||||
|
||||
$mode = strtolower($params['mode']);
|
||||
if (!in_array($mode, ['play', 'edit'], true)) {
|
||||
throw new moodle_exception('error', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('error', 'meetletacbfree');
|
||||
}
|
||||
|
||||
\mod_meetletacbmarketplace\registration\manager::require_registered();
|
||||
\mod_meetletacbfree\registration\manager::require_registered();
|
||||
|
||||
$inst = instance::get_from_cmid($params['cmid'], $params['groupid']);
|
||||
self::validate_context($inst->context);
|
||||
require_capability('mod/meetletacbmarketplace:view', $inst->context);
|
||||
require_capability('mod/meetletacbfree:view', $inst->context);
|
||||
featureaccess::require_feature(featureaccess::RECORDINGS, $inst->context, $inst->record);
|
||||
|
||||
if ($mode === 'edit') {
|
||||
featureaccess::require_feature(featureaccess::ADOBEEDITOR, $inst->context, $inst->record);
|
||||
}
|
||||
|
||||
$record = $DB->get_record('meetlet_marketplace_recordings', [
|
||||
$record = $DB->get_record('meetletacbfree_recordings', [
|
||||
'instanceid' => $inst->record->id,
|
||||
'recordingscoid' => $params['recordingscoid'],
|
||||
]);
|
||||
if (!$record || empty($record->urlpath)) {
|
||||
throw new moodle_exception('norecordings', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('norecordings', 'meetletacbfree');
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Vendored
+31
-31
@@ -17,24 +17,24 @@
|
||||
/**
|
||||
* Ajax: load tab HTML/data.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace mod_meetletacbmarketplace\external;
|
||||
namespace mod_meetletacbfree\external;
|
||||
|
||||
use core_external\external_api;
|
||||
use core_external\external_function_parameters;
|
||||
use core_external\external_single_structure;
|
||||
use core_external\external_value;
|
||||
use mod_meetletacbmarketplace\api\service;
|
||||
use mod_meetletacbmarketplace\local\config;
|
||||
use mod_meetletacbmarketplace\local\content;
|
||||
use mod_meetletacbmarketplace\local\featureaccess;
|
||||
use mod_meetletacbmarketplace\local\icons;
|
||||
use mod_meetletacbmarketplace\local\instance;
|
||||
use mod_meetletacbmarketplace\local\recordings;
|
||||
use mod_meetletacbfree\api\service;
|
||||
use mod_meetletacbfree\local\config;
|
||||
use mod_meetletacbfree\local\content;
|
||||
use mod_meetletacbfree\local\featureaccess;
|
||||
use mod_meetletacbfree\local\icons;
|
||||
use mod_meetletacbfree\local\instance;
|
||||
use mod_meetletacbfree\local\recordings;
|
||||
use moodle_exception;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
@@ -60,16 +60,16 @@ class get_tab extends external_api {
|
||||
'groupid' => $groupid,
|
||||
]);
|
||||
|
||||
\mod_meetletacbmarketplace\registration\manager::require_registered();
|
||||
\mod_meetletacbfree\registration\manager::require_registered();
|
||||
|
||||
$inst = instance::get_from_cmid($params['cmid'], $params['groupid']);
|
||||
self::validate_context($inst->context);
|
||||
require_capability('mod/meetletacbmarketplace:view', $inst->context);
|
||||
require_capability('mod/meetletacbfree:view', $inst->context);
|
||||
$PAGE->set_context($inst->context);
|
||||
|
||||
if (!config::is_configured()) {
|
||||
return [
|
||||
'html' => \html_writer::div(get_string('notconfigured', 'meetletacbmarketplace'), 'meetlet-alert'),
|
||||
'html' => \html_writer::div(get_string('notconfigured', 'meetletacbfree'), 'meetlet-alert'),
|
||||
'tab' => $params['tab'],
|
||||
];
|
||||
}
|
||||
@@ -78,11 +78,11 @@ class get_tab extends external_api {
|
||||
switch ($params['tab']) {
|
||||
case 'details':
|
||||
// Served locally in the activity page; keep endpoint defensive.
|
||||
$html = \html_writer::div(get_string('emptydetails', 'meetletacbmarketplace'), 'meetlet-empty');
|
||||
$html = \html_writer::div(get_string('emptydetails', 'meetletacbfree'), 'meetlet-empty');
|
||||
break;
|
||||
case 'info':
|
||||
// Legacy tab id — no Adobe call.
|
||||
$html = \html_writer::div(get_string('emptydetails', 'meetletacbmarketplace'), 'meetlet-empty');
|
||||
$html = \html_writer::div(get_string('emptydetails', 'meetletacbfree'), 'meetlet-empty');
|
||||
break;
|
||||
case 'recordings':
|
||||
featureaccess::require_feature(featureaccess::RECORDINGS, $inst->context, $inst->record);
|
||||
@@ -93,7 +93,7 @@ class get_tab extends external_api {
|
||||
$html = self::render_content($inst);
|
||||
break;
|
||||
default:
|
||||
throw new moodle_exception('error', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('error', 'meetletacbfree');
|
||||
}
|
||||
|
||||
return ['html' => $html, 'tab' => $params['tab']];
|
||||
@@ -110,7 +110,7 @@ class get_tab extends external_api {
|
||||
* Toolbar with refresh for cacheable Adobe tabs.
|
||||
*/
|
||||
protected static function wrap_refreshable(string $html, string $tab, bool $pending = false): string {
|
||||
$refreshlabel = get_string('refreshtab', 'meetletacbmarketplace');
|
||||
$refreshlabel = get_string('refreshtab', 'meetletacbfree');
|
||||
$refreshcontent = icons::svg('refresh')
|
||||
. \html_writer::span($refreshlabel, 'meetlet-btn-with-icon__label');
|
||||
$bits = [
|
||||
@@ -125,7 +125,7 @@ class get_tab extends external_api {
|
||||
];
|
||||
if ($pending) {
|
||||
$bits[] = \html_writer::div(
|
||||
\html_writer::span(get_string('jobpollwait', 'meetletacbmarketplace'), 'meetlet-jobpoll__label') .
|
||||
\html_writer::span(get_string('jobpollwait', 'meetletacbfree'), 'meetlet-jobpoll__label') .
|
||||
\html_writer::div(\html_writer::div('', 'meetlet-jobpoll__bar'), 'meetlet-jobpoll__track'),
|
||||
'meetlet-jobpoll',
|
||||
['aria-live' => 'polite']
|
||||
@@ -206,7 +206,7 @@ class get_tab extends external_api {
|
||||
$rows = recordings::for_tab($inst);
|
||||
if (empty($rows)) {
|
||||
return self::wrap_refreshable(
|
||||
\html_writer::div(get_string('norecordings', 'meetletacbmarketplace'), 'meetlet-empty'),
|
||||
\html_writer::div(get_string('norecordings', 'meetletacbfree'), 'meetlet-empty'),
|
||||
'recordings'
|
||||
);
|
||||
}
|
||||
@@ -215,21 +215,21 @@ class get_tab extends external_api {
|
||||
$table = new \html_table();
|
||||
$table->attributes['class'] = 'generaltable meetlet-table meetlet-table--recordings';
|
||||
$table->head = [
|
||||
get_string('recordingname', 'meetletacbmarketplace'),
|
||||
get_string('recordingdate', 'meetletacbmarketplace'),
|
||||
get_string('duration', 'meetletacbmarketplace'),
|
||||
get_string('sessiondetails', 'meetletacbmarketplace'),
|
||||
get_string('recordingname', 'meetletacbfree'),
|
||||
get_string('recordingdate', 'meetletacbfree'),
|
||||
get_string('duration', 'meetletacbfree'),
|
||||
get_string('sessiondetails', 'meetletacbfree'),
|
||||
];
|
||||
foreach ($rows as $r) {
|
||||
$actions = [];
|
||||
$actions[] = self::icon_action('play', get_string('play', 'meetletacbmarketplace'), [
|
||||
$actions[] = self::icon_action('play', get_string('play', 'meetletacbfree'), [
|
||||
'class' => 'meetlet-iconbtn--play',
|
||||
'data-action' => 'launch-recording',
|
||||
'data-mode' => 'play',
|
||||
'data-recording' => $r->recordingscoid,
|
||||
]);
|
||||
if ($canadobeedit && !empty($r->urlpath)) {
|
||||
$actions[] = self::icon_action('adobeedit', get_string('adobeeditor', 'meetletacbmarketplace'), [
|
||||
$actions[] = self::icon_action('adobeedit', get_string('adobeeditor', 'meetletacbfree'), [
|
||||
'class' => 'meetlet-iconbtn--adobeedit',
|
||||
'data-action' => 'launch-recording',
|
||||
'data-mode' => 'edit',
|
||||
@@ -257,7 +257,7 @@ class get_tab extends external_api {
|
||||
if (!$canedit) {
|
||||
return \html_writer::div($text, 'meetlet-recname');
|
||||
}
|
||||
$pencil = self::icon_action('edit', get_string('editrecording', 'meetletacbmarketplace'), [
|
||||
$pencil = self::icon_action('edit', get_string('editrecording', 'meetletacbfree'), [
|
||||
'class' => 'meetlet-iconbtn--edit meetlet-iconbtn--inline',
|
||||
'data-action' => 'inline-rename',
|
||||
]);
|
||||
@@ -283,7 +283,7 @@ class get_tab extends external_api {
|
||||
$service->logout();
|
||||
if (empty($items)) {
|
||||
return self::wrap_refreshable(
|
||||
\html_writer::div(get_string('nocontent', 'meetletacbmarketplace'), 'meetlet-empty'),
|
||||
\html_writer::div(get_string('nocontent', 'meetletacbfree'), 'meetlet-empty'),
|
||||
'content'
|
||||
);
|
||||
}
|
||||
@@ -291,10 +291,10 @@ class get_tab extends external_api {
|
||||
$table->attributes['class'] = 'generaltable meetlet-table meetlet-table--content';
|
||||
$table->head = [
|
||||
get_string('name'),
|
||||
get_string('contenttype', 'meetletacbmarketplace'),
|
||||
get_string('contentsize', 'meetletacbmarketplace'),
|
||||
get_string('contentdate', 'meetletacbmarketplace'),
|
||||
get_string('sessiondetails', 'meetletacbmarketplace'),
|
||||
get_string('contenttype', 'meetletacbfree'),
|
||||
get_string('contentsize', 'meetletacbfree'),
|
||||
get_string('contentdate', 'meetletacbfree'),
|
||||
get_string('sessiondetails', 'meetletacbfree'),
|
||||
];
|
||||
foreach ($items as $item) {
|
||||
$scoid = (int)($item->scoid ?? 0);
|
||||
@@ -307,7 +307,7 @@ class get_tab extends external_api {
|
||||
];
|
||||
if ($scoid > 0 && !empty($item->name)) {
|
||||
$dlurl = content::download_url((int)$USER->id, (int)$inst->cm->id, $scoid)->out(false);
|
||||
$actions[] = self::icon_action('download', get_string('downloadcontent', 'meetletacbmarketplace'), [
|
||||
$actions[] = self::icon_action('download', get_string('downloadcontent', 'meetletacbfree'), [
|
||||
'href' => $dlurl,
|
||||
'class' => 'meetlet-iconbtn--download',
|
||||
'target' => '_self',
|
||||
|
||||
+13
-13
@@ -17,19 +17,19 @@
|
||||
/**
|
||||
* Ajax: rename a recording SCO.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace mod_meetletacbmarketplace\external;
|
||||
namespace mod_meetletacbfree\external;
|
||||
|
||||
use core_external\external_api;
|
||||
use core_external\external_function_parameters;
|
||||
use core_external\external_single_structure;
|
||||
use core_external\external_value;
|
||||
use mod_meetletacbmarketplace\api\service;
|
||||
use mod_meetletacbmarketplace\local\instance;
|
||||
use mod_meetletacbfree\api\service;
|
||||
use mod_meetletacbfree\local\instance;
|
||||
use moodle_exception;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
@@ -57,20 +57,20 @@ class rename_recording extends external_api {
|
||||
'groupid' => $groupid,
|
||||
]);
|
||||
|
||||
\mod_meetletacbmarketplace\registration\manager::require_registered();
|
||||
\mod_meetletacbfree\registration\manager::require_registered();
|
||||
|
||||
$inst = instance::get_from_cmid($params['cmid'], $params['groupid']);
|
||||
self::validate_context($inst->context);
|
||||
require_capability('mod/meetletacbmarketplace:view', $inst->context);
|
||||
\mod_meetletacbmarketplace\local\featureaccess::require_feature(
|
||||
\mod_meetletacbmarketplace\local\featureaccess::EDITRECORDING,
|
||||
require_capability('mod/meetletacbfree:view', $inst->context);
|
||||
\mod_meetletacbfree\local\featureaccess::require_feature(
|
||||
\mod_meetletacbfree\local\featureaccess::EDITRECORDING,
|
||||
$inst->context,
|
||||
$inst->record
|
||||
);
|
||||
|
||||
$name = trim($params['name']);
|
||||
if ($name === '') {
|
||||
throw new moodle_exception('error', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('error', 'meetletacbfree');
|
||||
}
|
||||
|
||||
$service = new service();
|
||||
@@ -78,23 +78,23 @@ class rename_recording extends external_api {
|
||||
$ok = $service->rename_sco((int)$params['recordingscoid'], $name);
|
||||
$service->logout();
|
||||
if (!$ok) {
|
||||
throw new moodle_exception('errorrenamerecording', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('errorrenamerecording', 'meetletacbfree');
|
||||
}
|
||||
|
||||
$record = $DB->get_record('meetlet_marketplace_recordings', [
|
||||
$record = $DB->get_record('meetletacbfree_recordings', [
|
||||
'instanceid' => $inst->record->id,
|
||||
'recordingscoid' => (int)$params['recordingscoid'],
|
||||
]);
|
||||
if ($record) {
|
||||
$record->name = $name;
|
||||
$record->timemodified = time();
|
||||
$DB->update_record('meetlet_marketplace_recordings', $record);
|
||||
$DB->update_record('meetletacbfree_recordings', $record);
|
||||
}
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
'name' => $name,
|
||||
'message' => get_string('recordingrenamed', 'meetletacbmarketplace'),
|
||||
'message' => get_string('recordingrenamed', 'meetletacbfree'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -17,20 +17,20 @@
|
||||
/**
|
||||
* Ajax: search/list existing Adobe meetings for the mod form.
|
||||
*
|
||||
* @package mod_meetletacbmarketplace
|
||||
* @package mod_meetletacbfree
|
||||
* @copyright 2026 MeetLet
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace mod_meetletacbmarketplace\external;
|
||||
namespace mod_meetletacbfree\external;
|
||||
|
||||
use core_external\external_api;
|
||||
use core_external\external_function_parameters;
|
||||
use core_external\external_multiple_structure;
|
||||
use core_external\external_single_structure;
|
||||
use core_external\external_value;
|
||||
use mod_meetletacbmarketplace\api\service;
|
||||
use mod_meetletacbmarketplace\local\config;
|
||||
use mod_meetletacbfree\api\service;
|
||||
use mod_meetletacbfree\local\config;
|
||||
use moodle_exception;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
@@ -54,7 +54,7 @@ class search_server_meetings extends external_api {
|
||||
'courseid' => $courseid,
|
||||
]);
|
||||
|
||||
\mod_meetletacbmarketplace\registration\manager::require_registered();
|
||||
\mod_meetletacbfree\registration\manager::require_registered();
|
||||
|
||||
if (!empty($params['courseid'])) {
|
||||
$context = \context_course::instance((int)$params['courseid']);
|
||||
@@ -63,12 +63,12 @@ class search_server_meetings extends external_api {
|
||||
}
|
||||
self::validate_context($context);
|
||||
if (!has_capability('moodle/course:manageactivities', $context)
|
||||
&& !has_capability('mod/meetletacbmarketplace:addinstance', $context)) {
|
||||
&& !has_capability('mod/meetletacbfree:addinstance', $context)) {
|
||||
throw new moodle_exception('nopermissions', 'error', '', 'search meetings');
|
||||
}
|
||||
|
||||
if (!config::is_configured()) {
|
||||
throw new moodle_exception('notconfigured', 'meetletacbmarketplace');
|
||||
throw new moodle_exception('notconfigured', 'meetletacbfree');
|
||||
}
|
||||
|
||||
$limit = max(1, min(50, (int)$params['limit']));
|
||||
|
||||
Reference in New Issue
Block a user