ESH/hira_script.php

110 lines
3.4 KiB
PHP
Raw Permalink Normal View History

2024-10-23 18:28:06 +05:30
<?php
include('includes/config/config.php');
include('includes/auth/auth.php');
include('includes/functions.php');
include('access.php');
include 'log_entry.php';
error_reporting(E_ERROR | E_PARSE);
?>
<?php
// Connect to mysqli database
$page = 1; // The current page
$sortname = 'id'; // Sort column (updated to match HIRA table)
$sortorder = 'asc'; // Sort order
$qtype = ''; // Search column
$query = ''; // Search string
// Get posted data
if (isset($_POST['page'])) {
$page = mysqli_real_escape_string($conn,$_POST['page']);
}
if (isset($_POST['sortname'])) {
$sortname = mysqli_real_escape_string($conn,$_POST['sortname']);
}
if (isset($_POST['sortorder'])) {
$sortorder = mysqli_real_escape_string($conn,$_POST['sortorder']);
}
if (isset($_POST['qtype'])) {
$qtype = mysqli_real_escape_string($conn,$_POST['qtype']);
}
if (isset($_POST['query'])) {
$query = mysqli_real_escape_string($conn,$_POST['query']);
}
if (isset($_POST['rp'])) {
$rp = mysqli_real_escape_string($conn,$_POST['rp']);
}
// Setup sort and search SQL using posted data
$hasReadAccess = isAccessible($_SESSION['RoleId'],$menu_key,'R');
$hasWriteAccess = isAccessible($_SESSION['RoleId'],$menu_key,'W');
$hasExecuteAccess = isAccessible($_SESSION['RoleId'],$menu_key,'E');
$sortSql = "order by $sortname $sortorder";
$searchSql = ($qtype != '' && $query != '') ? "and upper($qtype) like upper('%$query%')" : '';
$statusFilter = "where status = 'Pending'"; // Filter by status
// Get total count of records
$sql = "select count(*) from hira $statusFilter $searchSql";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result);
$total = $row[0];
// Setup paging
if(!isSet($rp)){
$rp=10;
}
$pageStart = ($page-1)*$rp;
$limitSql = "limit $pageStart, $rp";
// Return JSON data
$data = array();
$data['page'] = $page;
$data['total'] = $total;
$data['rows'] = array();
$sql_hira = "select * from hira $statusFilter $searchSql $sortSql $limitSql";
error_log("sql_hira:".$sql_hira);
$results_hira = mysqli_query($conn,$sql_hira);
$count=($page-1)*$rp+1;
while ($row_hira = mysqli_fetch_assoc($results_hira)) {
$hazard_id = $row_hira['id'];
$view_link = "";
$edit_link = "";
$delete_link = "";
$links = "";
if($hasReadAccess) {
$view_link = "<a href=\"#\" class=\"grey\" onclick=\"open_hazard('".$hazard_id."','V');\"><i class=\"ace-icon fa fa-eye bigger-130\"></i></a>";
}
if($hasWriteAccess) {
$edit_link = "<a href='update_hira.php?hazard_id=".$hazard_id."' class='blue'><i class='ace-icon fa fa-edit bigger-130'></i></a>";
}
if($hasExecuteAccess) {
$delete_link = "<a href=\"#\" class=\"red\" onclick=\"delete_hazard('".$hazard_id."');\"><i class=\"ace-icon fa fa-trash-o bigger-130\"></i></a>";
}
$space = "&nbsp;&nbsp;&nbsp;";
$links = $space.$view_link.$space.$edit_link.$space.$delete_link;
$data['rows'][] = array(
'id' => $row_hira['id'],
'cell' => array(
$links,
$count++,
$row_hira['hazard_category'],
$row_hira['hazard_description'],
$row_hira['location'],
$row_hira['identification_date'],
$row_hira['likelihood'],
$row_hira['severity'],
$row_hira['risk_score'],
$row_hira['risk_level'],
$row_hira['control_measures'],
$row_hira['control_date'],
$row_hira['review_date'],
$row_hira['status']
)
);
}
echo json_encode($data);
?>