~george-edison55/charms/oneiric/thinkup/update-to-1-0-2

« back to all changes in this revision

Viewing changes to opt/update_admin_info

  • Committer: Nathan Osman
  • Date: 2011-11-25 05:11:17 UTC
  • Revision ID: admin@quickmediasolutions.com-20111125051117-14cxavjzs2irv39p
Made some corrections to the PHP code that modifies the admin account.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
// We should have received 4 command line arguments
13
13
if($argc != 4)
14
14
{
15
 
    echo "Usage: {$argv[0]} name email password";
 
15
    echo "Usage: {$argv[0]} name email password\n";
16
16
    exit(1);
17
17
}
18
18
 
29
29
// Make sure the connection is valid
30
30
if($sql->connect_error)
31
31
{
32
 
    echo "MySQL connection error: {$sql->connect_error}";
 
32
    echo "MySQL connection error: {$sql->connect_error}\n";
33
33
    exit(1);
34
34
}
35
35
 
36
36
// Check if the user exists (NOTE: this is not foolproof there are no
37
37
// provisions for changing your email address.)
38
 
$statement = $sql->prepare('SELECT id FROM tu_owners WHERE email = ?');
 
38
if(!($statement = $sql->prepare('SELECT id FROM tu_owners WHERE email = ?')))
 
39
{
 
40
    echo "MySQL error: {$sql->error}\n";
 
41
    exit(1);
 
42
}
 
43
 
39
44
$statement->bind_param('s', $email);
40
45
$statement->bind_result($id);
41
46
 
42
47
if($statement->execute() === FALSE)
43
48
{
44
 
    echo "MySQL error: {$sql->error}";
 
49
    echo "MySQL error: {$sql->error}\n";
45
50
    exit(1);
46
51
}
47
52
 
48
 
if($statement->num_rows)
 
53
$user_exists = $statement->fetch();
 
54
$statement->close();
 
55
 
 
56
if($user_exists)
49
57
{
50
58
    // Okay, we're updating the user with the specified email address
51
 
    $statement = $sql->prepare('UPDATE tu_owners SET full_name = ?, pwd = ?, pwd_salt = ? WHERE id = ?');
 
59
    if(!($statement = $sql->prepare('UPDATE tu_owners SET full_name = ?, pwd = ?, pwd_salt = ? WHERE id = ?')))
 
60
    {
 
61
        echo "MySQL error: {$sql->error}\n";
 
62
        exit(1);
 
63
    }
52
64
    
53
65
    // Generate a salt and hash the password
54
66
    $salt = hash('sha256', rand() . $email);
59
71
    // Perform the update
60
72
    if($statement->execute() === FALSE)
61
73
    {
62
 
        echo "MySQL error: {$sql->error}";
 
74
        echo "MySQL error: {$sql->error}\n";
63
75
        exit(1);
64
76
    }
65
77
}
66
78
else
67
79
{
68
80
    // Create the user
69
 
    $statement = $sql->prepare('INSERT INTO tu_owners (full_name, pwd, pwd_salt, email, joined, is_activated, is_admin, last_login) VALUES (?, ?, ?, ?, NOW(), 1, 1, NOW())');
 
81
    if(!($statement = $sql->prepare('INSERT INTO tu_owners (full_name, pwd, pwd_salt, email, joined, is_activated, is_admin, last_login) VALUES (?, ?, ?, ?, NOW(), 1, 1, NOW())')))
 
82
    {
 
83
        echo "MySQL error: {$sql->error}\n";
 
84
        exit(1);
 
85
    }
70
86
    
71
87
    // Generate a salt and hash the password
72
88
    $salt = hash('sha256', rand() . $email);
78
94
    // Insert the user
79
95
    if($statement->execute() === FALSE)
80
96
    {
81
 
        echo "MySQL error: {$sql->error}";
 
97
        echo "MySQL error: {$sql->error}\n";
82
98
        exit(1);
83
99
    }
84
100
}