コード例 #1
0
        $intlang = get_desired_language();
        $query = sprintf("INSERT INTO non_activated_users (id, real_name, username, email, date_created, email_updates, u_intlang, user_password) VALUES ('%s', '%s', '%s', '%s', {$todaysdate}, '%s', '%s', '%s')", mysql_real_escape_string($ID), mysql_real_escape_string($real_name), mysql_real_escape_string($username), mysql_real_escape_string($email), mysql_real_escape_string($email_updates), mysql_real_escape_string($intlang), mysql_real_escape_string($digested_password));
        $result = mysql_query($query);
        if (!$result) {
            if (mysql_errno() == 1062) {
                // The attempted INSERT violated a uniqueness constraint.
                // The non_activated_users table has only one such constraint,
                // the PRIMARY KEY on the 'username' column.
                // Thus, $username duplicates a username value in non_activated_users.
                $error = _("That username has already been requested. Please try another.");
            } else {
                $error = _("Can not initiate user registration.");
            }
        } else {
            // Send them an activation e-mail
            maybe_activate_mail($email, $real_name, $ID, $username, $intlang);
            // Page shown when account is successfully created
            $header = sprintf(_("User %s Registered Successfully"), $username);
            output_header($header);
            echo sprintf(_("User %s registered successfully. Please check the e-mail being sent to you for further information about activating your account. This extra step is taken so that no-one can register you to the site without your knowledge."), $username);
            exit;
        }
    }
} else {
    // Initialize variables referenced by the form.
    $real_name = '';
    $username = '';
    $email = '';
    $email2 = '';
    $email_updates = 1;
}
                ?>
' />
        <br />
        <input type='submit' value='<?php 
                echo attr_safe(_("Update address and resend activation mail"));
                ?>
' />
        </form>
        <?php 
            }
        } else {
            if ($action == 'set_email') {
                $username = @$_GET['username'];
                $email = @$_GET['email'];
                if (check_username($username) != '') {
                    die("Invalid parameter username.");
                }
                if (check_email_address($email) != '') {
                    die("Invalid parameter email.");
                }
                mysql_query("\n        UPDATE non_activated_users\n        SET email='{$email}'\n        WHERE username='******'\n    ");
                $result = mysql_query("\n        SELECT id, real_name, u_intlang\n        FROM non_activated_users\n        WHERE username='******'\n    ");
                $row = mysql_fetch_assoc($result);
                maybe_activate_mail($email, $row['real_name'], $row['id'], stripslashes($username), $row['u_intlang']);
            } else {
                echo 'Unknown action.';
            }
        }
    }
}
// vim: sw=4 ts=4 expandtab