<?php ########################################################################### ## Copyright (C) Wizardry and Steamworks 2016 - License: GNU GPLv3 ## ########################################################################### ## This is a script that creates accounts for mangos servers. ## ########################################################################### ########################################################################### ## CONFIGURATION ## ########################################################################### # The configuration file for this script containing the settings. include_once("config.php"); ########################################################################### ## INTERNALS ## ########################################################################### if(!isset($_POST['username']) || !isset($_POST['password']) || !isset($_POST['email'])) { print "All fields must be completed in order to register an account!"; die; } try { $db = new PDO('mysql:host='.$DATABASE_HOSTNAME.';dbname='.$DATABASE_REALM_NAME.';', 'mangos', 'mangos'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->beginTransaction(); $q = $db->prepare("INSERT INTO $DATABASE_REALM_NAME.account (username, sha_pass_hash, email) VALUES(:username,:password,:email)"); $q->execute( array( ':username' => $_POST['username'], ':password' => strtoupper( sha1( strtoupper($_POST['username']) . ":" . strtoupper($_POST['password']) ) ), ':email' => $_POST['email'] ) ); $db->commit(); } catch(PDOException $e) { switch($e->errorInfo[1]) { case 1062: print "Account already exists."; break; default: print $e->getMessage(); break; } $db->rollback(); die; } print "Account created."; ?>