|
|
|
|
@ -1856,7 +1856,6 @@ class Rest extends WebService |
|
|
|
|
/** |
|
|
|
|
* @param $userParam |
|
|
|
|
* |
|
|
|
|
* @return array |
|
|
|
|
* @throws Exception |
|
|
|
|
*/ |
|
|
|
|
public function addUser($userParam): array |
|
|
|
|
@ -2116,7 +2115,8 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Add a group |
|
|
|
|
* Add a group. |
|
|
|
|
* |
|
|
|
|
* @param array Params |
|
|
|
|
*/ |
|
|
|
|
public function createGroup($params) |
|
|
|
|
@ -2125,8 +2125,6 @@ class Rest extends WebService |
|
|
|
|
|
|
|
|
|
$name = $params['name']; |
|
|
|
|
$description = $params['description']; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -2780,6 +2778,7 @@ class Rest extends WebService |
|
|
|
|
public function groupExists($name) |
|
|
|
|
{ |
|
|
|
|
$userGroup = new UserGroup(); |
|
|
|
|
|
|
|
|
|
return false !== $userGroup->usergroup_exists($name); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -3984,52 +3983,11 @@ class Rest extends WebService |
|
|
|
|
exit; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected static function generateApiKeyForUser(int $userId): string |
|
|
|
|
{ |
|
|
|
|
UserManager::add_api_key($userId, self::SERVICE_NAME); |
|
|
|
|
|
|
|
|
|
$apiKeys = UserManager::get_api_keys($userId, self::SERVICE_NAME); |
|
|
|
|
|
|
|
|
|
return current($apiKeys); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param array $additionalParams Optional |
|
|
|
|
* |
|
|
|
|
* @return string |
|
|
|
|
*/ |
|
|
|
|
private function encodeParams(array $additionalParams = []) |
|
|
|
|
{ |
|
|
|
|
$params = array_merge( |
|
|
|
|
$additionalParams, |
|
|
|
|
[ |
|
|
|
|
'api_key' => $this->apiKey, |
|
|
|
|
'username' => $this->user->getUsername(), |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
return json_encode($params); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function generateUrl(array $additionalParams = []): string |
|
|
|
|
{ |
|
|
|
|
$queryParams = [ |
|
|
|
|
'course' => $this->course ? $this->course->getId() : null, |
|
|
|
|
'session' => $this->session ? $this->session->getId() : null, |
|
|
|
|
'api_key' => $this->apiKey, |
|
|
|
|
'username' => $this->user->getUsername(), |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
return api_get_self().'?' |
|
|
|
|
.http_build_query(array_merge($queryParams, $additionalParams)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Create a group/class |
|
|
|
|
* Create a group/class. |
|
|
|
|
* |
|
|
|
|
* @param $params |
|
|
|
|
* |
|
|
|
|
* @return array |
|
|
|
|
* @throws Exception |
|
|
|
|
*/ |
|
|
|
|
public function addGroup($params): array |
|
|
|
|
@ -4056,12 +4014,11 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Delete a group/class |
|
|
|
|
* Delete a group/class. |
|
|
|
|
* |
|
|
|
|
* @param int $id |
|
|
|
|
* @throws Exception |
|
|
|
|
* |
|
|
|
|
* @return bool |
|
|
|
|
* @throws Exception |
|
|
|
|
*/ |
|
|
|
|
public function deleteGroup(int $id): array |
|
|
|
|
{ |
|
|
|
|
@ -4081,8 +4038,8 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get the list of users subscribed to the given group/class |
|
|
|
|
* @param int $groupId |
|
|
|
|
* Get the list of users subscribed to the given group/class. |
|
|
|
|
* |
|
|
|
|
* @return array The list of users (userID => [firstname, lastname, relation_type] |
|
|
|
|
*/ |
|
|
|
|
public function getGroupSubscribedUsers(int $groupId): array |
|
|
|
|
@ -4093,8 +4050,8 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get the list of courses to which the given group/class is subscribed |
|
|
|
|
* @param int $groupId |
|
|
|
|
* Get the list of courses to which the given group/class is subscribed. |
|
|
|
|
* |
|
|
|
|
* @return array The list of courses (ID => [title] |
|
|
|
|
*/ |
|
|
|
|
public function getGroupSubscribedCourses(int $groupId): array |
|
|
|
|
@ -4104,9 +4061,9 @@ class Rest extends WebService |
|
|
|
|
return $userGroup->get_courses_by_usergroup($groupId, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get the list of sessions to which the given group/class is subscribed |
|
|
|
|
* @param int $groupId |
|
|
|
|
/** |
|
|
|
|
* Get the list of sessions to which the given group/class is subscribed. |
|
|
|
|
* |
|
|
|
|
* @return array The list of courses (ID => [title] |
|
|
|
|
*/ |
|
|
|
|
public function getGroupSubscribedSessions(int $groupId): array |
|
|
|
|
@ -4117,9 +4074,8 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Add a new user to the given group/class |
|
|
|
|
* @param int $groupId |
|
|
|
|
* @param int $userId |
|
|
|
|
* Add a new user to the given group/class. |
|
|
|
|
* |
|
|
|
|
* @param int $relationType (1:admin, 2:reader, etc. See GROUP_USER_PERMISSION_ constants in api.lib.php) |
|
|
|
|
* |
|
|
|
|
* @return array One item array containing true on success, false otherwise |
|
|
|
|
@ -4132,9 +4088,8 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Add a new course to which the given group/class is subscribed |
|
|
|
|
* @param int $groupId |
|
|
|
|
* @param int $courseId |
|
|
|
|
* Add a new course to which the given group/class is subscribed. |
|
|
|
|
* |
|
|
|
|
* @return array One item array containing the ID of the course on success, nothing on failure |
|
|
|
|
*/ |
|
|
|
|
public function addGroupSubscribedCourse(int $groupId, int $courseId): array |
|
|
|
|
@ -4145,22 +4100,19 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Add a new session to which the given group/class is subscribed |
|
|
|
|
* @param int $groupId |
|
|
|
|
* @param int $sessionId |
|
|
|
|
* Add a new session to which the given group/class is subscribed. |
|
|
|
|
* |
|
|
|
|
* @return array One item array containing the ID of the session on success, nothing on failure |
|
|
|
|
*/ |
|
|
|
|
public function addGroupSubscribedSession(int $groupId, int $sessionId): array |
|
|
|
|
{ |
|
|
|
|
$userGroup = new UserGroup(); |
|
|
|
|
|
|
|
|
|
return [$userGroup->subscribe_sessions_to_usergroup($groupId, [$sessionId] ,false)]; |
|
|
|
|
return [$userGroup->subscribe_sessions_to_usergroup($groupId, [$sessionId], false)]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Remove a user from the given group/class |
|
|
|
|
* @param int $groupId |
|
|
|
|
* @param int $userId |
|
|
|
|
* Remove a user from the given group/class. |
|
|
|
|
* |
|
|
|
|
* @return array One item array containing true on success, false otherwise |
|
|
|
|
*/ |
|
|
|
|
@ -4172,9 +4124,8 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Remove a course to which the given group/class is subscribed |
|
|
|
|
* @param int $groupId |
|
|
|
|
* @param int $courseId |
|
|
|
|
* Remove a course to which the given group/class is subscribed. |
|
|
|
|
* |
|
|
|
|
* @return array One item array containing true on success, false otherwise |
|
|
|
|
*/ |
|
|
|
|
public function deleteGroupSubscribedCourse(int $groupId, int $courseId): array |
|
|
|
|
@ -4185,15 +4136,54 @@ class Rest extends WebService |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Remove a session to which the given group/class is subscribed |
|
|
|
|
* @param int $groupId |
|
|
|
|
* @param int $sessionId |
|
|
|
|
* Remove a session to which the given group/class is subscribed. |
|
|
|
|
* |
|
|
|
|
* @return array One item array containing true on success, false otherwise |
|
|
|
|
*/ |
|
|
|
|
public function deleteGroupSubscribedSession(int $groupId, int $sessionId): array |
|
|
|
|
{ |
|
|
|
|
$userGroup = new UserGroup(); |
|
|
|
|
|
|
|
|
|
return [$userGroup->unsubscribeSessionsFromUserGroup($groupId, [$sessionId] ,false)]; |
|
|
|
|
return [$userGroup->unsubscribeSessionsFromUserGroup($groupId, [$sessionId], false)]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected static function generateApiKeyForUser(int $userId): string |
|
|
|
|
{ |
|
|
|
|
UserManager::add_api_key($userId, self::SERVICE_NAME); |
|
|
|
|
|
|
|
|
|
$apiKeys = UserManager::get_api_keys($userId, self::SERVICE_NAME); |
|
|
|
|
|
|
|
|
|
return current($apiKeys); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param array $additionalParams Optional |
|
|
|
|
* |
|
|
|
|
* @return string |
|
|
|
|
*/ |
|
|
|
|
private function encodeParams(array $additionalParams = []) |
|
|
|
|
{ |
|
|
|
|
$params = array_merge( |
|
|
|
|
$additionalParams, |
|
|
|
|
[ |
|
|
|
|
'api_key' => $this->apiKey, |
|
|
|
|
'username' => $this->user->getUsername(), |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
return json_encode($params); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function generateUrl(array $additionalParams = []): string |
|
|
|
|
{ |
|
|
|
|
$queryParams = [ |
|
|
|
|
'course' => $this->course ? $this->course->getId() : null, |
|
|
|
|
'session' => $this->session ? $this->session->getId() : null, |
|
|
|
|
'api_key' => $this->apiKey, |
|
|
|
|
'username' => $this->user->getUsername(), |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
return api_get_self().'?' |
|
|
|
|
.http_build_query(array_merge($queryParams, $additionalParams)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|