Example #1
0
 /**
  * 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;
 }
Example #3
0
 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;