| Server IP : 210.245.233.93 / Your IP : 216.73.216.226 Web Server : Apache/2.2.15 (CentOS) System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : apache ( 48) PHP Version : 5.3.3 Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/onesupportsys.onesolution.hk/user/ |
Upload File : |
<?php
global $dbh;
//-----------------------------------------------------------------------------
// Check permission
//-----------------------------------------------------------------------------
if (!Util::isAdmin()) {
redirectAndExit('index.php?message=No permission!');
}
//-----------------------------------------------------------------------------
// Find job by id
//-----------------------------------------------------------------------------
$sql = "SELECT * FROM sys_login WHERE id = ?";
$parameters = array($id);
if (!($sth = $dbh->prepare($sql))) {
throw new Exception("sql prepare statement failure: $sql");
}
$sth->setFetchMode(PDO::FETCH_ASSOC);
if (!$sth->execute($parameters)) {
throw new Exception("sql execute statement failure: $sql");
}
$staff = $sth->fetch(PDO::FETCH_ASSOC);
if (empty($staff)) {
throw new Exception('Staff not found!');
}
//-----------------------------------------------------------------------------
// Save if POST method
//-----------------------------------------------------------------------------
if (isPost()) {
$sql = "SELECT column_name FROM information_schema.columns WHERE table_schema = (SELECT DATABASE()) AND table_name = ?";
$parameters = array('sys_login');
if (!($sth = $dbh->prepare($sql))) {
throw new Exception("sql prepare statement failure: $sql");
}
$sth->setFetchMode(PDO::FETCH_ASSOC);
if (!$sth->execute($parameters)) {
throw new Exception("sql execute statement failure: $sql");
}
$columns = $sth->fetchAll();
foreach ($columns as $column) {
$column = $column['column_name'];
if (isset($_POST[$column])) {
$staff[$column] = $_POST[$column];
}
}
// Append record time
$now = date("Y-m-d H:i:s");
$staff = array_merge($staff, array(
'lastupdate' => $now,
'lastupby' => $_SESSION['webadmin']['id'],
));
// Update staff
$values = array();
$parameters = array();
foreach ($staff as $column => $value) {
if ($column != 'id') {
switch ($column) {
case 'loginpw': {
if (!empty($value)) {
$parameters[] = md5($value);
$values[] = "`$column` = ?";
}
break;
}
default: {
$parameters[] = !strlen($value) ? null : $value;
$values[] = "`$column` = ?";
break;
}
}
}
}
$sql = "UPDATE sys_login SET " . implode(', ', $values) . " WHERE id = ?";
$parameters[] = $staff['id'];
if (!($sth = $dbh->prepare($sql))) {
throw new Exception("sql prepare statement failure: $sql");
}
$sth->setFetchMode(PDO::FETCH_ASSOC);
if (!$sth->execute($parameters)) {
throw new Exception("sql execute statement failure: $sql");
}
redirectAndExit('index.php?message=Saved.');
}
//-----------------------------------------------------------------------------
// Return array parameters
//-----------------------------------------------------------------------------
return array(
'staff' => $staff,
'roleOptions' => Staff::roleOptions(),
'message' => $_GET['message'],
);