Проверяет наличие пользователя по логину и паролю
Кеширует данные для дальнейшего их использования
is_auth_user($login, $password, $field)
Вернет true или false
$login — Логин либо другие значения если $field другой
$password — Пароль пользователя без шифрования
$field — Поле по которому сверяется $login
Пример использования
if (is_auth_user('1', 'gtrbh65y', 'id')) {
// Пользователь ввел верные данные
}
if (is_auth_user('your-name@mail.ru', 'gtrbh65y', 'email')) {
// Пользователь ввел верные данные
}
Код функции
function is_auth_user($value, $password, $key = 'id')
{
global $ds_users_cache;
if (!$value || !$password) {
return false;
}
$password = shif($password);
$user = db::fetch("SELECT * FROM `user` WHERE `$key` = '" . db::esc($value) . "' AND `pass` = '" . $password . "' LIMIT 1", ARRAY_A);
if (isset($user['id'])) {
if (!isset($ds_users_cache[$user['group_access']])) {
$group_access = get_group_access($user['group_access']);
$user['level'] = $group_access['level'];
$user['group_name'] = $group_access['group_name'];
$ds_users_cache[$user['id']] = use_filters('ds_users_cache_add', $user);
}
return true;
}
return false;
}