/** * Implementation of the signup logic. * * @param SignupRequest $p_request * @return ViewSpec * @throw \Runtimeexception account creation failed */ private function doWork($p_request) { $preconfirm = self::preconfirm_some_emails($p_request->enteredEmail); $confirm = rand(1000, 9999); //generate confirmation code $player_params = ['send_email' => $p_request->enteredEmail, 'send_pass' => $p_request->enteredPass, 'send_class' => $p_request->enteredClass, 'preconfirm' => $preconfirm, 'confirm' => $confirm, 'referred_by' => $p_request->enteredReferral, 'ip' => $p_request->clientIP]; // Create the player if ($error = create_account_and_ninja($p_request->enteredName, $player_params)) { throw new \RuntimeException($error, 4); } if ($preconfirm) { $completedPhase = 4; confirm_player($p_request->enteredName, false, true); // name, no confirm #, just autoconfirm. $confirmed = true; } else { $completedPhase = 5; $confirmed = false; } return ['template' => self::TEMPLATE, 'title' => self::TITLE, 'parts' => ['classes' => $this->classes, 'class_display' => class_display_name_from_identity($p_request->enteredClass), 'signupRequest' => $p_request, 'submit_successful' => true, 'completedPhase' => $completedPhase, 'confirmed' => $confirmed, 'submitted' => true, 'error' => ''], 'options' => ['quickstat' => false]]; }
public static function create_alternate_testing_account($confirm = false) { $ip = isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1'; if ((bool) get_char_id(TestAccountCreateAndDestroy::$alt_test_ninja_name)) { throw new Exception('Test user found [' . $found . '] with name [' . TestAccountCreateAndDestroy::$alt_test_ninja_name . '] already exists'); } // Create test user, unconfirmed, whatever the default is for activity. $preconfirm = true; $confirm = rand(1000, 9999); //generate confirmation code // Use the function from lib_player $player_params = array('send_email' => TestAccountCreateAndDestroy::$alt_test_email, 'send_pass' => TestAccountCreateAndDestroy::$test_password, 'send_class' => 'dragon', 'preconfirm' => true, 'confirm' => $confirm, 'referred_by' => 'ninjawars.net', 'ip' => $ip); ob_start(); // Skip extra output $error = create_account_and_ninja(TestAccountCreateAndDestroy::$alt_test_ninja_name, $player_params); ob_end_clean(); if ($confirm) { $confirmed = confirm_player(TestAccountCreateAndDestroy::$alt_test_ninja_name, false, true); // name, no confirm #, just autoconfirm. } $char_id = get_char_id(TestAccountCreateAndDestroy::$alt_test_ninja_name); return $char_id; }
if ($phase3) { $error = $phase3; } else { $completedPhase = 3; if (!validate_signup_phase4($enteredClass)) { $error = 'Phase 4 Incomplete: No proper class was specified.'; } else { $completedPhase = 4; $preconfirm = preconfirm_some_emails($enteredEmail); $confirm = rand(1000, 9999); //generate confirmation code Request::setTrustedProxies(Constants::$trusted_proxies); $request = Request::createFromGlobals(); $ip = $request->getClientIp(); $player_params = array('send_email' => $enteredEmail, 'send_pass' => $enteredPass, 'send_class' => $enteredClass, 'preconfirm' => $preconfirm, 'confirm' => $confirm, 'referred_by' => $enteredReferral, 'ip' => $ip); if ($error = create_account_and_ninja($enteredName, $player_params)) { // Create the player. if (!$error) { $error = 'There was a problem with creating a player account. Please contact us as mentioned below: '; } } else { $submit_successful = true; if ($preconfirm) { // Use the confirm function from lib_player. confirm_player($enteredName, false, true); // name, no confirm #, just autoconfirm. $confirmed = true; } else { /* not blacklisted by, so require a normal email confirmation */ $completedPhase = 5; $confirmed = false;