partstock/includes/user.php

175 lines
4 KiB
PHP
Raw Normal View History

2018-12-17 17:50:23 +01:00
<?php
session_start();
//login
if ($ToDo=="Login")
{
$Login = (isset($_POST['Login'])) ? $_POST['Login'] :"";
$Password = (isset($_POST['Password'])) ? md5($_POST['Password']):"";
if ($Login=="root")
{
global $CfgRootPassword;
if ($Password==$CfgRootPassword)
{
MessageSuccess(LangSpell('ScentenceLoginSucceeded')."\n");
$_SESSION['Id']=0;
$_SESSION['Login']=$Login;
$_SESSION['Time']=time();
}
else
{
MessageError(LangSpell('ScentenceLoginFailed')."\n");
$_SESSION['Id']=0;
$_SESSION['Login']="";
$_SESSION['Time']=0;
}
}
else if ($Login)
{
global $GlobalMysqlHandler;
$query="SELECT * FROM `User` WHERE `Login` = '$Login' LIMIT 0 , 1";
$query=mysqli_query($GlobalMysqlHandler, $query);
$data=mysqli_fetch_array($query);
if ($Password==$data['Password'])
{
MessageSuccess(LangSpell('ScentenceLoginSucceeded')."\n");
$_SESSION['Id']=$data['Id'];
$_SESSION['Login']=$Login;
$_SESSION['Time']=time();
}
else
{
MessageError(LangSpell('ScentenceLoginFailed')."\n");
$_SESSION['Id']=0;
$_SESSION['Login']="";
$_SESSION['Time']=0;
}
}
else
{
MessageError(LangSpell('ScentenceNoLoginSpecified')."\n");
$_SESSION['Id']=0;
$_SESSION['Login']="";
$_SESSION['Time']=0;
}
}
//logout
else if ($ToDo=="Logout")
{
$_SESSION['Id']=0;
$_SESSION['Login']="";
$_SESSION['Time']=0;
}
//load login from session
else
{
$Id = (isset($_SESSION['Id'])) ? $_SESSION['Id']:"";
$Login = (isset($_SESSION['Login'])) ? $_SESSION['Login']:"";
$Time = (isset($_SESSION['Time'])) ? $_SESSION['Time']:0;
if ($Login && ((time()-$GlobalUserTimeout)<=$Time))
{
$_SESSION['Time']=time();
}
elseif ($Login)
{
MessageWarning(LangSpell('ScentenceLoginTimeoutExpired'));
$_SESSION['Id']=0;
$_SESSION['Login']="";
$_SESSION['Time']=0;
}
}
//login messages
if (isset($_SESSION['Login']) && $_SESSION['Login']=="root")
MessageWarning(LangSpell('ScentenceLoggedAsRoot'));
//load user settings
UserLoadSettings();
/************
functions
*************/
function UserLogout()
{
$_SESSION['Id']=0;
$_SESSION['Login']="";
$_SESSION['Time']=0;
}
function UserIsLoggedIn()
{
$ReturnValue=0;
if (isset($_SESSION['Login']) && $_SESSION['Login'])
$ReturnValue=1;
else
$ReturnValue=0;
return $ReturnValue;
}
function UserGetLogin()
{
return ((isset($_SESSION['Login']))? $_SESSION['Login']:"");
}
function UserGetId()
{
return ((isset($_SESSION['Id']))? $_SESSION['Id']:0);
}
function UserHasRight($Right)
{
$Ret=0;
if (isset($_SESSION['Id']) && $_SESSION['Id']>0)
{
global $GlobalMysqlHandler;
$RightsQuery = "SELECT `$Right` FROM `UserRights` WHERE `Id` =".$_SESSION['Id'];
$RightsQuery = mysqli_query($GlobalMysqlHandler, $RightsQuery);
if ($RightsQuery && mysqli_num_rows($RightsQuery))
{
$RightData = mysqli_fetch_array($RightsQuery);
$Ret=(strtolower($RightData[$Right])=="true")? 1:0;
}
else
{
ErrorLog("[user.php] User with id '".$_SESSION['Id']."' not found in table 'UserRights' while asking for right '$Right'!");
}
}
return ($Ret);
}
function UserLoadSettings()
{
$Ret=0;
global $GlobalMysqlHandler;
global $GlobalTemplate;
global $CfgStdTemplate;
global $GlobalLanguage;
global $CfgStdLanguage;
if (isset($_SESSION['Id']) && $_SESSION['Id']>0)
{
$LoadQuery="SELECT `Template` , `Language` FROM `User` WHERE `Id` =".$_SESSION['Id'];
$LoadQuery=mysqli_query($GlobalMysqlHandler, $LoadQuery);
if ($LoadQuery)
{
$LoadValue=mysqli_fetch_array($LoadQuery);
$GlobalTemplate=($LoadValue['Template'])? $LoadValue['Template']:$CfgStdTemplate;
$GlobalLanguage=($LoadValue['Language'])? $LoadValue['Language']:$CfgStdLanguage;
$Ret=1;
}
else
{
ErrorLog("[user.php] Not able to load vars for user with id = ".$_SESSION['Id']."!");
}
}
return $Ret;
}
?>