Files
anpdf/app/routes/auth.php
Andrey Kuvshinov e33f3e9e3e delete link password
2020-08-29 13:18:05 +03:00

265 lines
6.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
function login_kuri(){
if (isset($_POST['username']) and isset($_POST['password'])){
$result = api_login($_POST['username'], $_POST['password']);
if (isset($result['error'])){
$error = $result['error'];
}
if (isset($result['data'])) {
add_user_cookie($result['data']['client_id'], $result['data']['clientpassword']);
header('Location: '.SITE.'mybooks');
}
}
// if (isset($_COOKIE['chitatel'])){
// out();
// }
$tempcontent = VIEWPATH.'login.phtml';
include VIEWPATH.'layout_lite.phtml';
return true;
}
function out_kuri(){
if (isset($_COOKIE['chitatel'])) {
unset($_COOKIE['chitatel']);
setcookie('chitatel', null, -1,'/', $_SERVER['HTTP_HOST']);
}
if (isset($_COOKIE['code'])) {
unset($_COOKIE['code']);
setcookie('code', null, -1, '/', $_SERVER['HTTP_HOST']);
}
header('Location: '.SITE.'login');
}
function add_user_cookie($user, $pwd){
$timeout = time()+(60*60*24*30);
// ini_set ("session.use_trans_sid", true);
// session_start();
$secret = client_secret($user, $pwd);
setcookie ("chitatel", $user, $timeout, '/', $_SERVER['HTTP_HOST']);
setcookie ("code", $secret, $timeout, '/', $_SERVER['HTTP_HOST']);
}
function check_login_kuri(){
//ini_set ("session.use_trans_sid", true);
//session_start();
$client = client_check_auth($_COOKIE['chitatel'], $_COOKIE['code']);
if (!isset($client['data'])){
return $client;
}
else {
return $client['data'];
}
//$_SESSION['id'] = $row['id']; //записываем в сессию id пользователя
}
function redirect_login(){
header('Location: '.SITE.'login');
exit;
}
//имитируем заход под юзером
function test_client_hash_kuri($hash){
$client = client_find_hash($hash);
print_r($client);
if (!isset($client['error'])) {
out_kuri();
add_user_cookie($client['client_id'],$client['clientpassword']);
}
exit;
return;
}
function reminder_kuri(){
if (isset($_POST['resetmail'])){
$resetmail = trim(mb_strtolower($_POST['resetmail']));
$client = db_get("SELECT * FROM `clients` WHERE `clientmail` = '$resetmail' LIMIT 1");
if (count($client) > 0 ) {
$resetdate = date('Y-m-d G:i:s');
$items = array();
$items['resetmail'] = $resetmail;
$items['client_id'] = $client['client_id'];
$items['resetdate'] = $resetdate;
$items['resetstatus'] = 0;
$items['resethash'] = md5($resetmail.$resetdate);
$result = db_insert('resetpwd', $items, 'chitatel');
$link = SITE.'resetpassword/'.$items['resethash'];
$mailconfig = set('noreply');
$mail['mail'] = $resetmail;
$mail['subject'] = 'КЛАН: создание пароля';
$mail['message'] = "
Вы запросили изменения пароля для Вашей учетной записи.\n
Для установления пароля пройдите по ссылке - $link.\n\n
- Не передавайте эту ссылку сторонним лицам!\n
- Если Вы не запрашивали это действие просто проигнорируйте данное письмо.\n\n
По вопросам обращайтесь на почту: shop@argumenti.ru
";
sendmail($mailconfig, $mail);
$tempcontent = VIEWPATH.'reminder_end.phtml';
include VIEWPATH.'layout_lite.phtml'; //центральный шаблон
}
else {
$error = 'Адрес электронной почты не найден';
$tempcontent = VIEWPATH.'reminder.phtml';
include VIEWPATH.'layout_lite.phtml'; //центральный шаблон
}
}
else {
$tempcontent = VIEWPATH.'reminder.phtml';
include VIEWPATH.'layout_lite.phtml'; //центральный шаблон
}
}
function resetpassword_kuri($hash){
$url = "/resetpassword/$hash";
$minlen = 5;
$resetsql = "SELECT * FROM `resetpwd` WHERE `resethash` = '$hash' AND `resetstatus` = '0' LIMIT 1";
$resetclient = db_get($resetsql);
if (count($resetclient) > 0){
if (isset($_POST['reset-submit'])){
$result = client_add_password($resetclient['client_id'], $_POST['new-password'], $_POST['confirm-password'], $minlen);
if (isset($result['newpassword'])){
$updsql = "UPDATE `resetpwd` SET `resetstatus` = 1 WHERE `resetpwd_id` = '".$resetclient['resetpwd_id']."'" ;
db_get($updsql, 'chitatel');
add_user_cookie($client['client_id'], $result['newpassword']);
$linklab = SITE.'mybooks';
$viewform = False;
}
}
else {
$viewform = True;
}
$tempcontent = VIEWPATH.'reset.phtml';
include VIEWPATH.'layout_lite.phtml';
}
else {
echo 'неверная ссылка';
return false;
}
return True;
}
// if(password_verify($_POST["password"],$hashed_password))
function resetpwd_kuri($hash){
$url = "/resetpwd/$hash";
$minlen = 5;
$viewform = true;
$client = client_find_hash($hash);
if (isset($client['error'])) {
$error = $client['error'];
$viewform = False;
}
else if ($client['clientpassword'] !== ''){
$error = 'Пароль уже был изменен';
$viewform = False;
}
if (isset($_POST['reset-submit'])){ //пришла форма
$result = client_add_password($client['client_id'], $_POST['new-password'], $_POST['confirm-password'], $minlen);
if (isset($result['newpassword'])){
add_user_cookie($client['client_id'], $result['newpassword']);
$linklab = SITE.'mybooks';
$viewform = False;
}
else {
$error = $result['error'];
}
}
$tempcontent = VIEWPATH.'reset.phtml';
include VIEWPATH.'layout_lite.phtml'; //центральный шаблон
}