public function userLoginWidget() { global $vkOauth_id, $vkOauth_key, $siteName, $uid, $first_name, $last_name, $photo, $photo_rec, $hash, $vkUser, $debugLog, $debugMode; //global $imagePath, $valid_user; $tempDebugMode = $debugMode; // Сохранение глобального значения во временную переменную $debugMode = true; // Внутренний вкл/выкл. режима отладки static $funcName = 'VkApi::userLoginWidget'; // Название функции для логов Debug::Addlog($funcName); if ($_SESSION['vkUser']) { // Пользователь авторизован в сессии Debug::Addlog($funcName, 'User is registered and authorized.'); $debugMode = $tempDebugMode; // Возвращение значения глобальной переменной return true; } if ($_COOKIE['uid'] && $_COOKIE['hash']) { // Данные пользователя есть в куках Debug::Addlog($funcName, 'User is registered in COOKIES. Checking VK reg data.'); $uid = $_COOKIE['uid']; $hash = $_COOKIE['hash']; $userGet = self::api('users.get', "user_ids={$uid}&fields=photo_50,photo_200"); $first_name = $userGet->response[0]->first_name; $last_name = $userGet->response[0]->last_name; $photo = $userGet->response[0]->photo_200; $photo_rec = $userGet->response[0]->photo_50; //Debug::CheckCode($photo); } if ($uid && $first_name && $last_name && $photo && $photo_rec && $hash) { // Получены регистрационные данные Вконтакте Debug::Addlog($funcName, 'VK reg data recieved.'); Debug::Addlog($funcName, "Data check:"); Debug::Addlog($funcName, "uid: {$uid}"); Debug::Addlog($funcName, "first_name: {$first_name}"); Debug::Addlog($funcName, "last_name: {$last_name}"); Debug::Addlog($funcName, "photo: {$photo}"); Debug::Addlog($funcName, "photo_rec: {$photo_rec}"); Debug::Addlog($funcName, "hash: {$hash}"); //$findUser = mysql_query("SELECT * FROM users WHERE uid='$uid'"); // Ищем пользователя в базе $findUser = MySQL::Query("SELECT * FROM users WHERE uid='{$uid}'"); if ($findUser === false) { // Не удалось выполнить запрос к MySQL Debug::Addlog($funcName, '!findUser » MySQL connection failure. Stopping function.'); $debugMode = $tempDebugMode; // Возвращение значения глобальной переменной return false; } else { // Запрос к MySQL выполнен успешно if ($findUser === NULL) { // Регистрация нового пользователя. Debug::Addlog($funcName, 'Registering new user.'); $addUser = MySQL::Query("INSERT INTO\n\t\t\t\t\t\t\t\t \t\t\t users (uid, first_name, last_name, photo, photo_rec, hash, create_time) \n\t\t\t\t\t\t\t\t\t\t\t values ('{$uid}', '{$first_name}', '{$last_name}', '{$photo}', '{$photo_rec}', '{$hash}', '" . time() . "')"); if (!$addUser) { // Не удалось выполнить запрос к MySQL Debug::Addlog($funcName, '!addUser. MySQL connection failure. Stopping function.'); $debugMode = $tempDebugMode; // Возвращение значения глобальной переменной return false; } else { // Пользователь добавлен в MySQL Debug::Addlog($funcName, 'User has been added into MySQL. Second query.'); $findUser = MySQL::Query("SELECT * FROM users WHERE uid='{$uid}' and hash='{$hash}'"); // Повторный поиск в MySQL $vkUser = $findUser[0]; //$findUser = mysql_query("SELECT * FROM users WHERE uid='$uid' and hash='$hash'"); //$vkUser = mysql_fetch_object($findUser); //Debug::Addlog($funcName,var_export($findUser,TRUE)); Debug::Addlog($funcName, 'User data:'); Debug::Addlog($funcName, var_export($vkUser, TRUE)); $userRegister = true; // Маркер для блока регистрации пользователя (см. ниже) } } elseif (count($findUser) > 0) { // Пользователь найден в базе Debug::Addlog($funcName, 'User is already registered in MySQL. Updating data.'); // Обновляем данные пользователя в базе $updateUser = MySQL::Query("UPDATE users \n\t\t\t\t\t\t\t\t\t\t\t\t SET \tfirst_name='{$first_name}', \n\t\t\t\t\t\t\t\t\t\t\t\t \t \tlast_name='{$last_name}', \n\t\t\t\t\t\t\t\t\t\t\t\t\t \tphoto='{$photo}', \n\t\t\t\t\t\t\t\t\t\t\t\t\t \tphoto_rec='{$photo_rec}', \n\t\t\t\t\t\t\t\t\t\t\t\t\t \thash='{$hash}' \n\t\t\t\t\t\t\t\t\t\t\t\t WHERE \tuid='{$uid}'"); if (!$updateUser) { // Обновление данных не удалось Debug::Addlog($funcName, 'Failed updating user data in MySQL. Stopping function.'); $debugMode = $tempDebugMode; // Возвращение значения глобальной переменной return false; } else { // Данные пользователя обновились успешно, продолжение аутентификации Debug::Addlog($funcName, 'User data has been successfully updated in MySQL.'); $vkUser = $findUser[0]; $userRegister = true; // Маркер для блока регистрации пользователя (см. ниже) } } } } if ($userRegister) { // Блок регистрации пользователя // Регистрируем пользователя в сессии Debug::Addlog($funcName, 'Registering user in SESSION.'); unset($_SESSION['vkUser']); unset($_SESSION['uid']); unset($_SESSION['first_name']); unset($_SESSION['last_name']); unset($_SESSION['photo']); unset($_SESSION['photo_rec']); $_SESSION['vkUser'] = $vkUser; $_SESSION['uid'] = $uid; $_SESSION['first_name'] = $first_name; $_SESSION['last_name'] = $last_name; $_SESSION['photo'] = $photo; $_SESSION['photo_rec'] = $photo_rec; // Регистрируем пользователя в куках на 10 лет Debug::Addlog($funcName, 'Registering user in COOKIES.'); setcookie("uid", $uid, time() + 315360000, '/', $_SERVER['HTTP_HOST']); setcookie("hash", $hash, time() + 315360000, '/', $_SERVER['HTTP_HOST']); Debug::Addlog($funcName, 'User is registered and authorized.'); Debug::Addlog($funcName, 'Refreshing page...'); $debugMode = $tempDebugMode; // Возвращение переменной глобального значения http_redirect($_SERVER['SCRIPT_URI']); } if (!$_SESSION['vkUser']) { // Пользователь НЕ авторизован в сессии. Загружаем страницу авторизации. Debug::Addlog($funcName, 'Unregistered user. Loading login page.'); $debugMode = $tempDebugMode; // Возвращение значения глобальной переменной require_once path_root() . 'vkapi/vkauth/login.php'; return false; } }
public function userLoginVK($uid = NULL, $hash = NULL, $logging = false) { global $START_TIME, $imagePath; if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Начало работы функции.<br>"; } global $vkOauth_id, $vkApi_id, $siteName; global $uid, $first_name, $last_name, $photo, $photo_rec, $hash, $smmUser, $User, $access_token, $user_id; //global $valid_user; if (self::connect()) { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: MySQL работает<br>"; } if ($uid && $hash) { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Есть рег.данные<br>"; $log[] = "<br>" . debug('logtime', true) . ". MySQL userLoginVK: Проверка данных 1:<br>{$uid}<br>{$first_name}<br>{$last_name}<br>{$photo}<br>{$photo_rec}<br>{$hash}<br><br>"; } $findUser = mysql_query("SELECT * FROM users WHERE uid='{$uid}'"); if (!$findUser) { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: ОШИБКА. Невозможно подключиться к базе. Пожалуйста попробуйте позже.<br>"; $log[] = debug('logtime', true) . ". MySQL userLoginVK: Работа функции завершена с ошибкой.<br>"; foreach ($log as $logstring) { print $logstring; } } return false; } else { if (mysql_num_rows($findUser) == 0) { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Пользователь не зарегистрирован в базе. Добавляем пользователя<br>"; $log[] = "<br>" . debug('logtime', true) . ". MySQL userLoginVK: Проверка данных 2:<br>{$uid}<br>{$first_name}<br>{$last_name}<br>{$photo}<br>{$photo_rec}<br>{$hash}<br>"; } $addUser = mysql_query("INSERT INTO\n\t\t\t\t\t\t\t\t\t users (uid, first_name, last_name, photo, photo_rec, hash, create_time) \n\t\t\t\t\t\t\t\t\t values ('{$uid}', '{$first_name}', '{$last_name}', '{$photo}', '{$photo_rec}', '{$hash}', '" . time() . "')"); if ($logging) { $log[] = var_export($addUser, TRUE); } if (!$addUser) { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: ОШИБКА. Невозможно подключиться к базе. Пожалуйста попробуйте позже.<br>"; $log[] = debug('logtime', true) . ". MySQL userLoginVK: Работа функции завершена с ошибкой.<br>"; foreach ($log as $logstring) { print $logstring; } } return false; } else { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Пользователь добавлен. Делаем повторный запрос<br>"; } $findUser = mysql_query("SELECT * FROM users WHERE uid='{$uid}' and hash='{$hash}'"); $smmUser = mysql_fetch_array($findUser); if ($logging) { $log[] = var_export($findUser, TRUE); $log[] = debug('logtime', true) . ". MySQL userLoginVK: Данные пользователя:<br>"; $log[] = var_export($smmUser, TRUE); $log[] = "<br><br>" . debug('logtime', true) . ". MySQL userLoginVK: Регистрируем пользователя в сессии.<br>"; } $User = $smmUser['id']; $user_id = $smmUser['uid']; $access_token = $smmUser['access_token']; session_unregister('User'); session_unregister('user_id'); session_unregister('access_token'); session_unregister('smmUser'); session_register('User'); session_register('user_id'); session_register('access_token'); session_register('smmUser'); if ($logging) { foreach ($log as $logstring) { print $logstring; } } return true; } } elseif (mysql_num_rows($findUser) > 0) { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Пользователь найден в базе<br>"; } $smmUser = mysql_fetch_array($findUser); if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Данные пользователя:<br>"; $log[] = var_export($smmUser, TRUE); $log[] = "<br><br>" . debug('logtime', true) . ". MySQL userLoginVK: Регистрируем пользователя в сессии.<br>"; } $User = $smmUser['id']; $user_id = $smmUser['uid']; $access_token = $smmUser['access_token']; session_unregister('User'); session_unregister('user_id'); session_unregister('access_token'); session_unregister('smmUser'); session_register('User'); session_register('user_id'); session_register('access_token'); session_register('smmUser'); if ($logging) { $log[] = '──────────────────────────────<br>' . debug('logtime', true) . 'MySQL userLoginVK: Данные на выходе:<br>$User: '******'<br>$smmUser: '******'logtime', true) . ". MySQL userLoginVK: Рег.данные не введены.<br>"; } if (!session_is_registered('User')) { require_once path_root() . 'vkapi/vkauth/login.php'; if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Пользователь не авторизован. Включаем форму авторизации.<br>"; foreach ($log as $logstring) { print $logstring; } } return false; } else { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: Пользователь авторизован.<br>"; foreach ($log as $logstring) { print $logstring; } } return true; } } else { if ($logging) { $log[] = debug('logtime', true) . ". MySQL userLoginVK: ОШИБКА. Невозможно подключиться к базе. Пожалуйста попробуйте позже.<br>"; $log[] = debug('logtime', true) . ". MySQL userLoginVK: Работа функции завершена с ошибкой.<br>"; foreach ($log as $logstring) { print $logstring; } } return false; } }
public function ShowError404() { ?> <div class="panel wrapper"> <div class="row m-n"> <div class="text-center"> <div class="text-center m-b-lg"> <h1 class="h1-404 text-white animated bounceInDown">404</h1> <h3 class="m-t-sm h3-404">Страница не существует</h3> </div> <div class="list-group bg-white m-404"> <a href="<?php echo path_root(); ?> index.php" class="list-group-item"> <i class="fa fa-fw fa-home text-muted"></i> На главную </a> <a href="javascript:history.go(-1)" mce_href="javascript:history.go(-1)" class="list-group-item"> <i class="fa fa-fw fa-reply text-muted"></i> Назад </a> </div> </div> </div> </div> <?php // Вывод данных отладки Debug::Printlog(); Debug::Showglobals(); Html::Footer(); exit; }