mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 15:03:25 +00:00
Fix status conversion
This commit is contained in:
@@ -479,6 +479,15 @@ class databox_status
|
||||
$conn = connection::getPDOConnection();
|
||||
|
||||
$status = '0';
|
||||
|
||||
if(substr($stat1, 0, 2) === '0x')
|
||||
{
|
||||
$stat1 = self::hex2bin(substr($stat1, 2));
|
||||
}
|
||||
if(substr($stat2, 0, 2) === '0x')
|
||||
{
|
||||
$stat2 = self::hex2bin(substr($stat2, 2));
|
||||
}
|
||||
|
||||
$sql = 'select bin(0b' . trim($stat1) . ' & 0b' . trim($stat2) . ') as result';
|
||||
|
||||
@@ -501,6 +510,15 @@ class databox_status
|
||||
|
||||
$status = '0';
|
||||
|
||||
if(substr($stat1, 0, 2) === '0x')
|
||||
{
|
||||
$stat1 = self::hex2bin(substr($stat1, 2));
|
||||
}
|
||||
if(substr($stat2, 0, 2) === '0x')
|
||||
{
|
||||
$stat2 = self::hex2bin(substr($stat2, 2));
|
||||
}
|
||||
|
||||
$sql = 'select bin(0b' . trim($stat1) . ' & ~0b' . trim($stat2) . ') as result';
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
@@ -522,6 +540,15 @@ class databox_status
|
||||
|
||||
$status = '0';
|
||||
|
||||
if(substr($stat1, 0, 2) === '0x')
|
||||
{
|
||||
$stat1 = self::hex2bin(substr($stat1, 2));
|
||||
}
|
||||
if(substr($stat2, 0, 2) === '0x')
|
||||
{
|
||||
$stat2 = self::hex2bin(substr($stat2, 2));
|
||||
}
|
||||
|
||||
$sql = 'select bin(0b' . trim($stat1) . ' | 0b' . trim($stat2) . ') as result';
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
@@ -539,17 +566,24 @@ class databox_status
|
||||
|
||||
public static function dec2bin($status)
|
||||
{
|
||||
$status = (string) $status;
|
||||
|
||||
if(!ctype_digit($status))
|
||||
{
|
||||
throw new \Exception('Non-decimal value');
|
||||
}
|
||||
|
||||
$conn = connection::getPDOConnection();
|
||||
|
||||
$status = '0';
|
||||
|
||||
$sql = 'select bin(' . ((int) $status) . ') as result';
|
||||
$sql = 'select bin(' . $status . ') as result';
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
$status = '0';
|
||||
|
||||
if ($row)
|
||||
{
|
||||
$status = $row['result'];
|
||||
@@ -560,17 +594,28 @@ class databox_status
|
||||
|
||||
public static function hex2bin($status)
|
||||
{
|
||||
$status = (string) $status;
|
||||
if(substr($status, 0, 2) === '0x')
|
||||
{
|
||||
$status = substr($status, 2);
|
||||
}
|
||||
|
||||
if(!ctype_xdigit($status))
|
||||
{
|
||||
throw new \Exception('Non-hexadecimal value');
|
||||
}
|
||||
|
||||
$conn = connection::getPDOConnection();
|
||||
|
||||
$status = '0';
|
||||
|
||||
$sql = 'select bin(0x' . trim($status) . ') as result';
|
||||
$sql = 'select BIN( CAST( 0x'.trim($status).' AS UNSIGNED ) ) as result';
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute();
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
$status = '0';
|
||||
|
||||
if ($row)
|
||||
{
|
||||
$status = $row['result'];
|
||||
|
Reference in New Issue
Block a user