Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- add_action( 'admin_post_create_account', 'fello_create_account' );
- add_action( 'admin_post_nopriv_create_account', 'fello_create_account' );
- add_action( 'wp_enqueue_scripts', 'fello_create_user' );
- function fello_create_user()
- {
- wp_enqueue_script('create_user5', plugins_url('/js/create_user.js', __FILE__), array('jquery'), '1.0', true);
- }
- //http://fello.local/wp-admin/admin-post.php?action=create_account
- function fello_create_account()
- {
- global $wpdb;
- $auth_login = get_option('caleo_auth_user');
- $auth_password = get_option('caleo_auth_password');
- $user_login = get_option('caleo_user');
- $user_password = get_option('caleo_password');
- $caleo_live_mode = get_option('caleo_live_mode');
- $person_number = trim($_REQUEST["person_number"]);
- //convert all person number format into one
- //replace stpaces
- $person_number = preg_replace('/\s+/', '', $person_number);
- if (strlen($person_number) == 11) {
- $person_number = "19" . $person_number;
- } elseif (strlen($person_number) == 10) {
- $person_number = "19" . substr($person_number, 0, 6) . '-' . substr($person_number, -4);
- } elseif (strlen($person_number) == 12) {
- $person_number = substr($person_number, 0, 8) . '-' . substr($person_number, -4);
- }
- //$mobile_number = $_REQUEST["mobile_number"];
- $user_name = trim($_REQUEST["username"]);
- $password = trim($_REQUEST["password"]);
- $md5pass = md5($password);
- $lower_username = strtolower($user_name);
- $activationcode = generateRandomString(5);
- //check do we have customer for person number and teliphone number
- //check password match standard
- if(!preg_match('/(?=.{6,25}$)/',$password)){
- echo '<script> window.location = "/registrera-konto/?rsn=Ditt lösenord måste innehålla minst 6 tecken." </script>';
- exit();
- }
- //Alredy accosiate with another or not
- $wp_customer = $wpdb->get_row("select personnumber,username from fello_users where personnumber='$person_number' or username='$lower_username'",ARRAY_A);
- if (!empty($wp_customer)) {
- if($wp_customer['personnumber'] == $person_number)
- {
- 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>';
- exit();
- }
- else{
- 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>';
- exit();
- }
- }
- $access = new BilliantAccess($auth_login, $auth_password,$caleo_live_mode);
- $telia = new BilliantTelia($auth_login, $auth_password,$caleo_live_mode);
- $session = $access->createSession($user_login, $user_password);
- $customers_result = $telia->findCustomerBySocialSecurityNumber($session->sessionId, $person_number);
- if ($customers_result["status"] == 0) {
- $person_number2 = substr($person_number, 2);
- unset($customers_result);
- $customers_result = $telia->findCustomerBySocialSecurityNumber($session->sessionId, $person_number2);
- if ($customers_result["status"] == 0) {
- $access->releaseSession($session->sessionId);
- 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>';
- exit();
- }
- }
- if (count($customers_result["result"]->Customer) > 1) {
- $Customer = $customers_result["result"]->Customer[0];
- } else {
- $Customer = $customers_result["result"]->Customer;
- }
- //var_dump($Customer);
- //exit();
- //create account
- $wpdb->insert('fello_users',array(
- "personnumber" => $person_number,
- "username" => $lower_username,
- "password" => $md5pass,
- "is_active" => 0,
- "create_date" => date("Y-m-d"),
- "customer_no" => $Customer->customerNo,
- "activation_code" => "$activationcode",
- "activation_time" => date("Y-m-d H:i:s"),
- "contact_phone" => $Customer->contactMobileNo
- ),
- array(
- '%s',
- '%s',
- '%s',
- '%d',
- '%s',
- '%d',
- '%d',
- '%s',
- '%s'
- ));
- $access->releaseSession($session->sessionId);
- //var_dump($acc_response);
- //if (is_object($acc_response)) {
- $a6elks = new A6elks();
- $response = $a6elks->sendSMS($Customer->contactMobileNo, "Din aktiveringskod för mina sidor hos Fello är: $activationcode");
- //var_dump($response);
- if ($response->getStatusCode() == 200) {
- //create account and redirect to enter activation code
- } else {
- //sending activation code fail
- }
- //$wpdb->insert("tbl_activate", array("code" => $activationcode, "contactno" => $Customer->contactMobileNo, "customer_no" => $Customer->customerNo, "username" => $user_name));
- echo '<script> window.location = "/aktivera/?username=' . $user_name . '" </script>';
- /*
- } else {
- if (strpos($acc_response, 'Specified user name') !== false) {
- 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>';
- } elseif (strpos($acc_response, 'Internal database error occurred in') !== false) {
- 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>';
- } elseif (strpos($acc_response, 'Password for user') !== false) {
- 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>';
- }
- elseif (strpos($acc_response, 'Illegal password for user') !== false){
- 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>';
- } else {
- echo '<script> window.location = "/registrera-konto/?rsn=' . $acc_response . '" </script>';
- }
- }
- */
- }
- add_shortcode('my_create_form', 'my_create_form');
- function my_create_form(){
- $return = '<section class="mypages-block">';
- $return .= '<form id="frmRegister" method="POST" action="/wp-admin/admin-post.php?action=create_account" class="go-bottom createaccount">';
- $rsn = trim(addslashes($_REQUEST["rsn"]));
- if(!empty($rsn)){
- $return .= '<div class="my_pages_error"><br>' . $rsn . '</div><BR/>';
- }
- else{
- $return .= '<div style="display:none;" class="my_pages_error"></div>';
- }
- $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 />';
- $return .= '<label for="person_number" class="control-label" id="person_number_mypages">Personnummer</label></div>';
- $return .= '<div class="form-group input-group" id="username_field"><input class="form-control" type="text" name="username" id="username" placeholder="E-postadress" required />';
- $return .= '<label for="username" class="control-label" id="username">E-postadress</label></div>';
- $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 />';
- $return .= '<label for="password" class="control-label" id="password">Ange önskat lösenord</label></div>';
- $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/>';
- $return .= '<label for="repassword" class="control-label" id="password">Ange lösenord igen</label></div>';
- $return .= '<input class="btn fello-btn fello-btn--primary" id="register" type="submit" value="Skapa konto"/>';
- $return .= '</form>';
- $return .= '</section>';
- return $return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement