265 lines
6.3 KiB
PHP
265 lines
6.3 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);
|
||
}
|
||
|
||
}
|
||
|
||
// 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);
|
||
|
||
|
||
}
|
||
|
||
|
||
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'; //центральный шаблон
|
||
|
||
|
||
|
||
|
||
|
||
} |