Example #1
0
function register_user($username, $password, $email)
{
    $connection = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME, DB_USER, DB_PWD);
    if (does_username_already_exist($username)) {
        //BAD username already exists
        return [false, "Username already exists!"];
    }
    if ($email != NULL && does_email_already_exist($email)) {
        //BAD email already exists;
        return [false, "E-mail already exists!"];
    }
    $seconds_since_last_registration = seconds_since_last_registration();
    if ($seconds_since_last_registration < 60) {
        //BAD registering too soon after last registration
        return [false, "Too soon since last registration. Wait " . (SECS_BTWN_REGISTRATIONS - $seconds_since_last_registration) . " seconds then try again."];
    }
    $password_hash = password_hash($password, PASSWORD_DEFAULT);
    if ($password_hash == false) {
        //BAD password hash failed
        return [false, "Unable to create username. Please try again!"];
    }
    $statement = $connection->prepare("insert into users(username, password, email) values (?, ?, ?)");
    $statement->bindValue(1, $username, PDO::PARAM_STR);
    $statement->bindValue(2, $password_hash, PDO::PARAM_STR);
    $statement->bindValue(3, $email, PDO::PARAM_STR);
    $statement->execute();
    return [true, "Username created!"];
}
Example #2
0
     create_requirement(filter_input(INPUT_POST, 'required_for', FILTER_SANITIZE_NUMBER_INT), filter_input(INPUT_POST, 'required_by', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "create_tag":
     create_tag(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT), filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING));
     break;
 case "create_todo":
     create_todo(filter_input(INPUT_POST, 'achievement_id', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "create_work":
     create_work(filter_input(INPUT_POST, 'action_id', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "deactivate_achievement":
     deactivate_achievement(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "does_username_already_exist":
     echo json_encode(does_username_already_exist(filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING)));
     break;
 case "remove_achievement":
     remove_achievement(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "delete_action":
     delete_action(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "delete_note":
     delete_note(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "delete_relation":
     delete_relation(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
     break;
 case "delete_requirement":
     delete_requirement(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));