This repository has been archived on 2024-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
sakura/main/authenticate.php

107 lines
3 KiB
PHP
Raw Normal View History

2015-04-06 21:23:54 +00:00
<?php
/*
* Sakura Authentication Page
*/
// Declare Namespace
namespace Sakura;
// Include components
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) .'_sakura/sakura.php';
2015-04-08 17:18:19 +00:00
// Page actions
if(
isset($_REQUEST['mode']) &&
isset($_REQUEST['time']) &&
isset($_REQUEST['session'])
) {
switch($_REQUEST['mode']) {
2015-04-08 19:27:51 +00:00
// Login processing
2015-04-08 17:18:19 +00:00
case 'login':
2015-04-08 19:27:51 +00:00
// Attempt login
$login = Users::login($_REQUEST['username'], $_REQUEST['password'], isset($_REQUEST['remember']));
// Array containing "human understandable" messages
$messages = [
'USER_NOT_EXIST' => 'The user you tried to log into does not exist.',
'INCORRECT_PASSWORD' => 'The password you entered was invalid.',
'DEACTIVATED' => 'Your account is deactivated.',
'LEGACY_SUCCESS' => 'Login successful! Taking you to the password changing page...',
'LOGIN_SUCESS' => 'Login successful!'
];
2015-04-08 19:27:51 +00:00
// Add page specific things
$renderData['page'] = [
'title' => 'Login',
'redirect' => ($login[0] ? ((strpos($_REQUEST['redirect'], '://') ? '' : '//') . $_REQUEST['redirect']) : '/authenticate'),
'message' => $messages[$login[1]]
2015-04-08 19:27:51 +00:00
];
break;
// Registration processing
2015-04-08 17:18:19 +00:00
case 'register':
2015-04-08 19:27:51 +00:00
// Add page specific things
$renderData['page'] = [
'title' => 'Register on Flashii',
'redirect' => $_SERVER['PHP_SELF'],
'message' => 'what'
];
break;
// Unforgetting passwords
2015-04-08 17:18:19 +00:00
case 'forgotpassword':
2015-04-08 19:27:51 +00:00
2015-04-08 17:18:19 +00:00
// Add page specific things
$renderData['page'] = [
2015-04-08 19:27:51 +00:00
'title' => 'Forgot Password',
2015-04-08 17:18:19 +00:00
'redirect' => $_SERVER['PHP_SELF'],
2015-04-08 19:27:51 +00:00
'message' => 'what'
2015-04-08 17:18:19 +00:00
];
2015-04-08 19:27:51 +00:00
break;
2015-04-08 17:18:19 +00:00
}
// Print page contents or if the AJAX request is set only display the render data
print isset($_REQUEST['ajax']) ?
(
$renderData['page']['title']
. ':'
. $renderData['page']['message']
. ':'
. $renderData['page']['redirect']
) :
Templates::render('errors/information.tpl', $renderData);
2015-04-08 19:27:51 +00:00
exit;
2015-04-08 17:18:19 +00:00
}
2015-04-06 21:23:54 +00:00
// Add page specific things
$renderData['page'] = [
2015-04-08 17:18:19 +00:00
'title' => 'Login to Flashii'
2015-04-06 21:23:54 +00:00
];
$renderData['auth'] = [
'redirect' => (
isset($_REQUEST['chat']) ?
Configuration::getLocalConfig('urls', 'chat') :
(
isset($_SERVER['HTTP_REFERER']) ?
$_SERVER['HTTP_REFERER'] :
Configuration::getLocalConfig('urls', 'main')
)
),
'blockRegister' => [
'do' => true,
'username' => 'test'
]
];
// Print page contents
2015-04-06 21:57:17 +00:00
print Templates::render('main/authenticate.tpl', $renderData);