initializing git repo

This commit is contained in:
Developer 2018-12-17 17:50:23 +01:00
commit 3df8fc53b8
86 changed files with 5649 additions and 0 deletions

31
includes/globals.php Executable file
View file

@ -0,0 +1,31 @@
<?php
$GlobalDebungMode = 1;
$GlobalLogfile = "";
$GlobalLogfileMaxLength = 1000;
$GlobalTimeZone = "";
$GlobalTimeFormat = "";
$GlobalRootPassword = "";
$GlobalTemplate = "";
$GlobalLanguage = "";
$GlobalContent = "";
$GlobalMysqlHost = "";
$GlobalMysqlUser = "";
$GlobalMysqlPwd = "";
$GlobalMysqlHandler = 0;
$GlobalMysqlDatabase = "";
$GlobalLockAutoReleaseTime=3600;
$GlobalDownloadDir = "./downloads";
$GlobalPictureDir = "./pictures";
$GlobalDecimalPoint="."
?>

19
includes/java_scripts.php Executable file
View file

@ -0,0 +1,19 @@
<script type="text/javascript" language="JavaScript">
<!--
function ToggleDisplayStyle(ElementId)
{
var Element=document.getElementById(ElementId);
if(!Element)
return true;
if(Element.style.display=="none")
Element.style.display="block";
else
Element.style.display="none";
return true;
}
//-->
</script>

68
includes/language.php Executable file
View file

@ -0,0 +1,68 @@
<?php
function LangStr2Html ( $String )
{
$String = nl2br(htmlspecialchars($String,ENT_QUOTES));
//umlauts
$String = str_replace("ß","&szlig;",$String);
$String = str_replace("ä","&auml;",$String);
$String = str_replace("ö","&ouml;",$String);
$String = str_replace("ü","&uuml;",$String);
$String = str_replace("Ä","&Auml;",$String);
$String = str_replace("Ö","&Ouml;",$String);
$String = str_replace("Ü","&Uuml;",$String);
return $String;
}
function LangSpellHtml ( $Sentence )
{
return LangStr2Html(LangSpell($Sentence));
}
function LangSpell ( $Sentence )
{
global $GlobalLanguage;
$ReturnValue="";
if (file_exists("./languages/$GlobalLanguage.lng"))
$Language = file ("./languages/$GlobalLanguage.lng");
else
{
ErrorLog("[language.php] File \"./languages/$GlobalLanguage.lng\" not found!");
}
foreach ( $Language as $i )
{
$FileSentence=explode("=",$i,2);
if ( trim( $FileSentence[0] ) == $Sentence )
{
$ReturnValue=trim($FileSentence[1]);
break;
}
}
if (!$ReturnValue)
{
ErrorLog("[$GlobalLanguage.lng] Sentence \"$Sentence\" not found!");
$ReturnValue=$Sentence;
}
return $ReturnValue;
}
function LangGetAvailableLanguages ()
{
$ReturnValue=array();
$DirList=scandir('./languages/');
foreach ($DirList as $i)
{
$SplitString=explode(".",$i);
if ($i[0]=="." || strtolower($SplitString[1])!="lng")
continue;
$ReturnValue[count($ReturnValue)]=$SplitString[0];
}
return $ReturnValue;
}
?>

39
includes/load_config.php Executable file
View file

@ -0,0 +1,39 @@
<?php
//load config to global vars
include("./config.php");
if (strtolower($CfgSetDebugMode)=="true")
{
error_reporting(E_ALL);
ini_set('display_errors', 1);
global $GlobalDebungMode;
$GlobalDebungMode = 1;
}
else
{
global $GlobalDebungMode;
$GlobalDebungMode = 0;
}
$GlobalLogfile = $CfgLogfile;
$GlobalLogfileMaxLength = $CfgLogfileMaxLines;
$GlobalTimeZone = $CfgStdTimeZone;
$GlobalTimeFormat = $CfgStdTimeFormat;
$GlobalRootPassword = $CfgRootPassword;
$GlobalTemplate = $CfgStdTemplate;
$GlobalLanguage = $CfgStdLanguage;
$GlobalMysqlHost = $CfgMysqlHost;
$GlobalMysqlUser = $CfgMysqlUser;
$GlobalMysqlPwd = $CfgMysqlPwd;
$GlobalMysqlDatabase = $CfgMysqlDatabase;
$GlobalUserTimeout = $CfgLoginTimeout;
$GlobalLockAutoReleaseTime = $CfgLockAutoReleaseTime;
?>

