|
|
|
@ -11,104 +11,6 @@ require_once __DIR__.'/webservice.php'; |
|
|
|
|
*/ |
|
|
|
|
class WSUser extends WS |
|
|
|
|
{ |
|
|
|
|
/** |
|
|
|
|
* Disables a user. |
|
|
|
|
* |
|
|
|
|
* @param string API secret key |
|
|
|
|
* @param string User id field name. Use "chamilo_user_id" as the field name if you want to use the internal user_id |
|
|
|
|
* @param string User id value |
|
|
|
|
*/ |
|
|
|
|
public function DisableUser( |
|
|
|
|
$secret_key, |
|
|
|
|
$user_id_field_name, |
|
|
|
|
$user_id_value |
|
|
|
|
) { |
|
|
|
|
$verifKey = $this->verifyKey($secret_key); |
|
|
|
|
if ($verifKey instanceof WSError) { |
|
|
|
|
// Let the implementation handle it |
|
|
|
|
$this->handleError($verifKey); |
|
|
|
|
} else { |
|
|
|
|
$result = $this->changeUserActiveState( |
|
|
|
|
$user_id_field_name, |
|
|
|
|
$user_id_value, |
|
|
|
|
0 |
|
|
|
|
); |
|
|
|
|
if ($result instanceof WSError) { |
|
|
|
|
$this->handleError($result); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Disables multiple users. |
|
|
|
|
* |
|
|
|
|
* @param string API secret key |
|
|
|
|
* @param array Array of users with elements of the form |
|
|
|
|
* array('user_id_field_name' => 'name_of_field', 'user_id_value' => 'value') |
|
|
|
|
* |
|
|
|
|
* @return array Array with elements like |
|
|
|
|
* array('user_id_value' => 'value', 'result' => array('code' => 0, 'message' => 'Operation was successful')). |
|
|
|
|
* Note that if the result array contains a code different |
|
|
|
|
* than 0, an error occured |
|
|
|
|
*/ |
|
|
|
|
public function DisableUsers($secret_key, $users) |
|
|
|
|
{ |
|
|
|
|
$verifKey = $this->verifyKey($secret_key); |
|
|
|
|
if ($verifKey instanceof WSError) { |
|
|
|
|
// Let the implementation handle it |
|
|
|
|
$this->handleError($verifKey); |
|
|
|
|
} else { |
|
|
|
|
return $this->changeUsersActiveState($users, 0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Enables a user. |
|
|
|
|
* |
|
|
|
|
* @param string API secret key |
|
|
|
|
* @param string User id field name. Use "chamilo_user_id" as the field name if you want to use the internal user_id |
|
|
|
|
* @param string User id value |
|
|
|
|
*/ |
|
|
|
|
public function EnableUser($secret_key, $user_id_field_name, $user_id_value) |
|
|
|
|
{ |
|
|
|
|
$verifKey = $this->verifyKey($secret_key); |
|
|
|
|
if ($verifKey instanceof WSError) { |
|
|
|
|
$this->handleError($verifKey); |
|
|
|
|
} else { |
|
|
|
|
$result = $this->changeUserActiveState( |
|
|
|
|
$user_id_field_name, |
|
|
|
|
$user_id_value, |
|
|
|
|
1 |
|
|
|
|
); |
|
|
|
|
if ($result instanceof WSError) { |
|
|
|
|
$this->handleError($result); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Enables multiple users. |
|
|
|
|
* |
|
|
|
|
* @param string API secret key |
|
|
|
|
* @param array Array of users with elements of the form |
|
|
|
|
* array('user_id_field_name' => 'name_of_field', 'user_id_value' => 'value') |
|
|
|
|
* |
|
|
|
|
* @return array Array with elements like |
|
|
|
|
* array('user_id_value' => 'value', 'result' => array('code' => 0, 'message' => 'Operation was successful')). |
|
|
|
|
* Note that if the result array contains a code different |
|
|
|
|
* than 0, an error occured |
|
|
|
|
*/ |
|
|
|
|
public function EnableUsers($secret_key, $users) |
|
|
|
|
{ |
|
|
|
|
$verifKey = $this->verifyKey($secret_key); |
|
|
|
|
if ($verifKey instanceof WSError) { |
|
|
|
|
// Let the implementation handle it |
|
|
|
|
$this->handleError($verifKey); |
|
|
|
|
} else { |
|
|
|
|
return $this->changeUsersActiveState($users, 1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Deletes a user. |
|
|
|
|
* |
|
|
|
@ -414,65 +316,6 @@ class WSUser extends WS |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Enables or disables a user. |
|
|
|
|
* |
|
|
|
|
* @param string User id field name |
|
|
|
|
* @param string User id value |
|
|
|
|
* @param int Set to 1 to enable and to 0 to disable |
|
|
|
|
* |
|
|
|
|
* @return int |
|
|
|
|
*/ |
|
|
|
|
protected function changeUserActiveState( |
|
|
|
|
$user_id_field_name, |
|
|
|
|
$user_id_value, |
|
|
|
|
$state |
|
|
|
|
) { |
|
|
|
|
$user_id = $this->getUserId($user_id_field_name, $user_id_value); |
|
|
|
|
if ($user_id instanceof WSError) { |
|
|
|
|
return $user_id; |
|
|
|
|
} else { |
|
|
|
|
if ($state == 0) { |
|
|
|
|
UserManager::disable($user_id); |
|
|
|
|
} else { |
|
|
|
|
if ($state == 1) { |
|
|
|
|
UserManager::enable($user_id); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Enables or disables multiple users. |
|
|
|
|
* |
|
|
|
|
* @param array Users |
|
|
|
|
* @param int Set to 1 to enable and to 0 to disable |
|
|
|
|
* |
|
|
|
|
* @return array Array of results |
|
|
|
|
*/ |
|
|
|
|
protected function changeUsersActiveState($users, $state) |
|
|
|
|
{ |
|
|
|
|
$results = []; |
|
|
|
|
foreach ($users as $user) { |
|
|
|
|
$result_tmp = []; |
|
|
|
|
$result_op = $this->changeUserActiveState( |
|
|
|
|
$user['user_id_field_name'], |
|
|
|
|
$user['user_id_value'], |
|
|
|
|
$state |
|
|
|
|
); |
|
|
|
|
$result_tmp['user_id_value'] = $user['user_id_value']; |
|
|
|
|
if ($result_op instanceof WSError) { |
|
|
|
|
// Return the error in the results |
|
|
|
|
$result_tmp['result'] = $result_op->toArray(); |
|
|
|
|
} else { |
|
|
|
|
$result_tmp['result'] = $this->getSuccessfulResult(); |
|
|
|
|
} |
|
|
|
|
$results[] = $result_tmp; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $results; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Deletes a user (helper method). |
|
|
|
|
* |
|
|
|
|