public function testPutBasic() { /** * Tests a basic PUT. * * We attempt to change the user's password, realname, and access level. */ $this->request->populate('http://mantis.localhost/rest/users/4', 'PUT', 'dan', 'dan', '{"username":"******","password":"******","realname":"hey thanks","email":"dan@localhost","date_created":"2008-10-04T16:20:14-04:00","last_visit":"2008-11-23T16:19:17-05:00","enabled":true,"protected":false,"access_level":"viewer","login_count":0,"lost_password_request_count":0,"failed_login_count":0}'); $resp = $this->service->handle($this->request); $this->assertEquals($resp->status, 204); $this->assertEquals($resp->body, ''); $this->request->populate('http://mantis.localhost/rest/users/4', 'GET', 'somebody', 'newpass'); user_clear_cache(); try { $resp = $this->service->handle($this->request); } catch (HTTPException $e) { if ($e->resp->status == 401) { $this->fail('Failed to change password'); } else { throw $e; } } $new_user = json_decode($resp->body, TRUE); $this->assertEquals($new_user['realname'], 'hey thanks'); $this->assertEquals($new_user['access_level'], 'viewer'); }
/** * Sets multiple fields on a user * * @param integer $p_user_id A valid user identifier. * @param array $p_fields Keys are the field names and the values are the field values. * @return void */ function user_set_fields($p_user_id, array $p_fields) { if (!array_key_exists('protected', $p_fields)) { user_ensure_unprotected($p_user_id); } $t_query = 'UPDATE {user}'; $t_parameters = array(); foreach ($p_fields as $t_field_name => $t_field_value) { $c_field_name = db_prepare_string($t_field_name); if (count($t_parameters) == 0) { $t_query .= ' SET ' . $c_field_name . '=' . db_param(); } else { $t_query .= ' , ' . $c_field_name . '=' . db_param(); } array_push($t_parameters, $t_field_value); } $t_query .= ' WHERE id=' . db_param(); array_push($t_parameters, (int) $p_user_id); db_query($t_query, $t_parameters); user_clear_cache($p_user_id); }
function user_set_field($p_user_id, $p_field_name, $p_field_value) { $c_user_id = db_prepare_int($p_user_id); $c_field_name = db_prepare_string($p_field_name); $c_field_value = db_prepare_string($p_field_value); if ($p_field_name != "protected") { user_ensure_unprotected($p_user_id); } $t_user_table = config_get('mantis_user_table'); $query = "UPDATE {$t_user_table}\n\t\t\t\t SET {$c_field_name}='{$c_field_value}'\n\t\t\t\t WHERE id='{$c_user_id}'"; db_query($query); user_clear_cache($p_user_id); #db_query() errors on failure so: return true; }
function user_set_field($p_user_id, $p_field_name, $p_field_value) { $c_user_id = db_prepare_int($p_user_id); $c_field_name = db_prepare_string($p_field_name); if ($p_field_name != 'protected') { user_ensure_unprotected($p_user_id); } $t_user_table = db_get_table('user'); $query = 'UPDATE ' . $t_user_table . ' SET ' . $c_field_name . '=' . db_param() . ' WHERE id=' . db_param(); db_query_bound($query, array($p_field_value, $c_user_id)); user_clear_cache($p_user_id); # db_query errors on failure so: return true; }
/** * Logout the current user and remove any remaining cookies from their browser * Returns true on success, false otherwise * @access public */ function auth_logout() { global $g_cache_current_user_id, $g_cache_cookie_valid; # clear cached userid user_clear_cache($g_cache_current_user_id); $g_cache_current_user_id = null; $g_cache_cookie_valid = null; # clear cookies, if they were set if (auth_clear_cookies()) { helper_clear_pref_cookies(); } if (HTTP_AUTH == config_get('login_method')) { auth_http_set_logout_pending(true); } session_clean(); }