<?php
/********************************************************************
** Skripta, ki skrbi za prijavo in odjavo uporabnika CMS zabec.net **
** Author: Dave @ zabec.net		  										    **
** Date: 2007 																	    **
********************************************************************/

/* če je uporabnik v procesu prijavljanja */
/******************************************/
if ($_POST['uporabnik'] AND $_POST['geslo'])
{
	/* preverjanje spremenljivk */
	$clean['uporabnik'] = inputSQLcheck($_POST['uporabnik']);
	$clean['geslo'] = md5($_POST['geslo']);

	$result = $db->query("SELECT id, username, skupina FROM core_uporabniki WHERE username = '$clean[uporabnik]' AND password = '$clean[geslo]'");

	/* uporabnik je vnesel pravilno uporabniško ime in geslo */
	if($result->size() == "1")
	{
		$r = $result->fetch();

		/* nastavimo sessione */
		$_SESSION['prijavljen'] = true;
		$_SESSION['id'] = $r['id'];
		$_SESSION['uporabnik'] = $r['username'];
		$_SESSION['skupina'] = $r['skupina'];

		/* popravimo last login date */
		$db->query("UPDATE core_uporabniki SET last_login = NOW(),last_ip='" . $_SERVER['REMOTE_ADDR'] . "',last_sessionid='". session_id() . "' WHERE id = '$r[id]'");

		/* preusmeritev na prvo stran */
		header("Location: ".$settings['cms_url']);
	}
	/* uporabniško ime ali geslo ni pravilno */
	else
	{
		$log->log("Napačno uporabniško ime ali geslo!", "warning", "Neuspel poskus prijave, uporabnik ".$clean['uporabnik'].".");
	}
}
elseif($_GET['odjava'])
{
	$_SESSION = array();
	session_destroy();
}elseif($_SESSION['prijavljen']){
	//Preveri splošno prijavo
	$result = $db->query("SELECT id, last_ip, last_sessionid FROM core_uporabniki WHERE id = '" . $_SESSION['id'] . "'");
	$r = $result->fetch();
	if(($r['id'] != $_SESSION['id']) OR ($r['last_ip'] != $_SERVER['REMOTE_ADDR']) OR ($r['last_sessionid'] != session_id())){
		$_SESSION = array();
		session_destroy();
		$log->log("Potekla seja, opravite ponovno prijavo", "fatal", "<a href=\"" . $settings['cms_url'] ."\">Ponovi prijavo</a>");
	}
}
?>