public static function createAccount($ninja_name, $email, $class_identity) { $found = Player::findByName($ninja_name); if ($found) { throw new Exception("Test user found [{$found}] with name [{$ninja_name}] already exists"); } $ip = isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1'; // Create test user, unconfirmed, whatever the default is for activity. $confirm = rand(1000, 9999); //generate confirmation code $class_id = query_item('SELECT class_id FROM class WHERE identity = :class_identity', [':class_identity' => $class_identity]); $ninja = new Player(); $ninja->uname = $ninja_name; $ninja->verification_number = $confirm; $ninja->active = 1; $ninja->_class_id = $class_id; $ninja->save(); Account::create($ninja->id(), $email, TestAccountCreateAndDestroy::$test_password, $confirm, 0, 1, $ip); if ($confirm) { $ninja->active = 1; $ninja->save(); $account = Account::findByChar($ninja); $account->confirmed = 1; $account->setOperational(true); $account->save(); } return $ninja->id(); }