65
includes/lock.php Executable file
View file

@ -0,0 +1,65 @@
<?php
function LockIsActive($Table,$Id)
{
$Ret=1;
global $GlobalMysqlHandler;
global $GlobalLockAutoReleaseTime;
$LockQuery="SELECT `LockId`, `LockTime` FROM `$Table` WHERE `Id` = $Id";
$LockQuery=mysqli_query($GlobalMysqlHandler, $LockQuery);
if ($LockQuery)
{
if (mysqli_num_rows($LockQuery))
{
$Lock = mysqli_fetch_array($LockQuery);
if (!$Lock['LockId']
|| ($Lock['LockId']==UserGetId())
|| ($Lock['LockTime']<(time()-$GlobalLockAutoReleaseTime))
)
{ $Ret=0; }
}
else
{ $Ret=0; }
}
else
{ ErrorLog("[lock.php] Can not fetch lock fields in table \"$Table\" at id $Id"); }
return $Ret;
}
function LockActivate($Table,$Id)
{
$Ret=0;
global $GlobalMysqlHandler;
if (!LockIsActive($Table,$Id))
{
$LockQuery="UPDATE `$Table` SET `LockId` = '".UserGetId()."', `LockTime` = '".time()."' WHERE `Id` =$Id";
if (mysqli_query($GlobalMysqlHandler, $LockQuery))
{ $Ret=1; }
else
{ ErrorLog("[lock.php] Can not update lock fields in table \"$Table\" at id $Id"); }
}
return $Ret;
}
function LockRelease($Table,$Id)
{
$Ret=0;
global $GlobalMysqlHandler;
if (!LockIsActive($Table,$Id))
{
$LockQuery="UPDATE `$Table` SET `LockId` = '0', `LockTime` = '0' WHERE `Id` =$Id";
if (mysqli_query($GlobalMysqlHandler, $LockQuery))
{ $Ret=1; }
else
{ ErrorLog("[lock.php] Can not update lock fields in table \"$Table\" at id $Id"); }
}
return $Ret;
}
?>

60
includes/log.php Executable file
View file

@ -0,0 +1,60 @@
<?php
$LogLineArray = array();
$LogFirstLineWritten = 0;
function ErrorLog ($Msg)
{
global $LogLineArray;
global $LogFirstLineWritten;
$LogFirstLineWritten = 1;
$LogLineArray[count($LogLineArray)]=LogFormatMessage($Msg);
$Dbg=debug_backtrace();
for ($i=0; $i<count($Dbg);$i++) $LogLineArray[count($LogLineArray)]= " - (Callstack $i) ".$Dbg[$i]['file'].":".$Dbg[$i]['line']."\n";
}
function LogWriteToFile ()
{
global $LogLineArray;
global $GlobalLogfile;
global $LogFirstLineWritten;
global $GlobalLogfileMaxLength;
if ($GlobalLogfile && $LogFirstLineWritten)
{
//read existing file
$ExistingFileArray=array();
if (file_exists($GlobalLogfile))
$ExistingFileArray=file($GlobalLogfile);
//merge both line arrays
$ExistingFileArray[count($ExistingFileArray)]="\n";
foreach ($LogLineArray as $x)
$ExistingFileArray[count($ExistingFileArray)]=$x;
//save to file
$FileHandler=fopen($GlobalLogfile,'w');
$Length=count($ExistingFileArray);
for ($i= (($Length>$GlobalLogfileMaxLength) ? $Length-$GlobalLogfileMaxLength:0); $i<$Length;$i++)
fputs($FileHandler,$ExistingFileArray[$i]);
fclose($FileHandler);
}
}
function LogClose ()
{
LogWriteToFile();
}
function LogFormatMessage ($Msg)
{
global $GlobalTimeZone;
global $GlobalTimeFormat;
date_default_timezone_set($GlobalTimeZone);
$NewMsg = "";
$NewMsg .= "[".date($GlobalTimeFormat,time())."]";
$NewMsg .= $Msg . "\n";
return $NewMsg;
}
?>

