Fix webservices see BT#10725

1.10.x
jmontoya 9 years ago
parent bbbeaf5be3
commit 40e70a62ef
  1. 3
      main/cron/import_csv.php
  2. 2
      main/inc/lib/sessionmanager.lib.php
  3. 138
      main/webservices/registration.soap.php

@ -1357,7 +1357,8 @@ class ImportCsv
$courseArray = bracketsToArray($course);
$courseCode = $courseArray[0];
if (CourseManager::course_exists($courseCode)) {
$courseList[] = $courseCode;
$courseInfo = api_get_course_info($courseCode);
$courseList[] = $courseInfo['real_id'];
}
}

@ -2111,7 +2111,7 @@ class SessionManager
FROM $tbl_session_rel_user
WHERE
session_id = $sessionId AND
relation_type<>" . SESSION_RELATION_TYPE_RRHH . "";
relation_type<>" . SESSION_RELATION_TYPE_RRHH;
$result = Database::query($sql);
$user_list = Database::store_result($result);

@ -17,7 +17,8 @@ define('WS_ERROR_NOT_FOUND_RESULT', 2);
define('WS_ERROR_INVALID_INPUT', 3);
define('WS_ERROR_SETTING', 4);
function return_error($code) {
function returnError($code)
{
$fault = null;
switch ($code) {
case WS_ERROR_SECRET_KEY:
@ -226,7 +227,7 @@ function WSCreateUsers($params) {
global $_user;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$users_params = $params['users'];
@ -458,7 +459,7 @@ function WSCreateUser($params) {
global $_user, $_configuration, $debug;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$firstName = $params['firstname'];
@ -727,7 +728,7 @@ function WSCreateUsersPasswordCrypted($params)
global $_user, $_configuration;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
// database table definition
@ -1033,7 +1034,6 @@ function parseCourseSessionUserParams($params)
$courseId = $courseInfo['real_id'];
}
$sessionId = SessionManager::getSessionIdFromOriginalId(
$sessionIdValue,
$sessionIdName
@ -1073,19 +1073,30 @@ function WSSubscribeTeacherToSessionCourse($params)
global $debug;
if ($debug) error_log('WSSubscribeTeacherToSessionCourse');
if ($debug) error_log('Params '. print_r($params, 1));
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
if ($debug) error_log('Params '. print_r($params, 1));
$params = parseCourseSessionUserParams($params);
$userId = $params['user_id'];
$courseId = $params['course_id'];
$sessionId = $params['session_id'];
SessionManager::set_coach_to_course_session($userId, $sessionId, $courseId);
$coaches = SessionManager::getCoachesByCourseSession($sessionId, $courseId);
$result = 0;
return intval(SessionManager::set_coach_to_course_session($userId, $sessionId, $courseId));
if (!empty($coaches)) {
if (in_array($userId, $coaches)) {
$result = 1;
}
}
return $result;
}
$server->register(
@ -1110,19 +1121,36 @@ function WSUnsubscribeTeacherFromSessionCourse($params)
global $debug;
if ($debug) error_log('WSSubscribeTeacherToSessionCourse');
if ($debug) error_log('Params '. print_r($params, 1));
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
if ($debug) error_log('Params '. print_r($params, 1));
$params = parseCourseSessionUserParams($params);
$userId = $params['user_id'];
$courseId = $params['course_id'];
$sessionId = $params['session_id'];
return intval(SessionManager::removeUsersFromCourseSession($userId, $sessionId, $courseId));
$result = intval(SessionManager::removeUsersFromCourseSession($userId, $sessionId, $courseId));
if ($debug) error_log('Result: '. $result);
$coaches = SessionManager::getCoachesByCourseSession($sessionId, $courseId);
$result = 0;
if (!empty($coaches)) {
if (!in_array($userId, $coaches)) {
$result = 1;
}
}
return $result;
return $result;
}
/* Register WSCreateUserPasswordCrypted function */
@ -1176,7 +1204,7 @@ function WSCreateUserPasswordCrypted($params)
if ($debug) error_log(print_r($params,1));
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
// Database table definition.
@ -1473,7 +1501,7 @@ function WSEditUserCredentials($params)
global $_configuration;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userManager = UserManager::getManager();
@ -1578,7 +1606,7 @@ function WSEditUsers($params)
global $_configuration;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userManager = UserManager::getManager();
@ -1775,7 +1803,7 @@ function WSEditUser($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userManager = UserManager::getManager();
@ -1953,7 +1981,7 @@ function WSEditUserWithPicture($params)
global $_configuration;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userManager = UserManager::getManager();
@ -2185,7 +2213,7 @@ function WSEditUsersPasswordCrypted($params) {
global $_configuration;
if(!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
// get user id from id of remote system
@ -2392,7 +2420,7 @@ function WSEditUserPasswordCrypted($params)
global $_configuration;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$table_user = Database::get_main_table(TABLE_MAIN_USER);
@ -2565,7 +2593,7 @@ $server->wsdl->addComplexType(
function WSHelperActionOnUsers($params, $type) {
if(!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$original_user_ids = $params['ids'];
@ -2727,7 +2755,7 @@ $server->register('WSCreateCourse', // method name
function WSCreateCourse($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$table_course = Database :: get_main_table(TABLE_MAIN_COURSE);
@ -2972,7 +3000,7 @@ function WSCreateCourseByTitle($params)
global $firstExpirationDelay, $_configuration;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$table_course = Database::get_main_table(TABLE_MAIN_COURSE);
@ -3207,8 +3235,8 @@ $server->register('WSEditCourse', // method name
function WSEditCourse($params){
global $_configuration;
if(!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
if (!WSHelperVerifyKey($params)) {
return returnError(WS_ERROR_SECRET_KEY);
}
$course_table = Database::get_main_table(TABLE_MAIN_COURSE);
@ -3373,7 +3401,7 @@ $server->register('WSCourseDescription', // method name
function WSCourseDescription($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$array_course_desc_id = array();
@ -3676,7 +3704,7 @@ $server->register('WSDeleteCourse', // method name
function WSDeleteCourse($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$table_course = Database :: get_main_table(TABLE_MAIN_COURSE);
@ -3811,7 +3839,7 @@ function WSCreateSession($params)
$sessionAdminId = 1;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
@ -4076,7 +4104,7 @@ function WSEditSession($params)
global $_user;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
@ -4278,7 +4306,7 @@ $server->register('WSDeleteSession', // method name
function WSDeleteSession($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
@ -4424,7 +4452,7 @@ $server->register('WSSubscribeUserToCourse', // metho
function WSSubscribeUserToCourse($params) {
global $debug;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
if ($debug) error_log('WSSubscribeUserToCourse params: '.print_r($params,1));
@ -4530,7 +4558,7 @@ function WSSubscribeUserToCourseSimple($params) {
if ($debug) error_log('WSSubscribeUserToCourseSimple');
if ($debug) error_log('Params '. print_r($params, 1));
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$result = array();
$course_code = $params['course']; //Course code
@ -4614,7 +4642,7 @@ function WSGetUser($params) {
if ($debug) error_log('$params: '.print_r($params, 1));
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$result = array();
@ -4668,7 +4696,7 @@ function WSGetUserFromUsername($params) {
if ($debug) error_log('$params: '.print_r($params, 1));
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$result = array();
@ -4768,7 +4796,7 @@ $server->register('WSUnsubscribeUserFromCourse', // meth
function WSUnsubscribeUserFromCourse($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$user_table = Database::get_main_table(TABLE_MAIN_USER);
@ -4884,7 +4912,7 @@ function WSUnSubscribeUserFromCourseSimple($params)
global $debug;
error_log('WSUnSubscribeUserFromCourseSimple');
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$original_user_id_value = $params['original_user_id_value'];
@ -5055,7 +5083,7 @@ function WSSuscribeUsersToSession($params)
global $debug;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$user_table = Database::get_main_table(TABLE_MAIN_USER);
$userssessions_params = $params['userssessions'];
@ -5161,7 +5189,7 @@ function WSSubscribeUserToSessionSimple($params) {
// Check security key
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
// Get input parameters
@ -5281,7 +5309,7 @@ $server->register('WSUnsuscribeUsersFromSession', /
function WSUnsuscribeUsersFromSession($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
global $debug;
@ -5485,7 +5513,7 @@ function WSSuscribeCoursesToSession($params) {
global $debug;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
if ($debug) error_log('WSSuscribeCoursesToSession: '.print_r($params, 1));
@ -5523,7 +5551,7 @@ function WSSuscribeCoursesToSession($params) {
$courseCode = $courseInfo['code'];
SessionManager::add_courses_to_session(
$sessionId,
array($courseCode),
array($courseInfo['real_id']),
false
);
if ($debug) error_log("add_courses_to_session: course:$courseCode to session:$sessionId");
@ -5628,7 +5656,7 @@ $server->register('WSUnsuscribeCoursesFromSession',
function WSUnsuscribeCoursesFromSession($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
// Initialisation
@ -5785,7 +5813,7 @@ $server->register('WSListCourses',
function WSListCourses($params)
{
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$course_field_name = isset($params['original_course_id_name']) ? $params['original_course_id_name'] : '';
@ -5865,7 +5893,7 @@ $server->register('WSUpdateUserApiKey', // method name
function WSUpdateUserApiKey($params) {
if(!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$user_id = UserManager::get_user_id_from_original_id($params['original_user_id_value'], $params['original_user_id_name']);
@ -5964,7 +5992,7 @@ $server->register('WSListSessions', // method name
*/
function WSListSessions($params) {
if(!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$sql_params = array();
// Dates should be provided in YYYY-MM-DD format, UTC
@ -6032,7 +6060,7 @@ function WSUserSubscribedInCourse($params)
if ($debug) error_log('Params '. print_r($params, 1));
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$courseCode = $params['course']; //Course code
$userId = $params['user_id']; //chamilo user id
@ -6148,7 +6176,7 @@ $server->register(
function WSSearchSession($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$fieldsToInclude = array();
@ -6208,7 +6236,7 @@ $server->register(
function WSFetchSession($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$fieldsToInclude = explode(',', $params['extrafields']);
@ -6224,7 +6252,7 @@ function WSFetchSession($params)
$sessionData = SessionManager::fetch($params['id']);
if ($sessionData === false) {
return return_error(WS_ERROR_INVALID_INPUT);
return returnError(WS_ERROR_INVALID_INPUT);
}
if (!empty($extraFields)) {
@ -6359,7 +6387,7 @@ $server->register('WSCreateGroup', // method name
function WSCreateGroup($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userGroup = new UserGroup();
$params = [
@ -6408,7 +6436,7 @@ $server->register('WSUpdateGroup', // method name
function WSUpdateGroup($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$params['allow_member_group_to_leave'] = null;
@ -6459,7 +6487,7 @@ $server->register('WSDeleteGroup', // method name
function WSDeleteGroup($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userGroup = new UserGroup();
@ -6502,7 +6530,7 @@ $server->register('GroupBindToParent', // method name
function GroupBindToParent($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userGroup = new UserGroup();
@ -6544,7 +6572,7 @@ $server->register('GroupUnbindFromParent', // method na
function GroupUnbindFromParent($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userGroup = new UserGroup();
return $userGroup->set_parent_group($params['id'], 0);
@ -6584,7 +6612,7 @@ $server->register('WSAddUserToGroup', // method name
function WSAddUserToGroup($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userGroup = new UserGroup();
@ -6627,7 +6655,7 @@ $server->register('WSUpdateUserRoleInGroup', // method na
function WSUpdateUserRoleInGroup($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userGroup = new UserGroup();
@ -6672,7 +6700,7 @@ $server->register('WSDeleteUserFromGroup', // method name
function WSDeleteUserFromGroup($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
return returnError(WS_ERROR_SECRET_KEY);
}
$userGroup = new UserGroup();

Loading…
Cancel
Save