patchcablemgr/backend/process_settings.php
2020-11-22 22:50:42 +00:00

191 lines
6.7 KiB
PHP
Executable File

<?php
define('QUADODO_IN_SYSTEM', true);
require_once '../includes/header.php';
$qls->Security->check_auth_page('user.php');
if($_SERVER['REQUEST_METHOD'] == 'POST'){
require_once '../includes/Validate.class.php';
$validate = new Validate($qls);
if ($validate->returnData['active'] == 'inactive') {
echo json_encode($validate->returnData);
return;
}
$data = json_decode($_POST['data'], true);
validate($data, $validate, $qls);
if (!count($validate->returnData['error'])){
switch($data['property']) {
case 'timezone':
$timezone = $data['value'];
$qls->SQL->update('users', array('timezone' => $timezone), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Timezone has been updated.';
break;
case 'scanMethod':
$scanMethod = $data['value'] == 'manual' ? 0 : 1;
$qls->SQL->update('users', array('scanMethod' => $scanMethod), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Scan method has been updated.';
break;
case 'scrollLock':
$scrollLock = $data['value'] ? 1 : 0;
$qls->SQL->update('users', array('scrollLock' => $scrollLock), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Template scroll has been updated.';
break;
case 'connectionStyle':
$connectionStyle = $data['value'];
$qls->SQL->update('users', array('connectionStyle' => $connectionStyle), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Connection Style has been updated.';
break;
case 'pathOrientation':
$pathOrientation = $data['value'];
if($qls->org_info['global_setting_path_orientation'] == 1) {
if($qls->user_info['group_id'] == 3) {
$query = $qls->SQL->select('*', 'users');
while($row = $qls->SQL->fetch_assoc($query)) {
$qls->SQL->update('users', array('pathOrientation' => $pathOrientation), array('id' => array('=', $row['id'])));
}
} else {
$errMsg = 'Path Orientation has been set globally by Administrator.';
array_push($validate->returnData['error'], $errMsg);
}
} else {
$qls->SQL->update('users', array('pathOrientation' => $pathOrientation), array('id' => array('=', $qls->user_info['id'])));
}
$validate->returnData['success'] = 'Path Orientation has been updated.';
break;
case 'globalPathOrientation':
if($qls->user_info['group_id'] == 3) {
$globalPathOrientation = $data['value'] ? 1 : 0;
$qls->SQL->update('app_organization_data', array('global_setting_path_orientation' => $globalPathOrientation), array('id' => array('=', $qls->org_info['id'])));
$pathOrientation = $qls->user_info['pathOrientation'];
$query = $qls->SQL->select('*', 'users');
while($row = $qls->SQL->fetch_assoc($query)) {
$qls->SQL->update('users', array('pathOrientation' => $pathOrientation), array('id' => array('=', $row['id'])));
}
$validate->returnData['success'] = 'Path Orientation Global Setting has been updated.';
} else {
$errMsg = 'Setting requires Administrator role.';
array_push($validate->returnData['error'], $errMsg);
}
break;
case 'treeSize':
$treeSize = $data['value'];
$qls->SQL->update('users', array('treeSize' => $treeSize), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Tree Size has been updated.';
break;
case 'treeSort':
$treeSort = $data['value'];
$qls->SQL->update('users', array('treeSort' => $treeSort), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Tree Sort has been updated.';
break;
case 'treeSortAdj':
$treeSort = $data['value'] ? 1 : 0;
$qls->SQL->update('users', array('treeSortAdj' => $treeSort), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Tree Sort Adjacency has been updated.';
break;
case 'objSort':
$objSort = $data['value'];
$qls->SQL->update('users', array('objSort' => $objSort), array('id' => array('=', $qls->user_info['id'])));
$validate->returnData['success'] = 'Object Sort has been updated.';
break;
}
}
echo json_encode($validate->returnData);
}
function validate($data, &$validate, &$qls){
$propertyArray = array('timezone', 'scanMethod', 'scrollLock', 'connectionStyle', 'pathOrientation', 'globalPathOrientation', 'treeSize', 'treeSort', 'treeSortAdj', 'objSort');
if($validate->validateInArray($data['property'], $propertyArray, 'property')) {
if($data['property'] == 'timezone') {
// Validate timezone
$validate->validateTimezone($data['value'], $qls);
} else if($data['property'] == 'scanMethod') {
// Validate scanMethod
$scanMethodArray = array('manual', 'barcode');
$validate->validateInArray($data['value'], $scanMethodArray, 'scan method');
} else if($data['property'] == 'scrollLock' or $data['property'] == 'globalPathOrientation'){
if(!is_bool($data['value'])) {
$errMsg = 'Invalid value.';
array_push($validate->returnData['error'], $errMsg);
}
} else if($data['property'] == 'connectionStyle'){
$connectionStyleArray = array(0, 1, 2);
if(!in_array($data['value'], $connectionStyleArray)) {
$errMsg = 'Invalid value.';
array_push($validate->returnData['error'], $errMsg);
}
} else if($data['property'] == 'pathOrientation'){
$pathOrientationArray = array(0, 1);
if(!in_array($data['value'], $pathOrientationArray)) {
$errMsg = 'Invalid value.';
array_push($validate->returnData['error'], $errMsg);
}
} else if($data['property'] == 'treeSize'){
$treeSizeArray = array(0, 1);
if(!in_array($data['value'], $treeSizeArray)) {
$errMsg = 'Invalid value.';
array_push($validate->returnData['error'], $errMsg);
}
} else if($data['property'] == 'treeSort'){
$treeSortArray = array(0, 1);
if(!in_array($data['value'], $treeSortArray)) {
$errMsg = 'Invalid value.';
array_push($validate->returnData['error'], $errMsg);
}
} else if($data['property'] == 'treeSortAdj'){
$treeSortAdjArray = array(0, 1);
if(!in_array($data['value'], $treeSortAdjArray)) {
$errMsg = 'Invalid value.';
array_push($validate->returnData['error'], $errMsg);
}
} else if($data['property'] == 'objSort'){
$objSortArray = array(0, 1);
if(!in_array($data['value'], $objSortArray)) {
$errMsg = 'Invalid value.';
array_push($validate->returnData['error'], $errMsg);
}
}
}
return;
}
?>