Files
Chamilo/main/inc/ajax/usergroup.ajax.php
Xes 73154ae174
Behat tests 1.11.x 🐞 / PHP 7.4 Test on ubuntu-latest (push) Canceled after 0s
PHP-CS-Fixer / composer_install (7.4) (push) Canceled after 0s
Chamilo 1.11.40 (ZIP oficial v1.11.40)
Fuente: https://github.com/chamilo/chamilo-lms/releases/download/v1.11.40/chamilo-1.11.40.zip
sha256: 1cf4bf2cc7bae1ef1a1eff643235db1d552f78ddf4b6dd1e2d2dac9868679439
Snapshot independiente (rama huerfana); diffable vs 1.11.38. vendor incluido.
2026-08-06 17:59:45 +02:00

58 lines
1.8 KiB
PHP

<?php
/* For licensing terms, see /license.txt */
/**
* Responses to AJAX calls.
*/
use Symfony\Component\HttpFoundation\Request as HttpRequest;
require_once __DIR__.'/../global.inc.php';
$httpRequest = HttpRequest::createFromGlobals();
$action = $httpRequest->query->has('a') ? $httpRequest->query->get('a') : $httpRequest->request->get('a');
$isAllowedToEdit = api_is_allowed_to_edit();
switch ($action) {
case 'get_class_by_keyword':
$keyword = $httpRequest->query->has('q') ? $httpRequest->query->get('q') : $httpRequest->request->get('q');
$allow = api_is_platform_admin() || api_is_session_admin();
if ($allow && !empty($keyword)) {
$userGroup = new UserGroup();
$where = ['where' => ['name like ?' => "%$keyword%"], 'order' => 'name '];
$items = [];
$list = $userGroup->get_all($where);
foreach ($list as $class) {
$items[] = [
'id' => $class['id'],
'text' => $class['name'],
];
}
echo json_encode(['items' => $items]);
}
break;
case 'delete_user_in_usergroup':
if ($isAllowedToEdit) {
$userGroup = new UserGroup();
$userId = $httpRequest->query->has('id')
? $httpRequest->query->getInt('id')
: $httpRequest->request->getInt('id');
$userIdList = explode(',', $userId);
$groupId = $httpRequest->query->has('group_id')
? $httpRequest->query->getInt('group_id')
: $httpRequest->request->getInt('group_id');
foreach ($userIdList as $userId) {
$userGroup->delete_user_rel_group($userId, $groupId);
}
}
break;
default:
echo '';
break;
}
exit;