Files
anpdf/app/routes/auth.php
Andrey Kuvshinov e34576f056 connect chitatel
2020-08-27 23:43:30 +03:00

252 lines
5.6 KiB
PHP

<?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'];
$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'])){
db_get("UPDATE `resetpwd` SET `resetstatus` = 1 WHERE `resetpwd_id` = ${$client['client_id']}");
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'; //центральный шаблон
}