initializing git repo
This commit is contained in:
commit
3df8fc53b8
86 changed files with 5649 additions and 0 deletions
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
config.php
|
||||||
|
downloads/
|
||||||
|
pictures/
|
||||||
|
log/
|
||||||
BIN
documentation/German/DeveloperGuide.odt
Executable file
BIN
documentation/German/DeveloperGuide.odt
Executable file
Binary file not shown.
BIN
documentation/German/DeveloperGuide.pdf
Executable file
BIN
documentation/German/DeveloperGuide.pdf
Executable file
Binary file not shown.
31
includes/globals.php
Executable file
31
includes/globals.php
Executable 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
19
includes/java_scripts.php
Executable 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
68
includes/language.php
Executable file
|
|
@ -0,0 +1,68 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function LangStr2Html ( $String )
|
||||||
|
{
|
||||||
|
$String = nl2br(htmlspecialchars($String,ENT_QUOTES));
|
||||||
|
|
||||||
|
//umlauts
|
||||||
|
$String = str_replace("ß","ß",$String);
|
||||||
|
$String = str_replace("ä","ä",$String);
|
||||||
|
$String = str_replace("ö","ö",$String);
|
||||||
|
$String = str_replace("ü","ü",$String);
|
||||||
|
$String = str_replace("Ä","Ä",$String);
|
||||||
|
$String = str_replace("Ö","Ö",$String);
|
||||||
|
$String = str_replace("Ü","Ü",$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
39
includes/load_config.php
Executable 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
65
includes/lock.php
Executable 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
60
includes/log.php
Executable 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
41
includes/message.php
Executable 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
28
includes/mysql.php
Executable 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);
|
||||||
|
}
|
||||||
|
?>
|
||||||
173
includes/nested_list_functions.php
Executable file
173
includes/nested_list_functions.php
Executable 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
132
includes/other_functions.php
Executable 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
158
includes/prepare_template.php
Executable 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
175
includes/user.php
Executable 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
110
index.php
Executable file
110
index.php
Executable file
|
|
@ -0,0 +1,110 @@
|
||||||
|
<?php
|
||||||
|
$StartTime=time()+microtime();
|
||||||
|
|
||||||
|
//set ToDo var
|
||||||
|
if (isset($_GET['ToDo']))
|
||||||
|
$ToDo=$_GET['ToDo'];
|
||||||
|
else
|
||||||
|
$ToDo="";
|
||||||
|
|
||||||
|
//main include code
|
||||||
|
include ("./includes/globals.php");
|
||||||
|
include ("./includes/load_config.php");
|
||||||
|
include ("./includes/log.php");
|
||||||
|
include ("./includes/message.php");
|
||||||
|
include ("./includes/language.php");
|
||||||
|
include ("./includes/mysql.php");
|
||||||
|
include ("./includes/user.php");
|
||||||
|
include ("./includes/lock.php");
|
||||||
|
include ("./includes/other_functions.php");
|
||||||
|
|
||||||
|
//special includes
|
||||||
|
include ("./includes/nested_list_functions.php");
|
||||||
|
|
||||||
|
//select page to include
|
||||||
|
$Page = (isset($_GET['Page']))? $_GET['Page']:"";
|
||||||
|
switch ($Page)
|
||||||
|
{
|
||||||
|
case 'RepeatOrder':
|
||||||
|
$Page="./pages/repeat_order.php";
|
||||||
|
break;
|
||||||
|
case 'ConsistencyCheck':
|
||||||
|
$Page="./pages/consistency_check.php";
|
||||||
|
break;
|
||||||
|
case 'ShowPart':
|
||||||
|
$Page="./pages/show_part.php";
|
||||||
|
break;
|
||||||
|
case 'PartsByType':
|
||||||
|
$Page="./pages/parts_by_type.php";
|
||||||
|
break;
|
||||||
|
case 'PartsByStore':
|
||||||
|
$Page="./pages/parts_by_store.php";
|
||||||
|
break;
|
||||||
|
case 'AddPart':
|
||||||
|
$Page="./pages/add_part.php";
|
||||||
|
break;
|
||||||
|
case 'EditTypes':
|
||||||
|
$Page="./pages/edit_types.php";
|
||||||
|
break;
|
||||||
|
case 'EditPackages':
|
||||||
|
$Page="./pages/edit_packages.php";
|
||||||
|
break;
|
||||||
|
case 'EditStores':
|
||||||
|
$Page="./pages/edit_stores.php";
|
||||||
|
break;
|
||||||
|
case 'EditVendors':
|
||||||
|
$Page="./pages/edit_vendors.php";
|
||||||
|
break;
|
||||||
|
case 'EditConfig':
|
||||||
|
$Page="./pages/edit_config.php";
|
||||||
|
break;
|
||||||
|
case 'EditUsers':
|
||||||
|
$Page="./pages/edit_users.php";
|
||||||
|
break;
|
||||||
|
case 'UserSettings':
|
||||||
|
$Page="./pages/user_settings.php";
|
||||||
|
break;
|
||||||
|
case 'VersionHistory':
|
||||||
|
$Page="./pages/version_history.php";
|
||||||
|
break;
|
||||||
|
case '':
|
||||||
|
$Page="./pages/home.php";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
MessageError(LangSpell("SentencePageNotFound"));
|
||||||
|
ErrorLog("[index.php] Page \"$Page\" not Found.");
|
||||||
|
$Page="./pages/home.php";
|
||||||
|
}
|
||||||
|
|
||||||
|
//include page
|
||||||
|
if (file_exists($Page)) include ($Page);
|
||||||
|
else ErrorLog("[index.php] Page-include \"$Page\" not found!");
|
||||||
|
|
||||||
|
//include template
|
||||||
|
include ( "./includes/prepare_template.php" );
|
||||||
|
if (file_exists("./templates/$GlobalTemplate/template.php"))
|
||||||
|
include ( "./templates/$GlobalTemplate/template.php" );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ErrorLog("[index.php] Template \"$GlobalTemplate\" damaged!");
|
||||||
|
MessageError(LangSpell('SentenceTemplateNotFound'));
|
||||||
|
echo $TemplateMainMenu.$TemplateLogin.$TemplateMessage.$GlobalContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Final Code
|
||||||
|
LogClose();
|
||||||
|
MysqlCloseDb();
|
||||||
|
|
||||||
|
if ($GlobalDebungMode)
|
||||||
|
{
|
||||||
|
$StopTime=time()+microtime();
|
||||||
|
$TimeSpan=ceil(($StopTime-$StartTime)*1000);
|
||||||
|
if ($TimeSpan<0)
|
||||||
|
{
|
||||||
|
ErrorLog("Execution time negative, start: '$StartTime' stop: '$StopTime' timespan: '$TimeSpan'!");
|
||||||
|
echo "Start time: <strong>$StartTime s</strong><br>\n";
|
||||||
|
echo "Stop time: <strong>$StopTime s</strong><br>\n";
|
||||||
|
}
|
||||||
|
echo "Script execution time: <strong>$TimeSpan ms</strong><br>\n";
|
||||||
|
}
|
||||||
|
?>
|
||||||
158
languages/English.lng
Executable file
158
languages/English.lng
Executable file
|
|
@ -0,0 +1,158 @@
|
||||||
|
MenuHome = Home
|
||||||
|
|
||||||
|
MenuParts = Parts
|
||||||
|
MenuPartsByType = Party By Type
|
||||||
|
MenuPartsByStore = Parts By Store
|
||||||
|
MenuPartsAddNewPart = Add New Part
|
||||||
|
|
||||||
|
MenuAdmin = Administration
|
||||||
|
MenuAdminStores = Stores
|
||||||
|
MenuAdminTypes = Types
|
||||||
|
MenuAdminPacks = Packages
|
||||||
|
MenuAdminVendors = Vendors
|
||||||
|
MenuAdminUsers = Users
|
||||||
|
MenuAdminConfig = Config
|
||||||
|
|
||||||
|
MenuTools = Tools
|
||||||
|
MenuToolsRepOrder = Repeat Order
|
||||||
|
MenuToolsPartStat = Part Statistic
|
||||||
|
MenuToolsConsCheck = Consistency Check
|
||||||
|
|
||||||
|
MenuHelp = Help
|
||||||
|
MenuHelpUserGuide = User Guide
|
||||||
|
MenuHelpAdminGuide = Admin Guide
|
||||||
|
MenuHelpDeveloperGuide = Developer Guide
|
||||||
|
MenuHelpVersionHistory = Version History
|
||||||
|
MenuHelpAbout = About
|
||||||
|
|
||||||
|
MenuUserSettings = User Settings
|
||||||
|
MenuUserLogout = Logout
|
||||||
|
|
||||||
|
MenuLogin = Login
|
||||||
|
MenuLoginName = Login Name
|
||||||
|
MenuLoginPassword = Password
|
||||||
|
|
||||||
|
ScentenceNoLoginSpecified = No login specified!
|
||||||
|
ScentenceLoggedAsRoot = Logged as root user.
|
||||||
|
ScentenceLoginFailed = Login failed!
|
||||||
|
ScentenceLoginTimeoutExpired = Login Timeout expired!
|
||||||
|
ScentenceLoginSucceeded = Login successfull.
|
||||||
|
ScentenceNoUserRights = You have not the required rights for this!
|
||||||
|
SentencePageNotFound = Page not found!
|
||||||
|
SentenceLoginForbidden = This login was not allowed!
|
||||||
|
SentencePasswordForbidden = This password was not allowed!
|
||||||
|
SentenceDatabaseError = Databse error!
|
||||||
|
SentenceNewUserAdded = New user has been added.
|
||||||
|
SentenceUserUpdated = User entry has been updated.
|
||||||
|
SentenceUserDeleted = User has been deleted.
|
||||||
|
SentencePasswordChangedWarning = User password has been changed!
|
||||||
|
SentenceTemplateNotFound = Template not found!
|
||||||
|
SentenceLockIsActive = Item is locked by another user.
|
||||||
|
SentenceUnknownError = Unkown error!
|
||||||
|
SentenceNestedListMoved = Element was moved.
|
||||||
|
SentencePleaseSelectPartType = Please select the type of the part.
|
||||||
|
SentencePleaseSelectPartStorage = Please select the store of the part.
|
||||||
|
SentencePleaseSelectPackage = Please select the package of the part.
|
||||||
|
SentencePleaseSpecifyPartValues = Please specify the values of the part.
|
||||||
|
SentenceNoNameOrValueOrDescriptionGiven = No name, value or description given!
|
||||||
|
SentenceNewPartAdded = New part was added to database.
|
||||||
|
SentencePartHasBeenUpdated = Part has been updated.
|
||||||
|
SentenceNoFileGiven = No file given!
|
||||||
|
SentenceNotEnoughDiskSpace = There is not enough free disk space!
|
||||||
|
SentenceFileAlreadyExist = File already exist!
|
||||||
|
SentenceCanNotCopyFile = Can not copy file!
|
||||||
|
SentenceFileHasBeenUploaded = File has been uploaded.
|
||||||
|
SentenceDownloadEdited = Download has been edited.
|
||||||
|
SentenceDownloadDeleted = Download deleted.
|
||||||
|
SentenceShureToDeletePart = Are you shure to remove the part from the database?
|
||||||
|
SentencePartDeleted = Part was removed from database.
|
||||||
|
|
||||||
|
TagTitleEditUserLogin = Edit this users login name.
|
||||||
|
TagTitleEditUserPassword = Edit this users password or leave untouched to keep the old.
|
||||||
|
TagTitleEditUserRight = Check or uncheck to set or reset this users right.
|
||||||
|
TagTitleDeleteUser = Delete this user.
|
||||||
|
TagTitleDeleteEntry = Delete Item
|
||||||
|
TagTitleEdit = Edit Item
|
||||||
|
TagTitleDelete = Delete Item
|
||||||
|
TagTitleCancel = Cancel
|
||||||
|
TagTitleMove = Move Item
|
||||||
|
TagTitleMoveUp = Move Item Up
|
||||||
|
|
||||||
|
ButtonEdit = Edit
|
||||||
|
ButtonSave = Save
|
||||||
|
ButtonNew = New
|
||||||
|
ButtonProceed = Proceed
|
||||||
|
ButtonUpload = Upload
|
||||||
|
|
||||||
|
UserSettingsTableHead = user settings
|
||||||
|
UserSettingsSetNewPassword = set new password
|
||||||
|
UserSettingsConfirmNewPassword = confirm new password
|
||||||
|
UserSettingsLanguage = language
|
||||||
|
UserSettingsTemplate = template
|
||||||
|
UserSettingsDefault = default
|
||||||
|
|
||||||
|
EditVendorsId = id
|
||||||
|
EditVendorsName = vendor
|
||||||
|
EditVendorsHomepage = homepage
|
||||||
|
EditVendorsMinBill = minimum bill
|
||||||
|
EditVendorsShippingCost = shipping cost
|
||||||
|
EditVendorsEdit = Edit
|
||||||
|
EditVendorsSentenceVendorNameRequired = Name of the Vendor is required!
|
||||||
|
EditVendorsSentenceVendorNewAdded = New vendor added.
|
||||||
|
EditVendorsSentenceVendorDeleted = Vendor deleted.
|
||||||
|
EditVendorsSentenceVendorUpated = Vendor updated.
|
||||||
|
|
||||||
|
EditStoresNoStoreNameGiven = You need to give a name for the store!
|
||||||
|
EditStoresNewStoreAdded = New store added.
|
||||||
|
EditStoresStoreDeleted = Store deleted.
|
||||||
|
|
||||||
|
EditPackagesNoPackageNameGiven = You need to give a name for the package!
|
||||||
|
EditPackagesNewPackageAdded = New package added.
|
||||||
|
EditPackagesPackageDeleted = Package deleted.
|
||||||
|
|
||||||
|
EditTypesNoTypeNameGiven = You need to give a name for the type!
|
||||||
|
EditTypesNewTypeAdded = New type added.
|
||||||
|
EditTypesTypeDeleted = Type deleted.
|
||||||
|
EditTypesName = Name
|
||||||
|
EditTypesShortName = Abbr.
|
||||||
|
EditTypesNameValue1 = Value1
|
||||||
|
EditTypesNameValue2 = Value2
|
||||||
|
EditTypesNameValue3 = Value3
|
||||||
|
EditTypesUnitValue1 = Unit1
|
||||||
|
EditTypesUnitValue2 = Unit2
|
||||||
|
EditTypesUnitValue3 = Unit3
|
||||||
|
|
||||||
|
PartsName = Name
|
||||||
|
PartsShortDescription = Short Description
|
||||||
|
PartsLongDescription = Long Description
|
||||||
|
PartsVendor = Vendor
|
||||||
|
PartsManufactorLink = Manufactor Link
|
||||||
|
PartsNotSpecified = not specified
|
||||||
|
PartsVendorLink = Vendor Link
|
||||||
|
PartsPackageUnit = Package Unit
|
||||||
|
PartsPrice = Price
|
||||||
|
PartsMinOrderQuantity = Minimum Order Quantity
|
||||||
|
PartsQuantity = Actual Quantity
|
||||||
|
PartsMinQuantity = Minimum Quantity
|
||||||
|
PartsPackage = Package
|
||||||
|
PartsObsolete = Obsolete
|
||||||
|
PartsObsoleteOnly = Only Obsolete
|
||||||
|
PartsObsoleteNon = Non Obsolete
|
||||||
|
PartsObsoleteAll = All Parts
|
||||||
|
PartsType = Type
|
||||||
|
PartsStorage = Store
|
||||||
|
PartsValues = Values
|
||||||
|
PartsDownloads = Downloads
|
||||||
|
PartsPicture = Picture
|
||||||
|
|
||||||
|
DownloadsName = Name
|
||||||
|
DownloadsPath = Path
|
||||||
|
DownloadsSize = Size
|
||||||
|
DownloadsType = Type
|
||||||
|
|
||||||
|
RepeatOrderPackagesToOrder = Packages To Order
|
||||||
|
RepeatOrderSumPrice = Sum Price
|
||||||
|
|
||||||
|
ConsCheckCreateDatabaseStructure = Create Database Structure
|
||||||
|
ConsCheckRepairIncorrectType = Repair incorrect parts type
|
||||||
|
COnsCheckIncorrectTypeParts = Number of parts with incorrect types
|
||||||
158
languages/German.lng
Executable file
158
languages/German.lng
Executable file
|
|
@ -0,0 +1,158 @@
|
||||||
|
MenuHome = Startseite
|
||||||
|
|
||||||
|
MenuParts = Bauteile
|
||||||
|
MenuPartsByType = Teile nach Typ
|
||||||
|
MenuPartsByStore = Teile nach Lager
|
||||||
|
MenuPartsAddNewPart = Neues Bauteil
|
||||||
|
|
||||||
|
MenuAdmin = Administration
|
||||||
|
MenuAdminStores = Lager
|
||||||
|
MenuAdminTypes = Typen
|
||||||
|
MenuAdminPacks = Gehäuse
|
||||||
|
MenuAdminVendors = Lieferanten
|
||||||
|
MenuAdminUsers = Benutzer
|
||||||
|
MenuAdminConfig = Config
|
||||||
|
|
||||||
|
MenuTools = Werkzeuge
|
||||||
|
MenuToolsRepOrder = Nachbestellung
|
||||||
|
MenuToolsPartStat = Bauteil Statistik
|
||||||
|
MenuToolsConsCheck = Konsistenz Prüfung
|
||||||
|
|
||||||
|
MenuHelp = Hilfe
|
||||||
|
MenuHelpUserGuide = Benutzerhandbuch
|
||||||
|
MenuHelpAdminGuide = Administrationshandbuch
|
||||||
|
MenuHelpDeveloperGuide = Entwicklerhandbuch
|
||||||
|
MenuHelpVersionHistory = Versionsgeschichte
|
||||||
|
MenuHelpAbout = Über
|
||||||
|
|
||||||
|
MenuUserSettings = Benutzer Einstellungen
|
||||||
|
MenuUserLogout = Logout
|
||||||
|
|
||||||
|
MenuLogin = Login
|
||||||
|
MenuLoginName = Login Name
|
||||||
|
MenuLoginPassword = Passwort
|
||||||
|
|
||||||
|
ScentenceNoLoginSpecified = Kein Login angegeben!
|
||||||
|
ScentenceLoggedAsRoot = Eingeloggt als root!
|
||||||
|
ScentenceLoginFailed = Login fehlgeschlagen!
|
||||||
|
ScentenceLoginTimeoutExpired = Login Zeitlimit überschritten!
|
||||||
|
ScentenceLoginSucceeded = Login erfolgreich.
|
||||||
|
ScentenceNoUserRights = Sie besitzen nicht die nötigen Benutzerrechte!
|
||||||
|
SentencePageNotFound = Die Seite wurde nicht gefunden!
|
||||||
|
SentenceLoginForbidden = Dieser Login ist nicht erlaubt!
|
||||||
|
SentencePasswordForbidden = Dieses Passwort ist nicht erlaubt!
|
||||||
|
SentenceDatabaseError = Datenbank fehler!
|
||||||
|
SentenceNewUserAdded = Neuer Benutzer wurde zugefügt.
|
||||||
|
SentenceUserUpdated = Benutzereintrag wurde gespeichert.
|
||||||
|
SentenceUserDeleted = Benutzer wurde gelöscht.
|
||||||
|
SentencePasswordChangedWarning = Benutzer Passwort wurde geändert!
|
||||||
|
SentenceTemplateNotFound = Das Template wurde nicht gefunden!
|
||||||
|
SentenceLockIsActive = Dieser Posten ist durch einen anderen Benutzer gesperrt.
|
||||||
|
SentenceUnknownError = Unbekannter Fehler!
|
||||||
|
SentenceNestedListMoved = Das Element wurde verschoben.
|
||||||
|
SentencePleaseSelectPartType = Bitte wählen sie den Typ des Bauteils.
|
||||||
|
SentencePleaseSelectPartStorage = Bitte wählen sie den Lagerort des Bauteils.
|
||||||
|
SentencePleaseSelectPackage = Bitte wählen sie den Gehäusetyp des Bauteils.
|
||||||
|
SentencePleaseSpecifyPartValues = Bitte geben sie die Werte des Bauteils ein.
|
||||||
|
SentenceNoNameOrValueOrDescriptionGiven = Kein Name, Wert oder Beschreibung angegeben!
|
||||||
|
SentenceNewPartAdded = Neues Bauteil wurde der Datenbank hinzugefügt.
|
||||||
|
SentencePartHasBeenUpdated = Bauteil wurde gespeichert.
|
||||||
|
SentenceNoFileGiven = Keine Datei angegeben!
|
||||||
|
SentenceNotEnoughDiskSpace = Nicht genügend Speicherplatz!
|
||||||
|
SentenceFileAlreadyExist = Die Datei existiert bereits!
|
||||||
|
SentenceCanNotCopyFile = Datei kann nicht kopiert werden!
|
||||||
|
SentenceFileHasBeenUploaded = Datei wurde hochgeladen.
|
||||||
|
SentenceDownloadEdited = Download wurde bearbeitet.
|
||||||
|
SentenceDownloadDeleted = Download wurde gelöscht.
|
||||||
|
SentenceShureToDeletePart = Sind sie sicher, dass sie das Bauteil aus der Datenbank löschen wollen?
|
||||||
|
SentencePartDeleted = Bauteil wurde aus der Datenbank gelöscht.
|
||||||
|
|
||||||
|
TagTitleEditUserLogin = Benutzer login bearbeiten.
|
||||||
|
TagTitleEditUserPassword = Passwort ändern oder frei lassen.
|
||||||
|
TagTitleEditUserRight = Markieren setzt dieses Benutzerrecht.
|
||||||
|
TagTitleDeleteUser = Benutzer löschen.
|
||||||
|
TagTitleDeleteEntry = Eintrag löschen.
|
||||||
|
TagTitleEdit = Eintrag bearbeiten.
|
||||||
|
TagTitleDelete = Eintrag löschen.
|
||||||
|
TagTitleCancel = Abbrechen
|
||||||
|
TagTitleMove = Eintrag verschieben.
|
||||||
|
TagTitleMoveUp = Eintrag nach oben verschieben.
|
||||||
|
|
||||||
|
ButtonEdit = Bearbeiten
|
||||||
|
ButtonSave = Speichern
|
||||||
|
ButtonNew = Neu
|
||||||
|
ButtonProceed = Fortfahren
|
||||||
|
ButtonUpload = Hochladen
|
||||||
|
|
||||||
|
UserSettingsTableHead = Benutzer Einstellungen
|
||||||
|
UserSettingsSetNewPassword = Neues Passwort setzen
|
||||||
|
UserSettingsConfirmNewPassword = Neues Passwort bestätigen
|
||||||
|
UserSettingsLanguage = Sprache
|
||||||
|
UserSettingsTemplate = Template
|
||||||
|
UserSettingsDefault = Standart
|
||||||
|
|
||||||
|
EditVendorsId = Id
|
||||||
|
EditVendorsName = Händler
|
||||||
|
EditVendorsHomepage = Homepage
|
||||||
|
EditVendorsMinBill = Mindestbestellwert
|
||||||
|
EditVendorsShippingCost = Versandkosten
|
||||||
|
EditVendorsEdit = Ändern
|
||||||
|
EditVendorsSentenceVendorNameRequired = Name des Händlers wird benötigt!
|
||||||
|
EditVendorsSentenceVendorNewAdded = Neuer Händler eingetragen.
|
||||||
|
EditVendorsSentenceVendorDeleted = Händler gelöscht.
|
||||||
|
EditVendorsSentenceVendorUpated = Händler geändert.
|
||||||
|
|
||||||
|
EditStoresNoStoreNameGiven = Sie müssen einen Namen für das Lager angeben!
|
||||||
|
EditStoresNewStoreAdded = Neues Lager angelegt.
|
||||||
|
EditStoresStoreDeleted = Lager gelöscht.
|
||||||
|
|
||||||
|
EditPackagesNoPackageNameGiven = Sie müssen einen Gehäusenamen angeben!
|
||||||
|
EditPackagesNewPackageAdded = Neues Gehäuse hinzugefügt.
|
||||||
|
EditPackagesPackageDeleted = Gehäuse gelöscht.
|
||||||
|
|
||||||
|
EditTypesNoTypeNameGiven = Sie müssen einen Typennamen angeben!
|
||||||
|
EditTypesNewTypeAdded = Neuer Typ zugefügt.
|
||||||
|
EditTypesTypeDeleted = Typ gelöscht.
|
||||||
|
EditTypesName = Name
|
||||||
|
EditTypesShortName = Abk.
|
||||||
|
EditTypesNameValue1 = Wert1
|
||||||
|
EditTypesNameValue2 = Wert2
|
||||||
|
EditTypesNameValue3 = Wert2
|
||||||
|
EditTypesUnitValue1 = Einheit1
|
||||||
|
EditTypesUnitValue2 = Einheit2
|
||||||
|
EditTypesUnitValue3 = Einheit3
|
||||||
|
|
||||||
|
PartsName = Name
|
||||||
|
PartsShortDescription = kuzre Beschreibung
|
||||||
|
PartsLongDescription = lange Beschreibung
|
||||||
|
PartsVendor = Händler
|
||||||
|
PartsManufactorLink = Hersteller Link
|
||||||
|
PartsNotSpecified = nicht angegeben
|
||||||
|
PartsVendorLink = Händler Link
|
||||||
|
PartsPackageUnit = Verpackungseinheit
|
||||||
|
PartsPrice = Preis
|
||||||
|
PartsMinOrderQuantity = Mindestbestellmenge
|
||||||
|
PartsQuantity = Aktuelle Anzahl
|
||||||
|
PartsMinQuantity = Mindest Anzahl
|
||||||
|
PartsPackage = Gehäuse
|
||||||
|
PartsObsolete = Obsolet
|
||||||
|
PartsObsoleteOnly = nur Obsolet
|
||||||
|
PartsObsoleteNon = keine Obsolete
|
||||||
|
PartsObsoleteAll = alle Bauteile
|
||||||
|
PartsType = Typ
|
||||||
|
PartsStorage = Lager
|
||||||
|
PartsValues = Werte
|
||||||
|
PartsDownloads = Downloads
|
||||||
|
PartsPicture = Bild
|
||||||
|
|
||||||
|
DownloadsName = Name
|
||||||
|
DownloadsPath = Pfad
|
||||||
|
DownloadsSize = Größe
|
||||||
|
DownloadsType = Typ
|
||||||
|
|
||||||
|
RepeatOrderPackagesToOrder = Bestellmenge
|
||||||
|
RepeatOrderSumPrice = Gesamtpreis
|
||||||
|
|
||||||
|
ConsCheckCreateDatabaseStructure = Datenbank Struktur erzeugen
|
||||||
|
ConsCheckRepairIncorrectType = Kaputte Bauteiltypen reparieren
|
||||||
|
COnsCheckIncorrectTypeParts = Anzahl kaputter Bauteiltypen
|
||||||
125
pages/add_part.php
Executable file
125
pages/add_part.php
Executable file
|
|
@ -0,0 +1,125 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if (isset($_POST['NewPartType'])) $_SESSION['NewPartType'] = $_POST['NewPartType'];
|
||||||
|
if (isset($_POST['NewPartStorage'])) $_SESSION['NewPartStorage'] = $_POST['NewPartStorage'];
|
||||||
|
if (isset($_POST['NewPartPackage'])) $_SESSION['NewPartPackage'] = $_POST['NewPartPackage'];
|
||||||
|
$_SESSION['NewPartObsolete'] = (isset($_POST['NewPartObsolete']))? $_POST['NewPartObsolete']:"";
|
||||||
|
$_SESSION['NewPartName'] = (isset($_POST['NewPartName']))? $_POST['NewPartName']:"";
|
||||||
|
$_SESSION['NewPartValue1'] = (isset($_POST['NewPartValue1']))? $_POST['NewPartValue1']:"";
|
||||||
|
$_SESSION['NewPartValue2'] = (isset($_POST['NewPartValue2']))? $_POST['NewPartValue2']:"";
|
||||||
|
$_SESSION['NewPartValue3'] = (isset($_POST['NewPartValue3']))? $_POST['NewPartValue3']:"";
|
||||||
|
$_SESSION['NewPartShortDesc'] = (isset($_POST['NewPartShortDesc']))? $_POST['NewPartShortDesc']:"";
|
||||||
|
$_SESSION['NewPartLongDesc'] = (isset($_POST['NewPartLongDesc']))? $_POST['NewPartLongDesc']:"";
|
||||||
|
$_SESSION['NewPartVendor'] = (isset($_POST['NewPartVendor']))? $_POST['NewPartVendor']:"";
|
||||||
|
$_SESSION['NewPartVedorLink'] = (isset($_POST['NewPartVedorLink']))? $_POST['NewPartVedorLink']:"";
|
||||||
|
$_SESSION['NewPartManufactorLink'] = (isset($_POST['NewPartManufactorLink']))? $_POST['NewPartManufactorLink']:"";
|
||||||
|
$_SESSION['NewPartPackageUnit'] = (isset($_POST['NewPartPackageUnit']))? $_POST['NewPartPackageUnit']:"";
|
||||||
|
$_SESSION['NewPartPrice'] = (isset($_POST['NewPartPrice']))? $_POST['NewPartPrice']:"";
|
||||||
|
$_SESSION['NewPartMinOrderQty'] = (isset($_POST['NewPartMinOrderQty']))? $_POST['NewPartMinOrderQty']:"";
|
||||||
|
$_SESSION['NewPartQty'] = (isset($_POST['NewPartQty']))? $_POST['NewPartQty']:"";
|
||||||
|
$_SESSION['NewPartMinQty'] = (isset($_POST['NewPartMinQty']))? $_POST['NewPartMinQty']:"";
|
||||||
|
$AddNewPartSetp = (isset($_GET['AddNewPartSetp'])) ? $_GET['AddNewPartSetp']:"";
|
||||||
|
|
||||||
|
if (UserHasRight('EditParts'))
|
||||||
|
{
|
||||||
|
if ($AddNewPartSetp=="CreatePart")
|
||||||
|
{
|
||||||
|
if (!isset($_SESSION['NewPartPackage']) || !$_SESSION['NewPartPackage']) $AddNewPartSetp="SelectPackage" ;
|
||||||
|
elseif (!isset($_SESSION['NewPartStorage']) || !$_SESSION['NewPartStorage']) $AddNewPartSetp="SelectStorage" ;
|
||||||
|
elseif (!isset($_SESSION['NewPartType']) || !$_SESSION['NewPartType']) $AddNewPartSetp="" ;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!$_SESSION['NewPartName'] && !$_SESSION['NewPartShortDesc'] && !$_SESSION['NewPartLongDesc']
|
||||||
|
&& !$_SESSION['NewPartValue1'] && !$_SESSION['NewPartValue2'] && !$_SESSION['NewPartValue3'])
|
||||||
|
{
|
||||||
|
MessageError(LangSpell('SentenceNoNameOrValueOrDescriptionGiven'));
|
||||||
|
ErrorLog("[add_part.php] No name, description or value given!");
|
||||||
|
$AddNewPartSetp="SelectValues";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$InsertQuery = "INSERT INTO `Parts` (`Name`, `Value1`, `Value2`, `Value3`, `ShortDesc`, `LongDesc`"
|
||||||
|
.", `TypeId`, `StorageId`, `PackageId`, `VendorId`, `VendorLink`, `ManufactorLink`"
|
||||||
|
.", `PackageUnit`, `Price`, `MinOrderQty`, `Qty`, `MinQty`, `Obsolete`) VALUES "
|
||||||
|
."('".$_SESSION['NewPartName']."', '".OtherSiPrefixToFloat ($_SESSION['NewPartValue1'])."'"
|
||||||
|
.", '".OtherSiPrefixToFloat ($_SESSION['NewPartValue2'])."', '".OtherSiPrefixToFloat ($_SESSION['NewPartValue3'])."'"
|
||||||
|
.", '".$_SESSION['NewPartShortDesc']."', '".$_SESSION['NewPartLongDesc']."'"
|
||||||
|
.", '".$_SESSION['NewPartType']."', '".$_SESSION['NewPartStorage']."'"
|
||||||
|
.", '".$_SESSION['NewPartPackage']."', '".$_SESSION['NewPartVendor']."'"
|
||||||
|
.", '".$_SESSION['NewPartVedorLink']."', '".$_SESSION['NewPartManufactorLink']."'"
|
||||||
|
.", '".$_SESSION['NewPartPackageUnit']."', '".OtherConvertToFloat ($_SESSION['NewPartPrice'])."'"
|
||||||
|
.", '".$_SESSION['NewPartMinOrderQty']."', '".$_SESSION['NewPartQty']."'"
|
||||||
|
.", '".$_SESSION['NewPartMinQty']."', '".((isset($_SESSION['NewPartObsolete']) && strtolower($_SESSION['NewPartObsolete'])=="true")? "True":"False")."');";
|
||||||
|
global $GlobalMysqlHandler;
|
||||||
|
if (mysqli_query($GlobalMysqlHandler, $InsertQuery))
|
||||||
|
{
|
||||||
|
unset($_SESSION['NewPartType'],$_SESSION['NewPartStorage'],$_SESSION['NewPartPackage']
|
||||||
|
,$_SESSION['NewPartName'],$_SESSION['NewPartValue1'],$_SESSION['NewPartValue2']
|
||||||
|
,$_SESSION['NewPartValue3'],$_SESSION['NewPartShortDesc'],$_SESSION['NewPartLongDesc']
|
||||||
|
,$_SESSION['NewPartVendor'],$_SESSION['NewPartVedorLink'],$_SESSION['NewPartManufactorLink']
|
||||||
|
,$_SESSION['NewPartPackageUnit'],$_SESSION['NewPartPrice'],$_SESSION['NewPartMinOrderQty']
|
||||||
|
,$_SESSION['NewPartQty'],$_SESSION['NewPartMinQty']);
|
||||||
|
$AddNewPartSetp = "";
|
||||||
|
MessageSuccess(LangSpell('SentenceNewPartAdded'));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageError(LangSpell('SentenceDatabaseError'));
|
||||||
|
ErrorLog("[add_part.hp] Failed to Insert new part!");
|
||||||
|
$AddNewPartSetp="SelectValues";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($AddNewPartSetp=="SelectValues")
|
||||||
|
{
|
||||||
|
if (isset($_SESSION['NewPartPackage']) && $_SESSION['NewPartPackage'])
|
||||||
|
{
|
||||||
|
include "./pages/add_part_values.php";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageWarning(LangSpell('SentencePleaseSelectPackage'));
|
||||||
|
$AddNewPartSetp="SelectPackage";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($AddNewPartSetp=="SelectPackage")
|
||||||
|
{
|
||||||
|
if (isset($_SESSION['NewPartStorage']) && $_SESSION['NewPartStorage'])
|
||||||
|
{
|
||||||
|
include "./pages/add_part_package.php";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageWarning(LangSpell('SentencePleaseSelectPartStorage'));
|
||||||
|
$AddNewPartSetp="SelectStorage";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($AddNewPartSetp=="SelectStorage")
|
||||||
|
{
|
||||||
|
if (isset($_SESSION['NewPartType']) && $_SESSION['NewPartType'])
|
||||||
|
{
|
||||||
|
include "./pages/add_part_storage.php";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageWarning(LangSpell('SentencePleaseSelectPartType'));
|
||||||
|
include "./pages/add_part_type.php";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($AddNewPartSetp=="")
|
||||||
|
{
|
||||||
|
$_SESSION['NewPartType'] = 0;
|
||||||
|
$_SESSION['NewPartStorage'] = 0;
|
||||||
|
include "./pages/add_part_type.php";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageError(LangSpell("ScentenceNoUserRights"));
|
||||||
|
}
|
||||||
|
?>
|
||||||
73
pages/add_part_package.php
Executable file
73
pages/add_part_package.php
Executable file
|
|
@ -0,0 +1,73 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$NewPartType = (isset($_POST['NewPartType']))? $_POST['NewPartType']:0;
|
||||||
|
|
||||||
|
function WritePackageList($ParentId, $ParentIsLocked)
|
||||||
|
{
|
||||||
|
global $GlobalMysqlHandler;
|
||||||
|
global $GlobalContent;
|
||||||
|
global $GlobalTemplate;
|
||||||
|
global $EditTypesEditId;
|
||||||
|
|
||||||
|
$ListQuery="SELECT * FROM `Packages` WHERE `ParentId` =$ParentId";
|
||||||
|
$ListQuery=mysqli_query($GlobalMysqlHandler, $ListQuery);
|
||||||
|
|
||||||
|
if (!$ParentId || NestedListVisibilityIsSet($ParentId, 'AddPartPackage'))
|
||||||
|
$GlobalContent .= "<ul style=\"display:block;\">\n";
|
||||||
|
else
|
||||||
|
$GlobalContent .= "<ul style=\"display:none;\">\n";
|
||||||
|
|
||||||
|
if (mysqli_num_rows($ListQuery))
|
||||||
|
{
|
||||||
|
while ($ListData=mysqli_fetch_array($ListQuery))
|
||||||
|
{
|
||||||
|
$GlobalContent .= " <li>\n";
|
||||||
|
if (LockIsActive('Types',$ListData['Id']) || $ParentIsLocked)
|
||||||
|
{
|
||||||
|
$GlobalContent .= OtherGetIcon('LockActive.png',0);
|
||||||
|
$ParentIsLocked = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$GlobalContent .= ' <input type="radio" name="NewPartPackage" value="'.$ListData['Id'].'">';
|
||||||
|
}
|
||||||
|
$GlobalContent .= " <a href=\"index.php?Page=AddPart&AddNewPartSetp=SelectPackage&ToDo=OpenSublist&SublistId=".$ListData['Id']."\">".LangStr2Html($ListData['Name'])."</a>";
|
||||||
|
$GlobalContent .= " (".NestedListCountSubElements($ListData['Id'],'Packages').")";
|
||||||
|
$GlobalContent .= " \n</li>\n";
|
||||||
|
|
||||||
|
WritePackageList($ListData['Id'],$ParentIsLocked);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$GlobalContent .= "</ul>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (UserHasRight('EditParts'))
|
||||||
|
{
|
||||||
|
///////////////
|
||||||
|
// open sublist
|
||||||
|
if ($ToDo=="OpenSublist")
|
||||||
|
{
|
||||||
|
if (isset($_GET['SublistId']) && $_GET['SublistId'])
|
||||||
|
{
|
||||||
|
NestedListVisibilityToggle($_GET['SublistId'], 'AddPartPackage');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ErrorLog("[add_part1.php] No SublistId to open type!");
|
||||||
|
MessageError(LangSpell('SentenceUnknownError'));
|
||||||
|
}
|
||||||
|
$ToDo="";
|
||||||
|
}
|
||||||
|
|
||||||
|
$GlobalContent .= '<h1>'.LangSpellHtml('SentencePleaseSelectPackage').'</h1>';
|
||||||
|
$GlobalContent .= '<form action="index.php?Page=AddPart&AddNewPartSetp=SelectValues" method="post">';
|
||||||
|
WritePackageList(0, 0);
|
||||||
|
$GlobalContent .= '<input type="submit" value="'.LangSpellHtml('ButtonProceed').'"class="Button">';
|
||||||
|
$GlobalContent .= '</form>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageError(LangSpell("ScentenceNoUserRights"));
|
||||||
|
}
|
||||||
|
?>
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue