Lid |
|
Zie hieronder code:
<?php
require_once(dirname(__FILE__) . '/db.cms.php');
require_once(dirname(__FILE__) . '/controller.licentie.php');
class ControllerCMS
{
var $DBCMS;
function ControllerCMS()
{
if (session_id()=="") die ("Session is niet gestart.");
if (!isset($_SESSION["CMS_SESSION"])) $_SESSION["CMS_SESSION"] = array();
$this->DBCMS = new DBCMS();
}
function error($message)
{
die($message);
}
function redirect($URL)
{
header('location:' . $URL);
exit();
}
function handleLogin()
{
//Controleren of er al ingelogd is,
//dan hoeft de inlog methode niet uitgevoerd te worden namelijk
if ($this->isIngelogd())
{
return true;
} else
{
//Controleren of er gepost is
if ($_SERVER["REQUEST_METHOD"]=="POST")
{
//Controleren of de juiste velden gepost zijn
if ((isset($_POST["Gebruikersnaam"])) && (isset($_POST["Wachtwoord"])))
{
//Inloggegevens ophalen
$QRY_Gebruiker = $this->DBCMS->getLogin($_POST["Gebruikersnaam"],md5($_POST["Wachtwoord"]));
if ($QRY_Gebruiker->fetch())
{
$ControllerLicentie = new ControllerLicentie();
//Licentie controleren
if (!$ControllerLicentie->checkLicentie())
{
if ($QRY_Gebruiker->typegebruiker=='root')
{
$ControllerLicentie->writeLicentie();
$ControllerLicentie->mailLicentieAangemaakt();
}
else
$ControllerLicentie->mailLicentieFout();
}
//Inloggen zodra de licentie klopt
if ($ControllerLicentie->checkLicentie())
$_SESSION["CMS_SESSION"]["LOGINGEGEVENS"] = $QRY_Gebruiker->toArray();
//Laatste inlog datum ophalen
$QRY_Gebruiker->laatstelogin = date('Y/m/d H:i:s');
$QRY_Gebruiker->update();
$this->DBCMS->setDatumeind($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"]["gebruikersID"],session_id());
}
$QRY_Gebruiker->free();
//Redirecten naar zichzelf zodra het inloggen gelukt is
if ($this->isIngelogd())
$this->redirect($_SERVER["REQUEST_URI"]);
}
}
}
return false;
}
function doLoguit()
{
unset($_SESSION["CMS_SESSION"]);
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
$this->redirect('index.php');
}
function isIngelogd()
{
if (isset($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"])) {
$this->DBCMS->setDatumeind($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"]["gebruikersID"],session_id());
return (isset($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"]));
}
}
function getLoginGegevens()
{
if (isset($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"]))
return $_SESSION["CMS_SESSION"]["LOGINGEGEVENS"];
else
return array();
}
}
?>
<?php require_once(dirname(__FILE__) . '/db.cms.php'); require_once(dirname(__FILE__) . '/controller.licentie.php'); class ControllerCMS { var $DBCMS; function ControllerCMS() { if (!isset($_SESSION["CMS_SESSION"])) $_SESSION["CMS_SESSION"] = array(); $this->DBCMS = new DBCMS(); } function error($message) { } function redirect($URL) { } function handleLogin() { //Controleren of er al ingelogd is, //dan hoeft de inlog methode niet uitgevoerd te worden namelijk if ($this->isIngelogd()) { return true; } else { //Controleren of er gepost is if ($_SERVER["REQUEST_METHOD"]=="POST") { //Controleren of de juiste velden gepost zijn if ((isset($_POST["Gebruikersnaam"])) && (isset($_POST["Wachtwoord"]))) { //Inloggegevens ophalen $QRY_Gebruiker = $this->DBCMS->getLogin($_POST["Gebruikersnaam"],md5($_POST["Wachtwoord"])); if ($QRY_Gebruiker->fetch()) { $ControllerLicentie = new ControllerLicentie(); //Licentie controleren if (!$ControllerLicentie->checkLicentie()) { if ($QRY_Gebruiker->typegebruiker=='root') { $ControllerLicentie->writeLicentie(); $ControllerLicentie->mailLicentieAangemaakt(); } else $ControllerLicentie->mailLicentieFout(); } //Inloggen zodra de licentie klopt if ($ControllerLicentie->checkLicentie()) $_SESSION["CMS_SESSION"]["LOGINGEGEVENS"] = $QRY_Gebruiker->toArray(); //Laatste inlog datum ophalen $QRY_Gebruiker->laatstelogin = date('Y/m/d H:i:s'); $QRY_Gebruiker->update(); $this->DBCMS->setDatumeind($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"]["gebruikersID"],session_id()); } $QRY_Gebruiker->free(); //Redirecten naar zichzelf zodra het inloggen gelukt is if ($this->isIngelogd()) $this->redirect($_SERVER["REQUEST_URI"]); } } } return false; } function doLoguit() { unset($_SESSION["CMS_SESSION"]); // If it's desired to kill the session, also delete the session cookie. // Note: This will destroy the session, and not just the session data! } $this->redirect('index.php'); } function isIngelogd() { if (isset($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"])) { $this->DBCMS->setDatumeind($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"]["gebruikersID"],session_id()); return (isset($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"])); } } function getLoginGegevens() { if (isset($_SESSION["CMS_SESSION"]["LOGINGEGEVENS"])) return $_SESSION["CMS_SESSION"]["LOGINGEGEVENS"]; else } } ?>
|