Include/core/session.php

From Genitura

Jump to: navigation, search
<?php
/** session.php
 * manage authentification and session tracking
 *
 * @author  Julien Halle <julienhalle@gmail.com>
 * @version Geniruta - 05/01/2009
 */
class private_area
{
    const ALL = '*';

    // defines page who need authentification
    private $access_rules = array('*');

    public function __construct()
    {
        if ($this->is_accessing_private())
        {
            session_start();
            if (!$_SESSION['user_id'])
            {
                include CONTROLER.'auth_cont.php';
                $auth = new auth_cont;
                $auth->login();
                exit;
            }
        }
    }

    private function is_accessing_private()
    {
        global $method;
        $is_restrict = in_array($method,$this->access_rules) 
            || in_array(self::ALL,$this->access_rules);
        return $is_restrict;
    }
}
Personal tools