~george-edison55/charms/oneiric/thinkup/trunk

« back to all changes in this revision

Viewing changes to opt/update_admin_info

  • Committer: Nathan Osman
  • Date: 2011-11-25 01:36:51 UTC
  • Revision ID: admin@quickmediasolutions.com-20111125013651-57qut3def5iklgi2
Reorganized registration of primary owner and added PHP script to configure owner.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/php
 
2
<?php
 
3
 
 
4
//=======================================
 
5
//    This 'small' PHP script updates
 
6
// the information for the administrator
 
7
//=======================================
 
8
 
 
9
// Include the file containing DB credentials
 
10
require_once '/var/www/config.inc.php';
 
11
 
 
12
// We should have received 4 command line arguments
 
13
if($argc != 4)
 
14
{
 
15
    echo "Usage: {$argv[0]} name email password";
 
16
    exit(1);
 
17
}
 
18
 
 
19
$name  = $argv[1];
 
20
$email = $argv[2];
 
21
$pass  = $argv[3];
 
22
 
 
23
// Connect to the database server
 
24
$sql = new mysqli($THINKUP_CFG['db_host'],
 
25
                  $THINKUP_CFG['db_user'],
 
26
                  $THINKUP_CFG['db_password'],
 
27
                  $THINKUP_CFG['db_name']);
 
28
 
 
29
// Make sure the connection is valid
 
30
if($sql->connect_error)
 
31
{
 
32
    echo "MySQL connection error: {$sql->connect_error}";
 
33
    exit(1);
 
34
}
 
35
 
 
36
// Check if the user exists (NOTE: this is not foolproof there are no
 
37
// provisions for changing your email address.)
 
38
$statement = $sql->prepare('SELECT id FROM tu_owners WHERE email = ?');
 
39
$statement->bind_param('s', $email);
 
40
$statement->bind_result($id);
 
41
 
 
42
if($statement->execute() === FALSE)
 
43
{
 
44
    echo "MySQL error: {$sql->error}";
 
45
    exit(1);
 
46
}
 
47
 
 
48
if($statement->num_rows)
 
49
{
 
50
    // 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 = ?');
 
52
    
 
53
    // Generate a salt and hash the password
 
54
    $salt = hash('sha256', rand() . $email);
 
55
    $hash = hash('sha256', $pass . $salt);
 
56
    
 
57
    $statement->bind_param('sssi', $name, $hash, $salt, $id);
 
58
    
 
59
    // Perform the update
 
60
    if($statement->execute() === FALSE)
 
61
    {
 
62
        echo "MySQL error: {$sql->error}";
 
63
        exit(1);
 
64
    }
 
65
}
 
66
else
 
67
{
 
68
    // 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())');
 
70
    
 
71
    // Generate a salt and hash the password
 
72
    $salt = hash('sha256', rand() . $email);
 
73
    $hash = hash('sha256', $pass . $salt);
 
74
    
 
75
    // Bind the parameters
 
76
    $statement->bind_param('ssss', $name, $hash, $salt, $email);
 
77
    
 
78
    // Insert the user
 
79
    if($statement->execute() === FALSE)
 
80
    {
 
81
        echo "MySQL error: {$sql->error}";
 
82
        exit(1);
 
83
    }
 
84
}
 
85
 
 
86
?>