113 lines
3.6 KiB
PHP
113 lines
3.6 KiB
PHP
<?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 hazard_observation 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%')" : '';
|
|
// Filter by status
|
|
|
|
// Get total count of records
|
|
$sql = "select count(*) from hazard_observation $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_hazard_observation = "select * from hazard_observation $searchSql $sortSql $limitSql";
|
|
error_log("sql_hazard_observation:".$sql_hazard_observation);
|
|
$results_hazard_observation = mysqli_query($conn,$sql_hazard_observation);
|
|
$count=($page-1)*$rp+1;
|
|
|
|
while ($row_hazard_observation = mysqli_fetch_assoc($results_hazard_observation)) {
|
|
$hazard_id = $row_hazard_observation['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=\"#\" class=\"blue\" onclick=\"open_hazard('".$hazard_id."','E');\"><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 = " ";
|
|
$links = $space.$view_link.$space.$edit_link.$space.$delete_link;
|
|
|
|
$data['rows'][] = array(
|
|
'id' => $row_hazard_observation['id'],
|
|
'cell' => array(
|
|
$links,
|
|
$count++,
|
|
$row_hazard_observation['ref_id'],
|
|
|
|
|
|
,
|
|
|
|
$row_hazard_observation['severity'],
|
|
$row_hazard_observation['occurrence'],
|
|
$row_hazard_observation['calculate_SO'],
|
|
$row_hazard_observation['legal'],
|
|
$row_hazard_observation['acceptable'],
|
|
$row_hazard_observation['significant'],
|
|
$row_hazard_observation['risk_control_measures'],
|
|
$row_hazard_observation['target_date'],
|
|
$row_hazard_observation['status'],
|
|
$row_hazard_observation['reviewed_remarks'],
|
|
)
|
|
);
|
|
}
|
|
echo json_encode($data);
|
|
?>
|