| Server IP : 172.67.201.108 / Your IP : 216.73.216.11 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/nymp/www/mod/ |
Upload File : |
<?php include('_mod_security.php'); ?>
<?php
//var_dump($_POST);
form_prep('drivers', 'basic_info');
if ($_POST['ajax_event_submitted'] == '1') :
form_reload_check();
if (isset($_POST['active_tab'])) :
$active_tab = $_POST['active_tab'];
else :
$active_tab = 'basic_info';
endif;
$ar_err = array();
if (empty($_POST['user_name'])) :
$ar_err['user_name'] = 'User Name is required!';
$err_flag = true;
$err_tab = 'basic_info';
endif;
if (empty($_POST['full_name'])) :
$ar_err['full_name'] = 'Full Name is required!';
$err_flag = true;
$err_tab = 'basic_info';
endif;
if (empty($_POST['email']) || filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) :
$ar_err['email'] = 'Valid Email is required!';
$err_flag = true;
$err_tab = 'basic_info';
endif;
if (empty($_POST['password']) && $action == "Add New") :
$ar_err['password'] = 'Password is required!';
$err_flag = true;
$err_tab = 'basic_info';
endif;
if (!empty($_POST['password']) || !empty($_POST['password2'])) :
if ($_POST['password'] != $_POST['password2']) :
$ar_err['password2'] = 'Passwords do not match!';
$err_flag = true;
$err_tab = 'basic_info';
endif;
endif;
if (empty($_POST['regions'])) :
$ar_err['regions'] = 'At least one region is required!';
$err_flag = true;
$err_tab = 'basic_info';
endif;
if (!$err_flag) :
$str_password_sql = '';
if (!empty($_POST['password']) || !empty($_POST['password2'])) :
$_POST['password_expired'] = 1;
$str_password_sql = "password = ".$db->quote(trim(password_hash($_POST['password'], PASSWORD_BCRYPT))).", ";
endif;
if (empty($_POST['regions'])) :
$_POST['regions'] = array();
endif;
if (empty($_SESSION[$_POST['session_id']]['regions'])) :
$_SESSION[$_POST['session_id']]['regions'] = array();
endif;
if (empty($_SESSION[$_POST['session_id']]['roles'])) :
$_SESSION[$_POST['session_id']]['roles'] = array();
endif;
$ar_combined_roles = array_unique(array_merge($_SESSION[$_POST['session_id']]['roles'], array('driver')));
$ar_allowed_regions = explode(',', get_regions());
foreach ($_SESSION[$_POST['session_id']]['regions'] as $key=>$value) :
if (in_array($value, $ar_allowed_regions)) :
if (!in_array($value, $_POST['regions'])) :
unset($_SESSION[$_POST['session_id']]['regions'][$key]);
endif;
endif;
endforeach;
$ar_combined_regions = array_unique(array_merge($_SESSION[$_POST['session_id']]['regions'], $_POST['regions']));
//var_dump($_SESSION[$_POST['session_id']]['regions']);
//var_dump($ar_combined_regions);
$set = "user_name = ".$db->quote(trim($_POST['user_name'])).", ".
"full_name = ".$db->quote(trim($_POST['full_name'])).", ".
"email = ".$db->quote(trim($_POST['email'])).", ".
"phone = ".$db->quote(trim($_POST['phone'])).", ".
$str_password_sql.
"roles = ".$db->quote(trim(implode(',',$ar_combined_roles))).", ".
"regions = ".$db->quote(trim(implode(',',$ar_combined_regions))).", ".
"active = ".nz($_POST['active'],'0').", ".
"password_expired = ".nz($_POST['password_expired'],'0').", ".
"update_by = ".nz(trim($_SESSION['user_id'])).", ".
"update_date = '".date('Y-m-d H:i:s')."' ";
if ($action == 'Edit') :
$sql = "UPDATE sys_users set ".$set.
"WHERE user_id = ".nz($_REQUEST['id'], '0')." ";
$db->query($sql) or die('Database Error!');
//echo '==='.$sql.'===';
$_POST['update_by'] = trim($_SESSION['user_id']);
$_POST['update_date'] = date('m/d/Y h:i:s a');
else :
if ($action == 'Add New') :
$sql = "INSERT INTO sys_users SET ".
"create_date = '".date('Y-m-d H:i:s')."', ".
"create_by = ".nz($_SESSION['user_id'], '0').", ".
$set;
//echo '==='.$sql.'===';
$db->query($sql) or die('Database Error!');
$_REQUEST['id'] = last_id();
$_POST['user_id'] = $_REQUEST['id'];
$_POST['create_by'] = trim($_SESSION['user_id']);
$_POST['create_date'] = date('m/d/Y h:i:s a');
$_POST['update_by'] = trim($_SESSION['user_id']);
$_POST['update_date'] = date('m/d/Y h:i:s a');
endif;
endif;
$form_message = "Saved sucessfully!";
form_uid_reset();
if ($_POST['xsubmit'] == 'Save & Close') :
echo "<SCRIPT>";
//echo "window.location.href = 'index.php?IX=".$_REQUEST['ref']."'";
echo "appstack_pop()";
echo "</SCRIPT>";
endif;
if ($_POST['xsubmit'] == 'Save & New') :
echo "<SCRIPT>";
echo "window.location.href = 'index.php?IX=driver_form&ref=".urlencode($_REQUEST['ref'])."'";
echo "</SCRIPT>";
endif;
else :
$active_tab = $err_tab;
$form_message = "Errors found!";
endif;
else:
if ($action == 'Edit') :
$sql = "SELECT * FROM sys_users WHERE user_id = ".nz(trim($_REQUEST['id']), '0')." AND roles LIKE '%driver%' AND fn_intersect_string('".get_regions()."', regions) > ' ' ";
//echo ' === '.$sql.' === ';
$result = $db->query($sql) or die('Database Error!');
if ($result->rowCount() > 0) :
$row = $result->fetch(PDO::FETCH_OBJ);
$_POST['id'] = $row->id;
$_POST['user_id'] = $row->user_id;
$_POST['user_name'] = $row->user_name;
$_POST['full_name'] = $row->full_name;
$_POST['email'] = $row->email;
$_POST['phone'] = $row->phone;
$session_id = 'driver_form_'.time();
$_SESSION[$session_id]['roles'] = explode(',',$row->roles);
$_SESSION[$session_id]['regions'] = explode(',',$row->regions);
$_POST['session_id'] = $session_id;
//$_POST['roles'] = explode(',',$row->roles);
$_POST['regions'] = explode(',',$row->regions);
$_POST['active'] = $row->active;
$_POST['password_expired'] = $row->password_expired;
$_POST['create_by'] = $row->create_by;
$_POST['create_date'] = nzdate_display_datetime($row->create_date);
$_POST['update_by'] = $row->update_by;
$_POST['update_date'] = nzdate_display_datetime($row->update_date);
else :
echo form_fatal_error('Invalid Operation!');
return;
endif;
else :
$_POST['active'] = 1;
$_POST['password_expired'] = 1;
endif;
endif;
?>
<script>
var active_page = '<?php echo $_REQUEST['IX']; ?>';
var active_tab = '';
update_route = function(route_id, region_id)
{
if ($('#route_' + route_id).prop('checked'))
{
var func = 'add';
}
else
{
var func = 'remove';
}
$.ajax({
url: "ajax.php?call=driver_routes_ajax&func=" + func + "&driver_id=<?php echo nz($_REQUEST['id'], '0'); ?>®ion=" + region_id + "&route=" + route_id,
cache: false,
dataType: "json",
success: function(json) {
if (json.result == 'Success')
{
$('#ajax_result_msg').show().text('Updated');
setTimeout(function() {$('#ajax_result_msg').text('').hide(); }, 300);
}
else
{
alert(json.result);
}
}
,error: function (request, status, error) { alert(status + ", " + error); }
})
}
update_header = function()
{
if ($("#user_id").val() > "" && $("#full_name").val() > "" )
{
$("#header_repeater").text(" - " + $("#user_id").val() + ' - ' + $("#full_name").val());
}
}
$(document).ready(function()
{
switch_tab('<?php echo $active_tab; ?>');
update_header();
$(':input:not(.search)').change(function() {sheet_dirty = true; } );
}
)
</script>
<h1>Driver - <?php echo $action; ?><span id="header_repeater"></span></h1>
<?php echo form_message($form_message); ?>
<form style="" name="frm_user" id="frm_user" method="post" action="">
<input name="ajax_event_submitted" type="hidden" value="1" />
<input name="id" type="hidden" value="<?php echo $_REQUEST['id']; ?>" />
<input name="active_tab" id="active_tab" type="hidden" value="basic_info" />
<input name="session_id" type="hidden" value="<?php echo $_POST['session_id']; ?>" />
<?php form_button_strip('top'); ?>
<!-- -------------------------------------------------------------------------------------------------------------- -->
<div class="tab_strip">
<div id="ajax_result_msg" class="ajax_result_msg"></div>
<div class="tab_header" id="tab_basic_info" onclick="switch_tab('basic_info');">
Basic Info
</div>
<?php
if (!empty($_REQUEST['id'])) :
?>
<div class="tab_header" id="tab_routes" onclick="switch_tab('routes');">
Routes
</div>
<?php
endif;
?>
</div>
<div class="cleardiv">
</div>
<div class="tab_content" id="tab_content_basic_info">
<div class="form_header">
Basic Info
</div>
<div class="input_column">
<?php
form_field('user_id', 'text', 10, 0, false, false, true, '', '', 'user_id', 'User ID');
form_field('user_name', 'text', 50, 0, true, false, false, '', '', 'user_name', 'User Name');
form_field('full_name', 'text', 50, 0, true, false, false, '', '', 'full_name', 'Full Name');
form_field('email', 'text', 50, 0, true, false, false, '', '', 'email', 'Email');
form_field('phone', 'text', 50, 0, false, false, false, '', '', 'phone', 'Phone');
form_field('password', 'password', 50, 0, ($action == 'Add New'), false, false, '', '', '', 'Password');
form_field('password2', 'password', 50, 0, ($action == 'Add New'), false, false, '', '', '', 'Re-enter Password');
form_field('active', 'checkbox', 50, 0, false, false, false, '', '', '', 'Active');
form_field('password_expired', 'checkbox', 50, 0, false, false, false, '', '', '', 'Password Expired');
?>
</div>
<div class="input_column">
<?php
$sql = "SELECT region_id, region_name FROM regions WHERE region_id IN (".get_regions().") ORDER BY region_name ";
$result = $db->query($sql) or die('Database Error!');
$ar_regions = $result->fetchAll(PDO::FETCH_KEY_PAIR);
form_field('regions', 'checkgroup', 50, 0, true, false, false, '', '', '', 'User Regions', $ar_regions);
?>
</div>
</div>
<?php
if (!empty($_REQUEST['id'])) :
?>
<!-- -------------------------------------------------------------------------------------------------------------- -->
<div class="tab_content" id="tab_content_routes">
<div class="form_header">
Routes
</div>
<?php
$ref = urlencode('driver_form&tab=routes&id='.trim(nz($_REQUEST['id'], '0')));
$ix_form_route = 'route_form&ref='.$ref.'&driver_id='.trim(nz($_REQUEST['id'], '-1'));
?>
<?php db_navigator_bar(array('table_id'=>'db_grid_routes', 'form'=>$ix_form_route, 'xls_sql'=>$xls_sql, 'print_section'=>'db_grid_drivers', 'call'=>'driver_routes_ajax', 'sort_col'=>'1', 'sort_order'=>'0', 'subtab'=>'true', 'parm1'=>' AND r.region_id IN ('.$row->regions.') ', 'parm2'=>" AND rd.driver_id = ".nz($_REQUEST['id'], '0'), 'func'=>'grid' )); ?>
</div>
<!-- -------------------------------------------------------------------------------------------------------------- -->
<?php
endif;
?>
<?php form_button_strip('bottom'); ?>
</form>