in workshop/99_Miscellaneous/Refactoring/functions/database.php [66:91]
function create_admin($databaseConnection, $admin_role_id)
{
// HACK: Storing config values in variables so that they aren't passed by reference later.
$default_admin_username = DEFAULT_ADMIN_USERNAME;
$default_admin_password = DEFAULT_ADMIN_PASSWORD;
$query_check_admin_exists = "SELECT id FROM users WHERE username = ? LIMIT 1";
$statement_check_admin_exists = $databaseConnection->prepare($query_check_admin_exists);
$statement_check_admin_exists->bind_param('s', $default_admin_username);
$statement_check_admin_exists->execute();
$statement_check_admin_exists->store_result();
if ($statement_check_admin_exists->num_rows == 0) {
$query_insert_admin = "INSERT INTO users (username, password) VALUES (?, SHA(?))";
$statement_insert_admin = $databaseConnection->prepare($query_insert_admin);
$statement_insert_admin->bind_param('ss', $default_admin_username, $default_admin_password);
$statement_insert_admin->execute();
$statement_insert_admin->store_result();
$admin_user_id = $statement_insert_admin->insert_id;
$query_add_admin_to_role = "INSERT INTO users_in_roles (user_id, role_id) VALUES (?, ?)";
$statement_add_admin_to_role = $databaseConnection->prepare($query_add_admin_to_role);
$statement_add_admin_to_role->bind_param('dd', $admin_user_id, $admin_role_id);
$statement_add_admin_to_role->execute();
$statement_add_admin_to_role->close();
}
}