41
includes/message.php Executable file
View file

@ -0,0 +1,41 @@
<?php
$MessageErrorMsg="";
$MessageWarningMsg="";
$MessageSuccessMsg="";
function MessageError($Msg)
{
global $MessageErrorMsg;
$MessageErrorMsg.=$Msg."\n";
}
function MessageWarning($Msg)
{
global $MessageWarningMsg;
$MessageWarningMsg.=$Msg."\n";
}
function MessageSuccess($Msg)
{
global $MessageSuccessMsg;
$MessageSuccessMsg.=$Msg."\n";
}
function MessageGetErrors()
{
global $MessageErrorMsg;
return $MessageErrorMsg;
}
function MessageGetWarnings()
{
global $MessageWarningMsg;
return $MessageWarningMsg;
}
function MessageGetSuccess()
{
global $MessageSuccessMsg;
return $MessageSuccessMsg;
}
?>

28
includes/mysql.php Executable file
View file

@ -0,0 +1,28 @@
<?php
$MysqlErrorsArePresent = 0;
$GlobalMysqlHandler=mysqli_connect($GlobalMysqlHost,$GlobalMysqlUser,$GlobalMysqlPwd);
if (!$GlobalMysqlHandler)
{
ErrorLog("[mysql.php] Can not connect to mysql database \"$GlobalMysqlHost\" as \"$GlobalMysqlUser\"!");
$MysqlErrorsArePresent = 1;
}
else
{
if (!mysqli_select_db($GlobalMysqlHandler, $GlobalMysqlDatabase))
{
ErrorLog("[mysql.php] Can not select mysql database \"$GlobalMysqlDatabase\"!");
$MysqlErrorsArePresent = 2;
}
}
if ($MysqlErrorsArePresent)
MessageError(LangSpellHtml('SentenceDatabaseError'));
function MysqlCloseDb ()
{
global $GlobalMysqlHandler;
mysqli_close($GlobalMysqlHandler);
}
?>

View file

