<?php
require('../flowap/system.php');
switch($act) {
    default:
    ?>
    <script src="//ulogin.ru/js/ulogin.js"></script>
    <div id="uLogin" style="margin-top: 8px;" data-ulogin="display=panel;theme=flat;fields=first_name,last_name,network,uid,photo;providers=odnoklassniki,facebook,vkontakte,mailru,google,yandex;redirect_uri=https://riblog.ru/login/?add;mobilebuttons=0;"></div>
    <?php
    if(isset($_GET['add'])):
        // Получение данных с ulogin
        $s = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
        $user = json_decode($s, true);
        // Расфасовываем данные
        if(DB::$dbs->querySingle('SELECT COUNT(*) FROM `user` WHERE `network` = ? and `uid` = ?',[$user['network'],$user['uid']]) == 0){
            // Создаем пользователя
            DB::$dbs->query('INSERT INTO `user` SET `network` = ?, `uid` = ?, `first_name` = ?, `last_name` = ?, `ava` = ?',[$user['network'],$user['uid'],$user['first_name'],$user['last_name'],$user['photo']]);
            // Получаем id текущей записи (для записи токена)
            $idl = DB::$dbs->lastInsertId();
            // Генерируем токен в функцию стандартную в php 7
            $token = password_hash($user['network'].$user['uid'], PASSWORD_DEFAULT);
            // Обновляем токен пользователя
            DB::$dbs->query('UPDATE `user` SET `token` = ? WHERE `id` = ? LIMIT 1', [$token,$idl]);
            // Заполняем куки ля работы с сайтом
            setcookie('token', $token, time()+60*60*24*7, '/');
            // Сообщаем пользователю что успешно зарегестрировались
            $_SESSION['good'] = 'Вы успешно зарегестрировались.';
            header('location: /'); exit;
        }else{
            // Генерируем токен
            $token = password_hash($user['network'].$user['uid'], PASSWORD_DEFAULT);
            // Обновляем токен в бд
            DB::$dbs->query('UPDATE `user` SET `token` = ? WHERE `network` = ? and `uid` = ? LIMIT 1', [$token,$user['network'],$user['uid']]);
            // Заполняем куки
            setcookie('token', $token, time()+60*60*24*7, '/');
            // Сообщаем пользователю, что он успешно авторизовался
            $_SESSION['good'] = 'Авторизация прошла успешно.';
            // Перенаправляем
            header('location: /'); exit;
        }
    endif;
  	break;
    case 'exit':
        if(empty($user['id'])):
            $_SESSION['err'] = 'Вы не авторизованы.';
            header('location: /'); exit;
        endif;
        // Сбрасываем куки
        setcookie('token','',time()-3600,'/');
        // Редирект на главную
        header('location: /'); exit;
    break;
}
?>