$fname = trim(str_replace(' ', '', $_POST['first_name']));
$lname = trim(str_replace(' ', '', $_POST['last_name']));
$concat_name = substr($fname, 0, 1) . $lname;
$proposed_username = preg_replace("/[^a-zA-Z0-9]/", "", $concat_name);
function check_uniqueness($dbh, $proposed_username)
{
    $q = $dbh->prepare("SELECT username FROM cm_users WHERE username = '******'");
    $q->execute();
    if ($q->rowCount() > 0) {
        return true;
    } else {
        return false;
    }
}
//Loop until we get a unique username
while (check_uniqueness($dbh, $proposed_username)) {
    if (is_numeric(substr($proposed_username, -1))) {
        $digit = substr($proposed_username, -1) + 1;
        $proposed_username = substr($proposed_username, 0, -1) . $digit;
    } else {
        $proposed_username = $proposed_username . "1";
    }
}
$new_username = strtolower($proposed_username);
//Create temp password
function generatePassword($length = 8)
{
    // start with a blank password
    $password = "";
    // define possible characters
    $possible = "0123456789bcdfghjkmnpqrstvwxyz";
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
echo "Creating 'past_tallies' table...\n";
dpsql_query("\n    CREATE TABLE past_tallies (\n        timestamp    int(10) UNSIGNED NOT NULL,\n        holder_type  CHAR(1)          NOT NULL,\n        holder_id    INT(6)  UNSIGNED NOT NULL,\n        tally_name   CHAR(2)          NOT NULL,\n        tally_delta  INT(8)           NOT NULL,\n        tally_value  INT(8)           NOT NULL,\n\n        PRIMARY KEY (tally_name, holder_type, holder_id, timestamp)\n    )\n") or die("Aborting.");
// -----------------------------------------------
if (check_uniqueness('member_stats', 'u_id', 'date_updated')) {
    echo "\n";
    echo "Copying user page-tallies from 'member_stats' table to 'past_tallies'...\n";
    dpsql_query("\n        INSERT INTO past_tallies\n        SELECT date_updated, 'U', u_id, 'R*', daily_pagescompleted, total_pagescompleted\n        FROM member_stats\n    ") or die("Aborting.");
    echo "Renaming 'member_stats' table...\n";
    // For ease of backing out during testing,
    // merely rename 'member_stats' table, rather than dropping it.
    dpsql_query("\n        RENAME TABLE member_stats TO member_stats_obsolete\n    ") or die("Aborting.");
    // DROP TABLE member_stats
}
// -----------------------------------------------
if (check_uniqueness('user_teams_stats', 'team_id', 'date_updated')) {
    echo "\n";
    echo "Copying team page-tallies from 'user_teams_stats' table to 'past_tallies'...\n";
    dpsql_query("\n        INSERT INTO past_tallies\n        SELECT date_updated, IF(team_id=1,'S','T'), team_id, 'R*', daily_page_count, total_page_count\n        FROM user_teams_stats\n    ") or die("Aborting.");
    echo "Renaming 'user_teams_stats' table...\n";
    // For ease of backing out during testing,
    // merely rename 'user_teams_stats' table, rather than dropping it.
    dpsql_query("\n        RENAME TABLE user_teams_stats TO user_teams_stats_obsolete\n    ") or die("Aborting.");
    // DROP TABLE user_teams_stats
}
// -----------------------------------------------
echo "\nDone!\n";
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
function check_uniqueness($table_name, $holder_id_column_name, $timestamp_column_name)
{
    echo "Adding index to {$table_name}. This could take a while...\n";