@ -0,0 +1,173 @@
<?php
///////////
//logistics
function NestedListGetParentId($Id, $TableName)
{
if (!$TableName || !$Id) return 0;
$ReturnValue=0;
global $GlobalMysqlHandler;
$Query = "SELECT `ParentId` FROM `$TableName` WHERE `Id` =$Id";
$Query = mysqli_query($GlobalMysqlHandler, $Query);
if (mysqli_num_rows($Query))
{
$Data=mysqli_fetch_array($Query);
$ReturnValue=$Data['ParentId'];
}
else
{
ErrorLog("[nested_list_functions.php] No table element found at id $Id in table \"$Table\"!");
}
return $ReturnValue;
}
function NestedListGetName($Id, $TableName)
{
if (!$TableName || !$Id) return "";
$ReturnValue="";
global $GlobalMysqlHandler;
$Query = "SELECT `Name` FROM `$TableName` WHERE `Id` =$Id";
$Query = mysqli_query($GlobalMysqlHandler, $Query);
if (mysqli_num_rows($Query))
{
$Data=mysqli_fetch_array($Query);
$ReturnValue=$Data['Name'];
}
else
{
ErrorLog("[nested_list_functions.php] No table element found at id $Id in table \"$Table\"!");
}
return $ReturnValue;
}
function NestedLisGetSubelements ($ParentId, $TableName)
{
if (!$TableName) return 0;
$ReturnValue=array();
global $GlobalMysqlHandler;
$Query = "SELECT `Id`,`Name` FROM `$TableName` WHERE `ParentId` = $ParentId";
$Query = mysqli_query($Query,$GlobalMysqlHandler);
while ($Item = mysqli_fetch_row($Query))
{
$counter=count($ReturnValue);
$ReturnValue[$counter][0] = $Item[0];
$ReturnValue[$counter][1] = $Item[1];
}
return $ReturnValue;
}
/////////////
// statistics
function NestedListCountSubElements($ParentId, $TableName)
{
if (!$TableName) return 0;
$ReturnValue=1;
global $GlobalMysqlHandler;
$Query = "SELECT * FROM `$TableName` WHERE `ParentId` =$ParentId";
$Query = mysqli_query($GlobalMysqlHandler, $Query);
$ReturnValue=mysqli_num_rows($Query);
return $ReturnValue;
}
///////////////////////////
//list-visibility functions
function NestedListVisibilityToggle ($Id, $ListIdentifier)
{
if (!$Id || !$ListIdentifier) return;
if (!isset($_SESSION[$ListIdentifier]))
{
$EmptyArray = array();
$_SESSION[$ListIdentifier] = $EmptyArray;
}
$IdArray = $_SESSION[$ListIdentifier];
if (NestedListVisibilityIsSet($Id, $ListIdentifier)) $IdArray[$Id] = "False";
else $IdArray[$Id] = "True";
$_SESSION[$ListIdentifier]=$IdArray;
}
function NestedListVisibilitySetAllParents ($Id, $ListIdentifier, $TableName)
{
global $GlobalMysqlHandler;
while ($Id)
{
$Query="SELECT `ParentId` FROM `$TableName` WHERE `Id` = $Id";
$Query=mysqli_query($GlobalMysqlHandler, $Query);
if (mysqli_num_rows($Query))
{
$Item=mysqli_fetch_array($Query);
$Id=$Item['ParentId'];
NestedListVisibilitySet ($Id,$ListIdentifier);
}
else
{
ErrorLog("[nested_list_functions.php] No id '$Id' found in table '$TableName'!");
break;
}
}
}
function NestedListVisibilitySet ($Id, $ListIdentifier)
{
if (!NestedListVisibilityIsSet($Id, $ListIdentifier)) NestedListVisibilityToggle ($Id, $ListIdentifier);
}
function NestedListVisibilityUnset ($Id, $ListIdentifier)
{
if (NestedListVisibilityIsSet($Id, $ListIdentifier)) NestedListVisibilityToggle ($Id, $ListIdentifier);
}
function NestedListVisibilityIsSet ($Id, $ListIdentifier)
{
if (!$Id || !$ListIdentifier || !isset($_SESSION[$ListIdentifier])) return 0;
$IdArray = $_SESSION[$ListIdentifier];
//$Ret = ((count($IdArray)>=$Id) && (strtolower($IdArray[$Id])=="true")) ? 1:0;
$Ret = (isset($IdArray[$Id]) && (strtolower($IdArray[$Id])=="true")) ? 1:0;
return $Ret;
}
function NestedListVisibilityUnsetAllSubelements ($ParentId, $ListIdentifier, $TableName)
{
if (!$TableName) return 0;
$ReturnValue=1;
global $GlobalMysqlHandler;
$Query = "SELECT * FROM `$TableName` WHERE `ParentId` =$ParentId";
$Query = mysqli_query($GlobalMysqlHandler, $Query);
while ($Item = mysqli_fetch_array($Query))
{
NestedListVisibilityUnset ($Item['Id'], $ListIdentifier);
}
return $ReturnValue;
}
function NestedListVisibilityUnsetAllElements ($ListIdentifier)
{
if (!$ListIdentifier) return;
if (!isset($_SESSION[$ListIdentifier]))
{
$EmptyArray = array();
$_SESSION[$ListIdentifier] = $EmptyArray;
}
$IdArray = $_SESSION[$ListIdentifier];
for ($i=0; $i < count($IdArray); $i++) $IdArray[$i] = "False";
$_SESSION[$ListIdentifier]=$IdArray;
}
?>

132
includes/other_functions.php Executable file
View file

