Advertisement
Guest User

Untitled

a guest
May 5th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.66 KB | None | 0 0
  1. <?php
  2.  
  3. add_action( 'admin_post_create_account', 'fello_create_account' );
  4. add_action( 'admin_post_nopriv_create_account', 'fello_create_account' );
  5.  
  6. add_action( 'wp_enqueue_scripts', 'fello_create_user' );
  7. function fello_create_user()
  8. {
  9. wp_enqueue_script('create_user5', plugins_url('/js/create_user.js', __FILE__), array('jquery'), '1.0', true);
  10. }
  11.  
  12. //http://fello.local/wp-admin/admin-post.php?action=create_account
  13. function fello_create_account()
  14. {
  15. global $wpdb;
  16. $auth_login = get_option('caleo_auth_user');
  17. $auth_password = get_option('caleo_auth_password');
  18.  
  19. $user_login = get_option('caleo_user');
  20. $user_password = get_option('caleo_password');
  21.  
  22. $caleo_live_mode = get_option('caleo_live_mode');
  23.  
  24. $person_number = trim($_REQUEST["person_number"]);
  25.  
  26. //convert all person number format into one
  27. //replace stpaces
  28. $person_number = preg_replace('/\s+/', '', $person_number);
  29. if (strlen($person_number) == 11) {
  30. $person_number = "19" . $person_number;
  31. } elseif (strlen($person_number) == 10) {
  32. $person_number = "19" . substr($person_number, 0, 6) . '-' . substr($person_number, -4);
  33. } elseif (strlen($person_number) == 12) {
  34. $person_number = substr($person_number, 0, 8) . '-' . substr($person_number, -4);
  35. }
  36.  
  37. //$mobile_number = $_REQUEST["mobile_number"];
  38. $user_name = trim($_REQUEST["username"]);
  39. $password = trim($_REQUEST["password"]);
  40. $md5pass = md5($password);
  41. $lower_username = strtolower($user_name);
  42. $activationcode = generateRandomString(5);
  43. //check do we have customer for person number and teliphone number
  44.  
  45. //check password match standard
  46. if(!preg_match('/(?=.{6,25}$)/',$password)){
  47. echo '<script> window.location = "/registrera-konto/?rsn=Ditt lösenord måste innehålla minst 6 tecken." </script>';
  48. exit();
  49. }
  50.  
  51.  
  52. //Alredy accosiate with another or not
  53. $wp_customer = $wpdb->get_row("select personnumber,username from fello_users where personnumber='$person_number' or username='$lower_username'",ARRAY_A);
  54. if (!empty($wp_customer)) {
  55. if($wp_customer['personnumber'] == $person_number)
  56. {
  57. echo '<script> window.location = "/registrera-konto/?rsn=Du har redan skapat ett konto med ' . $person_number . '. Om du har glömt av ditt lösenord kan du återställa det på “Logga in” sidan. " </script>';
  58. exit();
  59. }
  60. else{
  61. echo '<script> window.location = "/registrera-konto/?rsn=Du har redan skapat ett konto med ' . $user_name . '. Om du har glömt av ditt lösenord kan du återställa det på “Logga in” sidan. " </script>';
  62. exit();
  63. }
  64. }
  65.  
  66.  
  67. $access = new BilliantAccess($auth_login, $auth_password,$caleo_live_mode);
  68. $telia = new BilliantTelia($auth_login, $auth_password,$caleo_live_mode);
  69. $session = $access->createSession($user_login, $user_password);
  70. $customers_result = $telia->findCustomerBySocialSecurityNumber($session->sessionId, $person_number);
  71. if ($customers_result["status"] == 0) {
  72. $person_number2 = substr($person_number, 2);
  73. unset($customers_result);
  74. $customers_result = $telia->findCustomerBySocialSecurityNumber($session->sessionId, $person_number2);
  75. if ($customers_result["status"] == 0) {
  76. $access->releaseSession($session->sessionId);
  77. echo '<script> window.location = "/registrera-konto/?rsn=Ditt personnummer är inte anslutet till något abonnemang. Kontrollera så att du har angett ditt personnummer med följande format: ÅÅÅÅMMDD-XXXX" </script>';
  78. exit();
  79. }
  80. }
  81. if (count($customers_result["result"]->Customer) > 1) {
  82. $Customer = $customers_result["result"]->Customer[0];
  83. } else {
  84. $Customer = $customers_result["result"]->Customer;
  85. }
  86. //var_dump($Customer);
  87. //exit();
  88. //create account
  89. $wpdb->insert('fello_users',array(
  90. "personnumber" => $person_number,
  91. "username" => $lower_username,
  92. "password" => $md5pass,
  93. "is_active" => 0,
  94. "create_date" => date("Y-m-d"),
  95. "customer_no" => $Customer->customerNo,
  96. "activation_code" => "$activationcode",
  97. "activation_time" => date("Y-m-d H:i:s"),
  98. "contact_phone" => $Customer->contactMobileNo
  99. ),
  100. array(
  101. '%s',
  102. '%s',
  103. '%s',
  104. '%d',
  105. '%s',
  106. '%d',
  107. '%d',
  108. '%s',
  109. '%s'
  110. ));
  111.  
  112. $access->releaseSession($session->sessionId);
  113. //var_dump($acc_response);
  114. //if (is_object($acc_response)) {
  115. $a6elks = new A6elks();
  116. $response = $a6elks->sendSMS($Customer->contactMobileNo, "Din aktiveringskod för mina sidor hos Fello är: $activationcode");
  117. //var_dump($response);
  118. if ($response->getStatusCode() == 200) {
  119. //create account and redirect to enter activation code
  120. } else {
  121. //sending activation code fail
  122. }
  123.  
  124. //$wpdb->insert("tbl_activate", array("code" => $activationcode, "contactno" => $Customer->contactMobileNo, "customer_no" => $Customer->customerNo, "username" => $user_name));
  125. echo '<script> window.location = "/aktivera/?username=' . $user_name . '" </script>';
  126. /*
  127. } else {
  128. if (strpos($acc_response, 'Specified user name') !== false) {
  129. echo '<script> window.location = "/registrera-konto/?rsn=Du har redan skapat ett konto med ' . $user_name . '. Om du har glömt av ditt lösenord kan du återställa det på “Logga in” sidan. " </script>';
  130. } elseif (strpos($acc_response, 'Internal database error occurred in') !== false) {
  131. echo '<script> window.location = "/registrera-konto/?rsn=Det finns redan ett konto med dessa uppgifter. Om du inte längre kommer åt ditt konto, be om ett nytt lösenord under “Mina sidor” eller kontakta kundtjänst." </script>';
  132. } elseif (strpos($acc_response, 'Password for user') !== false) {
  133. echo '<script> window.location = "/registrera-konto/?rsn=Lösenordet måste innehålla minst 2 stora bokstäver, 2 små bokstäver och 2 siffror eller specialtecken .,!:;@()#-_? och vara 8-12 tecken långt." </script>';
  134. }
  135. elseif (strpos($acc_response, 'Illegal password for user') !== false){
  136. echo '<script> window.location = "/registrera-konto/?rsn=Ogiltig kombination för lösenord på användare: [' . $user_name . ']. Lösenordet måste innehålla minst två tecken från ABCDEFHGHIJKLMNOPQRSTUVWXYZÅÄÖ" </script>';
  137. } else {
  138. echo '<script> window.location = "/registrera-konto/?rsn=' . $acc_response . '" </script>';
  139. }
  140. }
  141. */
  142. }
  143.  
  144. add_shortcode('my_create_form', 'my_create_form');
  145. function my_create_form(){
  146. $return = '<section class="mypages-block">';
  147. $return .= '<form id="frmRegister" method="POST" action="/wp-admin/admin-post.php?action=create_account" class="go-bottom createaccount">';
  148. $rsn = trim(addslashes($_REQUEST["rsn"]));
  149. if(!empty($rsn)){
  150. $return .= '<div class="my_pages_error"><br>' . $rsn . '</div><BR/>';
  151. }
  152. else{
  153. $return .= '<div style="display:none;" class="my_pages_error"></div>';
  154. }
  155.  
  156.  
  157. $return .= '<div class="form-group input-group" id="person_number_mypages_field"><input class="form-control" type="text" name="person_number" id="personal_number" placeholder="Personnummer" required />';
  158. $return .= '<label for="person_number" class="control-label" id="person_number_mypages">Personnummer</label></div>';
  159.  
  160. $return .= '<div class="form-group input-group" id="username_field"><input class="form-control" type="text" name="username" id="username" placeholder="E-postadress" required />';
  161. $return .= '<label for="username" class="control-label" id="username">E-postadress</label></div>';
  162.  
  163. $return .= '<div class="form-group input-group" id="password_field"><input class="form-control" type="password" name="password" id="password" placeholder="Ange önskat lösenord" required />';
  164. $return .= '<label for="password" class="control-label" id="password">Ange önskat lösenord</label></div>';
  165.  
  166. $return .= '<div class="form-group input-group" id="password_field"><input class="form-control" type="password" name="repassword" id="repassword" placeholder="Ange lösenord igen" required/>';
  167. $return .= '<label for="repassword" class="control-label" id="password">Ange lösenord igen</label></div>';
  168.  
  169.  
  170. $return .= '<input class="btn fello-btn fello-btn--primary" id="register" type="submit" value="Skapa konto"/>';
  171. $return .= '</form>';
  172.  
  173. $return .= '</section>';
  174. return $return;
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement