/** * Authentifiate a user with a combination of a user name and an * encoded password. * * @param string $name * Username * @param string $pass * Encrypted password * @return integer */ public static function authentication($name, $pass) { $database = new Apine\Core\Database(); $connect_sql_id = $database->prepare('SELECT `id` FROM `apine_users` WHERE ( `username`=? OR `email`=? ) AND `password`=? AND `type`<>10'); $ar_connect_sql = $database->execute(array($name, $name, $pass), $connect_sql_id); if ($ar_connect_sql) { $connect = end($ar_connect_sql); $connect = $connect['id']; } else { $connect = 0; // Value of false } return $connect; }
/** * Authenticate a user with a combination of a user name and a * token string. * * @param string $a_name * Username * @param string $a_token * Token string * @param int $a_delay * @return boolean */ public static function authentication($a_name, $a_token, $a_delay) { $user = UserFactory::create_by_name($a_name); if (!is_null($user)) { $database = new Database(); $token_statement_id = $database->prepare('SELECT `id` FROM `apine_api_users_tokens` WHERE `user_id` = ? AND `token` = ? AND `last_access_date` > ? AND `disabled` = false'); $ar_token = $database->execute(array($user->get_id(), $a_token, date('d M Y H:i:s', time() - $a_delay)), $token_statement_id); if ($ar_token) { $connect = end($ar_token); $return = (int) $connect['id']; } else { $return = false; } } else { $return = false; } return $return; }
/** * Fetch a password token by token string * * @param string $a_token * @return Apine\User\PasswordToken */ public static function create_by_token($a_token) { $database = new Apine\Core\Database(); $user_sql_id = $database->prepare('SELECT `id` FROM `apine_password_tokens` WHERE `token` = ?'); $ar_user_sql = $database->execute(array($a_token), $user_sql_id); if ($ar_user_sql) { $return = new Apine\User\PasswordToken((int) $ar_user_sql[0]['id']); } else { $return = null; } return $return; }
/** * Load Properties */ private function load_properties() { $database = new Apine\Core\Database(); $request = $database->prepare('SELECT `id`, `name`, `value` FROM `apine_user_properties` WHERE `user_id` = ? ORDER BY `name` ASC'); $data = $database->execute(array($this->id), $request); if ($data != null && count($data) > 0) { foreach ($data as $item) { $this->properties[$item['name']] = new Property($item['id']); } } }