@ -0,0 +1,132 @@
<?php
function OtherGetAvailableTemplates ()
{
$ReturnValue=array();
$DirList=scandir('./templates/');
foreach ($DirList as $i)
{
if (!is_dir('./templates/'.$i) || (substr($i,0,1)=="."))
continue;
$ReturnValue[count($ReturnValue)]=$i;
}
return $ReturnValue;
}
function OtherFormatPrice ($PriceString)
{
global $GlobalDecimalPoint;
return str_replace(".",$GlobalDecimalPoint,sprintf("%.3f",OtherConvertToFloat($PriceString)));
}
function OtherConvertToFloat ($Value)
{
global $GlobalDecimalPoint;
$Value=trim($Value);
for ($i=0;$i<(strlen($Value)-1);$i++)
{
//replace first non-decimal position with decimal-point
if ( ! ($Value[$i]=="0"
|| $Value[$i]=="1"
|| $Value[$i]=="2"
|| $Value[$i]=="3"
|| $Value[$i]=="4"
|| $Value[$i]=="5"
|| $Value[$i]=="6"
|| $Value[$i]=="7"
|| $Value[$i]=="8"
|| $Value[$i]=="9"
))
{
$Value[$i]=$GlobalDecimalPoint;
break;
}
}
return (float) $Value;
}
function OtherSiPrefixToFloat ($String)
{
$String=trim($String);
if (substr($String,strlen($String)-1,1)=="E")
return OtherConvertToFloat($String)*1000000000000000000;
if (substr($String,strlen($String)-1,1)=="P")
return OtherConvertToFloat($String)*1000000000000000;
if (substr($String,strlen($String)-1,1)=="T")
return OtherConvertToFloat($String)*1000000000000;
if (substr($String,strlen($String)-1,1)=="G")
return OtherConvertToFloat($String)*1000000000;
if (substr($String,strlen($String)-1,1)=="M")
return OtherConvertToFloat($String)*1000000;
if (substr($String,strlen($String)-1,1)=="k")
return OtherConvertToFloat($String)*1000;
if (substr($String,strlen($String)-1,1)=="m")
return OtherConvertToFloat($String)/1000;
if (substr($String,strlen($String)-1,1)=="µ")
return OtherConvertToFloat($String)/1000000;
if (substr($String,strlen($String)-1,1)=="u")
return OtherConvertToFloat($String)/1000000;
if (substr($String,strlen($String)-1,1)=="n")
return OtherConvertToFloat($String)/1000000000;
if (substr($String,strlen($String)-1,1)=="p")
return OtherConvertToFloat($String)/1000000000000;
if (substr($String,strlen($String)-1,1)=="f")
return OtherConvertToFloat($String)/1000000000000000;
if (substr($String,strlen($String)-1,1)=="a")
return OtherConvertToFloat($String)/1000000000000000000;
else
return OtherConvertToFloat($String);
}
function OtherFloatToSiPrefix ($Integer)
{
$Integer = trim(sprintf("%E",$Integer));
$Exponent=0;
for ($i=(strlen($Integer)-1); $i>=0; $i--)
{
if ($Integer[$i]=="E") break;
$Exponent = $Integer[$i] . $Exponent;
}
$Exponent = substr($Exponent,0,strlen($Exponent)-1);
//set si prefix
if ($Exponent>=18) return ($Integer/1000000000000000000)." E";
if ($Exponent>=15) return ($Integer/1000000000000000)." P";
if ($Exponent>=12) return ($Integer/1000000000000)." T";
if ($Exponent>=9) return ($Integer/1000000000)." G";
if ($Exponent>=6) return ($Integer/1000000)." M";
if ($Exponent>=3) return ($Integer/1000)." k";
if ($Exponent<3 && $Exponent>=0) return ($Integer/1)." ";
if ($Exponent<-15) return ($Integer*1000000000000000)." a";
if ($Exponent<-12) return ($Integer*1000000000000000)." f";
if ($Exponent<-9) return ($Integer*1000000000000)." p";
if ($Exponent<-6) return ($Integer*1000000000)." n";
if ($Exponent<-3) return ($Integer*1000000)." µ";
if ($Exponent<0) return ($Integer*1000)." m";
}
function OtherGetIcon ($IconName,$CssClass)
{
global $GlobalTemplate;
$IconDirectory='./templates/'.$GlobalTemplate.'/icons/';
$Error = 0;
$RetVal = "";
if (file_exists($IconDirectory.$IconName.".png")) $IconFile=$IconName.".png";
elseif (file_exists($IconDirectory.$IconName.".jpg")) $IconFile=$IconName.".jpg";
elseif (file_exists($IconDirectory.$IconName.".gif")) $IconFile=$IconName.".gif";
else
{
$Error = 1;
//log if template directory is existing - if not, anyone else will report this
if (file_exists("./templates/".$GlobalTemplate)) ErrorLog("Icon '$IconName' +[.png|.jpg|.gif] not found!");
}
if (!$Error)
{
$RetVal = "<img src=\"$IconDirectory$IconFile\"".(($CssClass)? " class=\"$CssClass\"":"").">";
}
return $RetVal;
}
?>

