Advertisement
Guest User

Code

a guest
May 3rd, 2019
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.61 KB | None | 0 0
  1. <?php
  2.  
  3. include_once 'encryption.php';
  4.  
  5.  
  6. //error_reporting(0);
  7.  
  8. $details = array(
  9.     "success" => '',
  10.     "error"   => ''
  11. );
  12.  
  13. if (isset($_POST['on']) && isset($_POST['value'])){
  14.     $onClick = $_POST['on'];
  15.     $value = $_POST['value'];
  16.  
  17.     if ($onClick == 'username_click_'){
  18.         if (strlen($value) >= 4 && preg_match('/^[a-zA-Z0-9 ]+$/', $value)){
  19.             $pdo = new PDO('mysql:host=localhost;dbname=Houdini', 'root', 'pass');
  20.             $cursor = $pdo->prepare("SELECT `Username` FROM `penguin` WHERE `Username` = '".$value."'");
  21.             $cursor->execute();
  22.            
  23.             $exist = true;
  24.             if (!$cursor->rowCount() > 0){
  25.                 $exist = false;
  26.             }
  27.  
  28.             if (!$exist){
  29.                 $details['success'] = 'Username available!';
  30.             } else {
  31.                 $details['error'] = 'Username already taken, choose another name';
  32.             }
  33.         } else {
  34.             if ($value == ''){
  35.                 $details['error'] = "You need to name your Penguin!";
  36.             } else if (strlen($value) < 4){
  37.                 $details['error'] = "Penguin name must be atleast 4 characters long";
  38.             } else if (!preg_match('/^[a-zA-Z0-9 ]+$/', $value)){
  39.                 $details['error'] = "Penguin names can have only letters numbers and spaces";
  40.             }
  41.         }
  42.     } else if ($onClick == 'password_click_'){
  43.         if (strlen($value) < 6){
  44.             $details['error'] = "Please enter 6 or more letters or numbers";
  45.         } else {
  46.             $details['success'] = "Password accepted!";
  47.         }
  48.     } else if ($onClick == "email_click_"){
  49.         if (!preg_match("/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/", $value)){
  50.             $details['error'] = "The email address is not entered correctly. Please try again";
  51.         } else {
  52.             $pdo = new PDO('mysql:host=localhost;dbname=Houdini', 'root', 'pass');
  53.             $cursor = $pdo->prepare("SELECT `Username` FROM `penguin` WHERE `Email` = '".$value."'");
  54.             $cursor->execute();
  55.            
  56.             $exist = true;
  57.             if (!$cursor->rowCount() > 0){
  58.                 $exist = false;
  59.             }
  60.             if ($exist){
  61.                 $details['error'] = "This email address in already in use. Please try again";
  62.             } else {
  63.                 $details['success'] = "Email Accepted!";
  64.             }
  65.         }
  66.     } else if ($onClick == 'form_submit__'){
  67.         preg_match('/{(.*?)}/', $value['formBuild'], $build);
  68.         preg_match('/{(.*?)}/', $value['formId'], $formID);
  69.         if (strlen($build[1]) == 50 && $formID[1] == "penguin_create_form" && substr($value['formId'], -9) == "?Yes=No!!" &&
  70.             $value['submit'] == 'Create Your Penguin' && $value['terms'] == 'Yeah! Terms are accepted!!' && $value['show_pass'] == 'In-declarance' &&
  71.             in_array($value['color'], explode(",", implode(",", array_merge(range(1, 13), array(15, 16))))) && in_array($value['captcha'], range(0, 2)) &&
  72.             $value['form'] == 'penguin-create-form' && strlen($value['name']) > 3 && strlen($value['name']) < 13 &&
  73.             preg_match("/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/", $value['mail']) && preg_match('/^[a-zA-Z0-9 ]+$/', $value['name']) &&
  74.             substr($value['formId'], 13, 9) == "<mailing>" && $value['swid'] != '') {
  75.  
  76.             $pdo = new PDO('mysql:host=localhost;dbname=Houdini', 'root', 'pass');
  77.             $cursor = $pdo->prepare("SELECT `Username` FROM `penguin` WHERE `Username` = '".$value['name']."'");
  78.             $cursor->execute();
  79.            
  80.             $exist = true;
  81.             if (!$cursor->rowCount() > 0){
  82.                 $exist = false;
  83.             }
  84.  
  85.             if (!$exist){
  86.                 $pdo = new PDO('mysql:host=localhost;dbname=Houdini', 'root', 'pass');
  87.                 $cursor = $pdo->prepare("SELECT `Username` FROM `penguin` WHERE `Email` = '".$value['mail']."'");
  88.                 $cursor->execute();
  89.                
  90.                 $exist = true;
  91.                 if (!$cursor->rowCount() > 0){
  92.                     $exist = false;
  93.                 }
  94.                 if ($exist){
  95.                     //$details['error'] = "This email address in already in use. Please try again";
  96.                     $details['error'] = 'Cannot process your request, An error has occured. Refresh and try again!';
  97.                 } else {
  98.                     // Don't check for Password, Bloody hackers let them be affected by it ;)
  99.                     try{
  100.                         $pdo = new PDO("mysql:host=localhost;dbname=Houdini", "root", "pass");
  101.  
  102.                         $password = $value['pass'];
  103.                        
  104.                         $username = $value['name'];
  105.                         $email = $value['mail'];
  106.                         $color = $value['color'];
  107.                         $date = new DateTime();
  108.                         $date = $date->format("y:m:d h:i:s");
  109.                         $penguinId = '2';
  110.                         $hashedPassword = strtoupper(hash("md5", $password));
  111.                         $staticKey = 'houdini';
  112.                         $fancyPassword = getLoginHash($hashedPassword, $staticKey, $username); // Houdini bcrypt passwords
  113.                        
  114.                         $insertPenguin = "INSERT INTO `penguin` (`ID`, `Username`, `Nickname`, `Approval`, `Password`, `LoginKey`, `ConfirmationHash`, `Email`, `RegistrationDate`, `Active`, `Igloo`, `LastPaycheck`, `MinutesPlayed`, `Moderator`, `MascotStamp`, `Coins`, `Color`, `Head`, `Face`, `Neck`, `Body`, `Hand`, `Feet`, `Photo`, `Flag`, `Permaban`, `BookModified`, `BookColor`, `BookHighlight`, `BookPattern`, `BookIcon`, `AgentStatus`, `FieldOpStatus`, `CareerMedals`, `AgentMedals`, `LastFieldOp`, `NinjaRank`, `NinjaProgress`, `FireNinjaRank`, `FireNinjaProgress`, `WaterNinjaRank`, `WaterNinjaProgress`, `NinjaMatchesWon`, `FireMatchesWon`, `WaterMatchesWon`, `RainbowAdoptability`, `HasDug`, `Nuggets`)";
  115.                         $insertPenguin .= "VALUES (NULL, :Username, :Username, :one, :Password, :blank, :blank, :Email, :date, :one, :one, :date, :zero, :zero, :zero, :cc, :Color, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :one, :one, :one, :one, :zero, :zero, :zero, :zero, :date, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :zero, :one, :zero);";
  116.                         $insertStatement = $pdo->prepare($insertPenguin);
  117.                         $insertStatement->bindValue(":Username", $username);
  118.                         $insertStatement->bindValue(":Password", $fancyPassword);
  119.                         $insertStatement->bindValue(":Email", $email);
  120.                         $insertStatement->bindValue(":Color", $color);
  121.                         $insertStatement->bindValue(":date", $date);
  122.                         $insertStatement->bindValue(":blank", '');
  123.                         $insertStatement->bindValue(":zero", '0');
  124.                         $insertStatement->bindValue(":Approval", '1');
  125.                         $insertStatement->bindValue(":cc", '500');
  126.                         $insertStatement->bindValue(":one", '1');
  127.  
  128.                         $insertStatement->execute();   
  129.  
  130.                         $penguinId = $pdo->lastInsertId();
  131.  
  132.                        
  133.  
  134.                         $details['success'] = 'Your penguin has been created, enjoy!';
  135.                     } catch (Exception $e){
  136.                         //error
  137.                         $details['error'] = 'Cannot process your request, An error has occured. Refresh and try again!';
  138.  
  139.                     }
  140.                 }
  141.                
  142.             } else {
  143.                 //$details['error'] = 'Username already taken, choose another name';
  144.                 $details['error'] = 'Cannot process your request, An error has occured. Refresh and try again!';
  145.             }
  146.  
  147.         } else {
  148.             $details['error'] = 'Cannot process your request, An error has occured. Refresh and try again!';
  149.         }
  150.     }
  151.     print_r(json_encode($details));
  152.    
  153. } else {
  154.     die();
  155. }
  156.  
  157. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement