MiXeR54 Опубликовано 26 июля, 2019 Поделиться Опубликовано 26 июля, 2019 Суть: есть скрипт на авторизацию в удаленном приложении. <?php header("Content-Type: text/plain; charset=UTF-8"); // Verify login and password $login = $_GET['login']; $password = $_GET['password']; if(empty($login) || empty($password)) { exit('Empty login or password'); } // Load IPB init script \define('REPORT_EXCEPTIONS', TRUE); $_SERVER['SCRIPT_FILENAME'] = __FILE__; require_once 'init.php'; // Try authenticate $member = NULL; $ipsLogin = new \IPS\Login(); foreach($ipsLogin->usernamePasswordMethods() as $method) { try { $member = $method->authenticateUsernamePassword($ipsLogin, $login, $password); \IPS\Login::checkIfAccountIsLocked($member, TRUE); if ($member->isBanned()) { $member = NULL; continue; } break; } catch (\Exception $e) { // Do nothing } } // We're done echo($member ? 'OK:' . $member->name : 'Incorrect login or password'); ?> работает чудесно, но как добавить проверку - подтвердил ли пользователь свой email? Может кто откликнется за денежку. Открыт к предложениям. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
WaNted Опубликовано 27 июля, 2019 Поделиться Опубликовано 27 июля, 2019 if ( !\IPS\Db::i()->select( 'COUNT(*)', 'core_validating', array( 'member_id=? AND lost_pass!=1 AND forgot_security!=1', $member->member_id ) )->first() ) { // Подтвердил } Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
MiXeR54 Опубликовано 29 июля, 2019 Автор Поделиться Опубликовано 29 июля, 2019 В 27.07.2019 в 11:47, WaNted сказал: if ( !\IPS\Db::i()->select( 'COUNT(*)', 'core_validating', array( 'member_id=? AND lost_pass!=1 AND forgot_security!=1', $member->member_id ) )->first() ) { // Подтвердил } не могли бы поделиться остальной частью кода? разобраться не могу, толи как то надо подключить \IPS\Db толи еще что. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
WaNted Опубликовано 31 июля, 2019 Поделиться Опубликовано 31 июля, 2019 Вы же уже подключили init.php, этого достаточно. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
MiXeR54 Опубликовано 31 июля, 2019 Автор Поделиться Опубликовано 31 июля, 2019 8 минут назад, WaNted сказал: Вы же уже подключили init.php, этого достаточно. Да. Только что допилил, я почему то решил что first(); мне не нужен и в этом была ошибка. Спасибо за помощь. Вопрос решен. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.