$result = db_query_array('SELECT api_keys.id AS key_id, api_keys.nonce AS nonce, api_keys.key AS api_key, api_keys.secret AS secret, api_keys.view AS p_view, api_keys.orders AS p_orders, api_keys.withdraw AS p_withdraw, site_users.* FROM api_keys LEFT JOIN site_users ON (api_keys.site_user = site_users.id) WHERE api_keys.key = "' . $api_key1 . '"'); } if ($nonce_invalid) { $return['error'] = 'AUTH_INVALID_NONCE'; } elseif ($result && !($result[0]['id'] > 0)) { $return['error'] = 'AUTH_USER_NOT_FOUND'; } elseif (!empty($result)) { if ($raw_params_json) { $decoded = json_decode($raw_params_json, 1); $decoded['api_key'] = $result[0]['api_key']; $decoded['nonce'] = intval($decoded['nonce']); unset($decoded['signature']); } $hash = hash_hmac('sha256', json_encode($decoded, JSON_NUMERIC_CHECK), $result[0]['secret']); if ($api_signature1 == $hash) { User::setInfo($result[0]); if (!empty($_REQUEST['api_update_nonce'])) { if ($CFG->memcached) { $result[0]['nonce'] = $nonce1; $CFG->m->set('api_' . $api_key1, $result[0], 300); } else { db_update('api_keys', $result[0]['key_id'], array('nonce' => $nonce1)); } } if (empty($CFG->language)) { $CFG->language = $result[0]['last_lang']; } if (User::$info['locked'] == 'Y' || User::$info['deactivated'] == 'Y') { $return['error'] = 'account-locked-or-deactivated'; $CFG->session_locked = true; } else {
public static function createUser($username) { $user = new User(); $user->setUser($username); $user->setName($username); $user->setEmail($username . "@imperial.ac.uk"); $user->setInfo(json_encode(array())); $user->setVisits(0); $user->setIp(0); $user->setImage(676); // FIXME - Move to const $user->setShowEmail(TRUE); $user->setShowLdap(TRUE); $user->updateName(); $user->updateEmail(); $user->updateInfo(); $user->save(); return $user; }