bst/webapp/system.inc.php
2023-10-31 00:21:50 -04:00

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"]);
}
?>