partstock/includes/lock.php
2018-12-17 17:50:23 +01:00

65 lines
1.5 KiB
PHP
Executable file

<?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;
}
?>