113 lines
3.0 KiB
PHP
113 lines
3.0 KiB
PHP
<?php
|
|
session_start();
|
|
|
|
function get_version()
|
|
{
|
|
return "1.4.2023.10b1 rev 280100";
|
|
}
|
|
function generateRandomString($length = 10) {
|
|
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
$charactersLength = strlen($characters);
|
|
$randomString = '';
|
|
for ($i = 0; $i < $length; $i++) {
|
|
$randomString .= $characters[random_int(0, $charactersLength - 1)];
|
|
}
|
|
return $randomString;
|
|
}
|
|
|
|
function getPDO()
|
|
{
|
|
global $pdo;
|
|
if ($pdo == null)
|
|
{
|
|
$pdo = new \PDO("mysql:host=localhost;dbname=bst_test", "bst_test", "hHqS35WY7M9pXh7j");
|
|
}
|
|
return $pdo;
|
|
}
|
|
|
|
function sqlexec($query, $parms = null)
|
|
{
|
|
$pdo = getPDO();
|
|
$statement = $pdo->prepare($query);
|
|
$statement->execute($parms);
|
|
$results = $statement->fetchAll();
|
|
return $results;
|
|
}
|
|
function sqlexecl($query, $parms = null)
|
|
{
|
|
$pdo = getPDO();
|
|
$statement = $pdo->prepare($query);
|
|
$statement->execute($parms);
|
|
return $pdo->lastInsertId();
|
|
}
|
|
function sqlexec1($query, $parms = null)
|
|
{
|
|
$pdo = getPDO();
|
|
$statement = $pdo->prepare($query);
|
|
$statement->execute($parms);
|
|
$results = $statement->fetchAll();
|
|
if (count($results) > 0)
|
|
{
|
|
return $results[0];
|
|
}
|
|
return null;
|
|
}
|
|
function sqlexecb($query, $parms = null)
|
|
{
|
|
$pdo = getPDO();
|
|
$statement = $pdo->prepare($query);
|
|
$statement->execute($parms);
|
|
$results = $statement->fetchAll();
|
|
if (count($results) > 0)
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function get_virtual_path($physical_path)
|
|
{
|
|
$physical_path = str_replace('\\', '/', $physical_path);
|
|
$document_root_path = str_replace('\\', '/', $_SERVER["DOCUMENT_ROOT"]);
|
|
$path= str_replace($document_root_path, "", $physical_path);
|
|
$http = isset($_SERVER ['HTTPS']) ? 'https://' : 'http://';
|
|
$host = $_SERVER['HTTP_HOST'];
|
|
return /* $http . $host . */ $path;
|
|
}
|
|
function get_virtual_path_root($physical_path)
|
|
{
|
|
$path = get_virtual_path($physical_path);
|
|
$path = substr($path, 0, strrpos($path, "/"));
|
|
return /* $http . $host . */ $path;
|
|
}
|
|
|
|
|
|
function user_has_permission($user_id, $permission_id)
|
|
{
|
|
return sqlexecb("SELECT * FROM bst_user_permissions WHERE user_id = :user_id AND permission_id = :permission_id", array("user_id" => $user_id, "permission_id" => $permission_id));
|
|
}
|
|
|
|
$ses = null;
|
|
$current_user = null;
|
|
$users = sqlexec("SELECT * FROM bst_sessions WHERE session_tag = :session_tag ORDER BY start_datetime LIMIT 1", array("session_tag" => $_SESSION["user_token"]));
|
|
foreach ($users as $user)
|
|
{
|
|
$ses = $user;
|
|
break;
|
|
}
|
|
|
|
$user_id = $ses["user_id"];
|
|
$current_user = sqlexec1("SELECT bst_users.* FROM bst_users WHERE bst_users.id = :user_id", array("user_id" => $user_id));
|
|
$tz = null;
|
|
if ($current_user["timezone_id"] != null)
|
|
{
|
|
$tz = sqlexec1("SELECT * FROM bst_timezones WHERE id = :timezone_id", array("timezone_id" => $current_user["timezone_id"]));
|
|
}
|
|
|
|
$current_user_id = $current_user["id"];
|
|
$current_user_title = $current_user["title"];
|
|
if ($tz != null)
|
|
{
|
|
date_default_timezone_set($tz["name"]);
|
|
}
|
|
?>
|