public function __construct() { define("BASE_LOADED", true); // starter utdata buffer ob_start(); // hent essenntials require "essentials.php"; ess::$b->base = $this; // kjør scheduler if (!MAIN_SERVER) { $this->scheduler(); } ess::$b->dt("load_es-gu_pre"); // hent inn brukerinformasjon login::init(); ess::$b->dt("post"); // sjekk ssl $this->check_ssl(); // brukerstæsj if (login::$logged_in) { $this->load_user_stuff(); } else { $this->update_anon_stats(); } // logg visning $this->log_request(); // sjekk referer $this->check_referer(); define("SCRIPT_TIME_HALF", microtime(true) - SCRIPT_START); $profiler = \Kofradia\DB::getProfiler(); define("QUERIES_TIME_HALF", $profiler ? $profiler->time : null); define("QUERIES_NUM_HALF", $profiler ? $profiler->num : null); $this->load_config(); ess::$b->dt("base_loaded"); }
} else { return true; } } } public function check_login() { if (!$this->get_login_info('id')) { $current_url = rawurlencode($_SERVER[REQUEST_URI]); header('Location: ' . $this->login_url . '&next=' . rawurlencode($current_url)); } else { return true; } } } /* | Meteen maar een nieuwe instantie van deze klasse maken en meteen de __constructor() functie laden | (in dit geval dus login(), de naam word door PHP bepaald aan de hand van de klasse naam) */ //users table, logins table, cookie name $login = new login('nanousers', 'logins', 'nda'); //$login->cookiename = ''; $login->login_url = ROOT . '/login/'; $login->landing_page_url = ROOT . '/my-papers/'; $login->username_postfield = 'email'; $login->password_postfield = 'wachtwoord'; /* | En de init functie aanaroepen */ $login->init();
<?php use Kofradia\DB; login::init(); /** * Funksjoner for innlogging/utlogging * @static */ class login { /** Er brukeren logget inn? */ public static $logged_in = NULL; /** Informasjon om sesjonen */ public static $info; /** * Referanse til user objektet * @var user */ public static $user = NULL; /** Innlogging til tilgangssystemet */ public static $extended_access = NULL; /** Ekstra data som settes i session som kun gjelder innloggingen */ public static $data; /** * Init funksjonen * Sjekker om brukeren er logget inn og henter nødvendig informasjon */ public static function init() { // allerede kjørt? kjøres kun én gang if (!is_null(self::$logged_in)) {