/var/www/onesupportdemo.onesolution.hk/user_bk/add.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
global $dbh;

//-----------------------------------------------------------------------------
// Check permission
//-----------------------------------------------------------------------------
if (!Util::isAdmin()) {
    
redirectAndExit('index.php?message=No permission!');
}

//-----------------------------------------------------------------------------
// Define staff
//-----------------------------------------------------------------------------
$staff = array(
    
'actived' => 1,
    
'deleted' => 0,
    
'role' => 3,
);

//-----------------------------------------------------------------------------
// 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])) {
            switch (
$column) {
                case 
'loginpw': {
                    if (!empty(
$_POST[$column])) {
                        
$staff[$column] = md5($_POST[$column]);
                    }
                    break;
                }
                default: {
                    
$staff[$column] = $_POST[$column];
                    break;
                }
            }
        }
    }
    
    
// Append record time
    
$now date("Y-m-d H:i:s");
    
$staff array_merge($staff, array(
        
'createdate' => $now,
        
'createby' => $_SESSION['webadmin']['id'],
        
'lastupdate' => $now,
        
'lastupby' => $_SESSION['webadmin']['id'],
    ));
    
    
// Create staff
    
$columns = array();
    
$values = array();
    
$parameters = array();
    foreach (
$staff as $column => $value) {
        
$columns[] = $column;
        
$parameters[] = !strlen($value) ? null $value;
        
$values[] = '?';
    }
    
$sql "INSERT sys_login (" implode(', '$columns) . ") VALUES (" implode(', '$values) . ")";
    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['id'] = $dbh->lastInsertId();


    
    
$data = array(
        
'message' => 'Saved',
    );
    
redirectAndExit(Util::link(__DIR__ '/index.php') . '?' http_build_query($data));
}

//-----------------------------------------------------------------------------
// Return array parameters
//-----------------------------------------------------------------------------
return array(
    
'staff' => $staff,
    
'roleOptions' => Staff::roleOptions(),
);