158
includes/prepare_template.php Executable file
View file

@ -0,0 +1,158 @@
<?php
function GetPathToGuide($Guide)
{
global $GlobalLanguage;
include "config.php";
$Path="";
$PathUserLanguage = "./documentation/$GlobalLanguage/$Guide.pdf";
$PathConfigLanguage = "./documentation/$GlobalLanguage/$CfgStdLanguage.pdf";
if (file_exists($PathUserLanguage))
{
$Path=$PathUserLanguage;
}
elseif (file_exists($PathConfigLanguage))
{
$Path=$PathConfigLanguage;
}
elseif (file_exists("./documentation"))
{
$Dir=scandir("./documentation");
foreach ($Dir as $x)
{
if ($x=="." || $x=="..") continue;
if (!is_dir("./documentation/$x")) continue;
if (file_exists("./documentation/$x/$Guide.pdf"))
{
$Path="./documentation/$x/$Guide.pdf";
break;
}
}
}
return $Path;
}
$TemplateMainMenu ="";
$TemplateMainMenu .= ' <div id="MainMenu">'."\n";
$TemplateMainMenu .= ' <ul>'."\n";
$TemplateMainMenu .= ' <li><a href="index.php" target="_top" title="'.LangSpellHtml('MenuHome').'">'.OtherGetIcon('Home',0).LangSpellHtml('MenuHome').'</a></li>'."\n";
$TemplateMainMenu .= ' <li><a title="'.LangSpellHtml('MenuParts').'">'.OtherGetIcon('Parts',0).LangSpellHtml('MenuParts').'</a>'."\n";
$TemplateMainMenu .= ' <ul>'."\n";
$TemplateMainMenu .= ' <li><a href="index.php?Page=PartsByType" title="'.LangSpellHtml('MenuPartsByType').'">'.OtherGetIcon('Types',0).LangSpellHtml('MenuPartsByType').'</a></li>'."\n";
$TemplateMainMenu .= ' <li><a href="index.php?Page=PartsByStore" title="'.LangSpellHtml('MenuPartsByStore').'">'.OtherGetIcon('Stores',0).LangSpellHtml('MenuPartsByStore').'</a></li>'."\n";
if (UserHasRight('EditParts'))
$TemplateMainMenu .= ' <li><a href="index.php?Page=AddPart" title="'.LangSpellHtml('MenuPartsAddNewPart').'">'.OtherGetIcon('New',0).LangSpellHtml('MenuPartsAddNewPart').'</a></li>'."\n";
$TemplateMainMenu .= ' </ul>'."\n";
$TemplateMainMenu .= ' </li>'."\n";
if (UserHasRight('EditStores') || UserHasRight('EditTypes') || UserHasRight('EditPackages') || UserHasRight('EditVendors')
|| UserGetLogin()=="root"
|| UserHasRight('ViewSTPV'))
{
$TemplateMainMenu .= ' <li><a title="'.LangSpellHtml('MenuAdmin').'">'.LangSpellHtml('MenuAdmin').'</a>'."\n";
$TemplateMainMenu .= ' <ul>'."\n";
if (UserHasRight('EditStores') || UserHasRight('ViewSTPV'))
$TemplateMainMenu .= ' <li><a href="index.php?Page=EditStores" title="'.LangSpellHtml('MenuAdminStores').'">'.OtherGetIcon('Stores',0).LangSpellHtml('MenuAdminStores').'</a></li>'."\n";
if (UserHasRight('EditTypes') || UserHasRight('ViewSTPV'))
$TemplateMainMenu .= ' <li><a href="index.php?Page=EditTypes" title="'.LangSpellHtml('MenuAdminTypes').'">'.OtherGetIcon('Types',0).LangSpellHtml('MenuAdminTypes').'</a></li>'."\n";
if (UserHasRight('EditPackages') || UserHasRight('ViewSTPV'))
$TemplateMainMenu .= ' <li><a href="index.php?Page=EditPackages" title="'.LangSpellHtml('MenuAdminPacks').'">'.OtherGetIcon('Packages',0).LangSpellHtml('MenuAdminPacks').'</a></li>'."\n";
if (UserHasRight('EditVendors') || UserHasRight('ViewSTPV'))
$TemplateMainMenu .= ' <li><a href="index.php?Page=EditVendors" title="'.LangSpellHtml('MenuAdminVendors').'">'.OtherGetIcon('Vendors',0).LangSpellHtml('MenuAdminVendors').'</a></li>'."\n";
if (UserGetLogin()=="root")
{
$TemplateMainMenu .= ' <li><a href="index.php?Page=EditUsers" title="'.LangSpellHtml('MenuAdminUsers').'">'.OtherGetIcon('UserAdmin',0).LangSpellHtml('MenuAdminUsers').'</a></li>'."\n";
$TemplateMainMenu .= ' <li><a href="index.php?Page=EditConfig" title="'.LangSpellHtml('MenuAdminConfig').'">'.OtherGetIcon('Config',0).LangSpellHtml('MenuAdminConfig').'</a></li>'."\n";
}
$TemplateMainMenu .= ' </ul>'."\n";
$TemplateMainMenu .= ' </li>'."\n";
}
$TemplateMainMenu .= ' <li><a title="'.LangSpellHtml('MenuTools').'">'.OtherGetIcon('Tools',0).LangSpellHtml('MenuTools').'</a>'."\n";
$TemplateMainMenu .= ' <ul>'."\n";
$TemplateMainMenu .= ' <li><a href="index.php?Page=RepeatOrder" title="'.LangSpellHtml('MenuToolsRepOrder').'">'.OtherGetIcon('RepeatOrder',0).LangSpellHtml('MenuToolsRepOrder').'</a></li>'."\n";
$TemplateMainMenu .= ' <li><a title="'.LangSpellHtml('MenuToolsPartStat').'">'.OtherGetIcon('PartStatistic',0).LangSpellHtml('MenuToolsPartStat').'</a></li>'."\n";
if (UserHasRight('ConsistencyCheck') || UserGetLogin()=="root")
$TemplateMainMenu .= ' <li><a href="index.php?Page=ConsistencyCheck" title="'.LangSpellHtml('MenuToolsConsCheck').'">'.OtherGetIcon('ConsistencyCheck',0).LangSpellHtml('MenuToolsConsCheck').'</a></li>'."\n";
$TemplateMainMenu .= ' </ul>'."\n";
$TemplateMainMenu .= ' </li>'."\n";
$TemplateMainMenu .= ' <li><a title="'.LangSpellHtml('MenuHelp').'">'.OtherGetIcon('Help',0).LangSpellHtml('MenuHelp').'</a>'."\n";
$TemplateMainMenu .= ' <ul>'."\n";
if ($UserGuide=GetPathToGuide('UserGuide'))
$TemplateMainMenu .= ' <li><a href="'.$UserGuide.'" title="'.LangSpellHtml('MenuHelpUserGuide').'">'.OtherGetIcon('UserGuide',0).LangSpellHtml('MenuHelpUserGuide').'</a></li>'."\n";
if ($AdminGuide=GetPathToGuide('AdminGuide'))
$TemplateMainMenu .= ' <li><a href="'.$AdminGuide.'" title="'.LangSpellHtml('MenuHelpAdminGuide').'">'.OtherGetIcon('AdminGuide',0).LangSpellHtml('MenuHelpAdminGuide').'</a></li>'."\n";
if ($DeveloperGuide=GetPathToGuide('DeveloperGuide'))
$TemplateMainMenu .= ' <li><a href="'.$DeveloperGuide.'" title="'.LangSpellHtml('MenuHelpDeveloperGuide').'">'.OtherGetIcon('DeveloperGuide',0).LangSpellHtml('MenuHelpDeveloperGuide').'</a></li>'."\n";
$TemplateMainMenu .= ' <li><a href="index.php?Page=VersionHistory" title="'.LangSpellHtml('MenuHelpVersionHistory').'">'.OtherGetIcon('VersionHistory',0).LangSpellHtml('MenuHelpVersionHistory').'</a></li>'."\n";
$TemplateMainMenu .= ' <li><a title="'.LangSpellHtml('MenuHelpAbout').'">'.OtherGetIcon('About',0).LangSpellHtml('MenuHelpAbout').'</a>'."\n";
$TemplateMainMenu .= ' </li>'."\n";
$TemplateMainMenu .= ' </ul>'."\n";
$TemplateMainMenu .= ' </li>'."\n";
if (UserIsLoggedIn())
{
$TemplateMainMenu .= ' <li><a title="'.UserGetLogin().'">'.OtherGetIcon('Login',0).UserGetLogin().'</a>'."\n";
$TemplateMainMenu .= ' <ul>'."\n";
if (UserGetLogin()!=="root")
{
$TemplateMainMenu .= ' <li><a href="index.php?Page=UserSettings" title="'.LangSpellHtml('MenuUserSettings').'">'.OtherGetIcon('UserSettings',0).LangSpellHtml('MenuUserSettings').'</a></li>'."\n";
}
$TemplateMainMenu .= ' <li><a href="index.php?ToDo=Logout" target="_top" title="'.LangSpellHtml('MenuUserLogout').'">'.OtherGetIcon('Logout',0).LangSpellHtml('MenuUserLogout').'</a></li>'."\n";
$TemplateMainMenu .= ' </li>'."\n";
$TemplateMainMenu .= ' </ul>'."\n";
$TemplateMainMenu .= ' </li>'."\n";
}
$TemplateMainMenu .= ' </ul>'."\n";
$TemplateMainMenu .= ' </div>'."\n";
$TemplateMainMenu .= "\n";
$TemplateLogin = "";
$TemplateLogin .= ' <div id="Login">'."\n";
if (!UserIsLoggedIn())
{
$TemplateLogin .= ' <form action="index.php?ToDo=Login" method="post" id="LoginForm">'."\n";
$TemplateLogin .= ' <input type="text" name="Login" title="'.LangSpellHtml('MenuLoginName').'">'."\n";
$TemplateLogin .= ' <input type="password" name="Password" title="'.LangSpellHtml('MenuLoginPassword').'">'."\n";
$TemplateLogin .= ' <input type="submit" value="'.LangSpellHtml('MenuLogin').'" title="'.LangSpellHtml('MenuLogin').'">'."\n";
$TemplateLogin .= ' </form>'."\n";
}
$TemplateLogin .= ' </div>'."\n";
/**********
messages
***********/
$ShowMessageError = (MessageGetErrors()) ? 1:0;
$ShowMessageWarning = (MessageGetWarnings()) ? 1:0;
$ShowMessageSuccess = (MessageGetSuccess()) ? 1:0;
$TemplateMessage = "";
if ($ShowMessageError || $ShowMessageWarning || $ShowMessageSuccess)
{
$TemplateMessage .= '<div id="Message">';
if ($ShowMessageError)
$TemplateMessage .= '<div id="Error">'.nl2br(htmlentities(MessageGetErrors())).'</div>';
if ($ShowMessageWarning)
$TemplateMessage .= '<div id="Warning">'.nl2br(htmlentities(MessageGetWarnings())).'</div>';
if ($ShowMessageSuccess)
$TemplateMessage .= '<div id="Success">'.nl2br(htmlentities(MessageGetSuccess())).'</div>';
$TemplateMessage .= '</div>';
}
/***********************
include java scripts
************************/
$JSInclude = "";
$JSFileArray = file ("./includes/java_scripts.php");
foreach ($JSFileArray as $JSFileArrayLine)
$JSInclude .= $JSFileArrayLine;
$GlobalContent = $JSInclude.$GlobalContent;
/**********
Content
***********/
$TemplateBody='<div id="Body">'."\n".$GlobalContent.'</div>';
?>

175
includes/user.php Executable file
View file

@ -0,0 +1,175 @@
<?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;
}
?>