Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #auth-process.php
- require $_SERVER['DOCUMENT_ROOT']."/core/core-mono.php";
- error_reporting(1);
- ini_set('display_errors',1);
- myitv\Session::session__start();
- if (isset($_POST['login-form']) && !empty($_POST['login-form'])){
- myitv\Login::user__login($_POST['username'],$_POST['password']);
- header('Location:/');
- }
- #core-mono.php
- /*
- * MyITV
- * Monolithic core
- * Be careful when updating it.
- */
- //Before main namespace
- namespace {
- require 'loader.php';
- error_reporting(E_ALL ^ E_NOTICE);
- }
- namespace myitv{
- //use MyITV\User\Session;
- use R;
- use Faker;
- use utilphp\util;
- /**
- * Class Main
- * @package myitv
- */
- class Main{
- }
- /**
- * Class Meta
- * @package myitv
- */
- class Metadata extends Main{
- // Meta
- /**
- * Meta name
- * @var string
- */
- private static $meta_name = "myitv";
- /**
- * Meta version
- * @var string
- */
- private static $meta_version = "2.0";
- /**
- * Meta state
- * @var string
- */
- private static $meta_state = "beta";
- /**
- * Display meta
- * @return string
- */
- public static function meta(){
- return self::$meta_name."/".self::$meta_version." ".self::$meta_state;
- }
- }
- /**
- * Class Template
- * @package myitv
- */
- class Template{
- public static function dwoo($tpl,$params=[]){
- $dwoo = new \Dwoo\Core();
- function set_paths($theme_root, $theme_dir, $tpl_dir){
- $path = [
- "tpl_path" => '' . $theme_root . '/' . $theme_dir . '/' . $tpl_dir . '/',
- "theme_path" => '' . $theme_root . '/' . $theme_dir,
- "cache_path" => '' . $theme_root . '/' . $theme_dir . '/' . 'cache/'
- ];
- return $path;
- }
- $dwoo_paths = set_paths('themes','colorbars','tpl');
- $params=[
- 'theme' => [
- 'path' => $dwoo_paths['tpl_path'],
- 'assets_path' => $dwoo_paths['theme_path'] . '/assets/'
- ]
- ];
- //cache
- $dwoo->setCompileDir($dwoo_paths['cache_path']);
- $dwoo->setTemplateDir($dwoo_paths['tpl_path']);
- echo $dwoo->get($tpl, $params);
- }
- }
- /**
- * Class User
- * @package myitv
- */
- class User{
- function __construct()
- {
- }
- function __destruct()
- {
- // TODO: Implement __destruct() method.
- }
- }
- class Session extends User
- {
- public static function session__start()
- {
- $session_lifetime = 3600 * 24 * 1; // x days
- session_set_cookie_params($session_lifetime);
- session_name('MYITVSESSID');
- session_start();
- }
- public static function session__kill()
- {
- //session_start();
- session_unset();
- session_destroy();
- }
- }
- class Auth extends User{
- function __construct()
- {
- }
- function __destruct()
- {
- // TODO: Implement __destruct() method.
- }
- }
- class Register extends Auth{
- public static function user__register()
- {
- $reg_form = [
- 'username' => $_POST['username'],
- 'password' => $_POST['password'],
- 'password_confirm' => $_POST['password_confirm'],
- 'email' => $_POST['email']
- ];
- $db_user = R::dispense('user');
- if($reg_form['password'] == $reg_form['password_confirm']){
- //encoding password (hashing)
- $pwd_hash = password_hash($reg_form['password'], PASSWORD_BCRYPT);
- $db_user->password_hash = $pwd_hash;
- }
- else{
- return "ERR_USER_REG: Passwords don't match";
- }
- if (!empty($reg_form['email'])){
- $db_user->email = $reg_form['email'];
- } else{
- return "ERR_USER_REG: No email";
- }
- $db_user->group_id = 1;
- $db_user->screenname = $db_user->username;
- R::store($db_user);
- return "Registration successful";
- }
- }
- class Login extends Auth{
- public static function user__login($login, $password)
- {
- $login_form = [
- 'username' => $_POST['username'],
- 'password' => $_POST['password']
- ];
- $login = $login_form['username'];
- $password = $login_form['password'];
- $uid = R::getRow( 'SELECT id FROM `user` WHERE user.username = :username',[':username' => $login] );
- $uid_isadmin = R::getRow('select user.id from `user` WHERE user.username = :username AND user.group_id=1',[':username' => $login]);
- $user_pwd = R::getRow('select user.password_hash from `user` WHERE user.username = :username',[':username' => $login]);
- if (isset($password) && !empty($password)){
- if(password_verify($password,$user_pwd['password_hash']) == true){
- if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']))
- {
- session_unset();
- Session::session__start();
- return 'already_logged_in';
- } else {
- Session::session__start();
- }
- $_SESSION['user_id'] = $uid['id'];
- $_SESSION['username'] = $login;
- $_SESSION['login'] = 1;
- if ($_SESSION['user_id'] == $uid_isadmin['id']){
- $_SESSION['isadmin'] = 1;
- }
- return "success";
- } else {
- return "wrong_password";
- }
- } else {
- return "no_password";
- }
- }
- }
- }
- //After main namespace
- namespace{
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement