- Added AJAX functionality to fetch role permissions for copying. - Introduced system role management with permission checks for updates. - Implemented role deletion with confirmation modal and backend handling. - Enhanced user role assignment migration scripts to transition from legacy profiles to RBAC. - Created SQL migration scripts for user roles and permissions mapping. - Updated user interface to support new role management features including copy permissions and system role indicators.
82 lines
2.4 KiB
PHP
82 lines
2.4 KiB
PHP
<?php
|
|
defined($security_key) or exit;
|
|
|
|
//------------------------------------------
|
|
//Connect to DB
|
|
//------------------------------------------
|
|
$pdo = dbConnect($dbname);
|
|
|
|
//------------------------------------------
|
|
// Application related calls
|
|
//------------------------------------------
|
|
$request = explode('/', trim($_SERVER['PATH_INFO'],'/'));
|
|
$action = $request[2] ?? '';
|
|
|
|
if ($action == 'init'){
|
|
include './settings/systemservicetool_init.php';
|
|
echo json_encode($init);
|
|
}
|
|
elseif ($action == 'questions' && (isset($_GET['type']) && $_GET['type'] != '')){
|
|
|
|
include './settings/systemservicetool.php';
|
|
|
|
//build questions
|
|
switch ($_GET['type']) {
|
|
case 'visual':
|
|
$arrayQuestions = $arrayQuestions_visual;
|
|
break;
|
|
|
|
case 'final':
|
|
$arrayQuestions = $arrayQuestions_finalize;
|
|
break;
|
|
|
|
case 'cartest':
|
|
include './settings/systemcartest.php';
|
|
$arrayQuestions = $arrayQuestions_cartest;
|
|
break;
|
|
}
|
|
//Return JSON
|
|
echo json_encode($arrayQuestions);
|
|
}
|
|
elseif ($action == 'products') {
|
|
|
|
$sql = "SELECT * FROM products";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->execute();
|
|
//Get results
|
|
$messages = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
echo json_encode($messages);
|
|
|
|
}
|
|
elseif ($action == 'equipments' && (isset($_GET['serialnumber']) && $_GET['serialnumber'] != '' && !isset($_GET['validate']))) {
|
|
|
|
$sql = "SELECT e.rowID as equipmentID, e.*, p.productcode, p.productname, p.product_media, psl.starts_at,psl.expires_at,psl.status as license_status from equipment e LEFT JOIN products p ON e.productrowid = p.rowID LEFT JOIN products_software_licenses psl ON e.sw_version_license = psl.license_key WHERE e.serialnumber = ?";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->execute([$_GET['serialnumber']]);
|
|
//Get results
|
|
$messages = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
echo json_encode($messages);
|
|
|
|
}
|
|
elseif ($action == 'equipments' && (isset($_GET['serialnumber']) && $_GET['serialnumber'] != '' && isset($_GET['validate']))){
|
|
|
|
$sql = "SELECT count(rowID) as rowID from equipment e WHERE e.serialnumber = ?";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->execute([$_GET['serialnumber']]);
|
|
$messages = $stmt->fetch();
|
|
|
|
if ($messages[0] == 1) {
|
|
echo json_encode(array('SN'=> TRUE));
|
|
}
|
|
else {
|
|
echo json_encode(array('SN'=> FALSE));
|
|
}
|
|
|
|
}
|
|
else {
|
|
http_response_code(400);
|
|
}
|
|
|
|
?>
|