H69UNtblNBNpha2dtB1Odn8qYp1Qk5NK2gi7yfceofo9N
/
home
/
ymswebso
/
public_html
/
helloguestscreen
/
wp-content
/
themes
/
hello-guest
/
ajax
/
Nama File / Folder
Size
Action
addscreen.php
1.771KB
Hapus
Edit
Rename
checkout.php
6.552KB
Hapus
Edit
Rename
deleteaccount.php
1.442KB
Hapus
Edit
Rename
savescreen.php
1.727KB
Hapus
Edit
Rename
<?php function checkout(){ $data = []; $request = $_REQUEST; $status = false; $validate = true; $plan = get_subscription_plans('*', esc_attr($request['plan'])); if(empty($plan)){ $validate = false; $message = "Subscription plan does not exists."; $redirect = wp_no_plan_redirect(); }else{ if($request['step'] == 1){ $sanatize = array('alias'); $validations = array( 'first_name' => 'alfanum', 'last_name' => 'alfanum', 'email' => 'email', 'company_name' => 'alfanum', 'password' => 'password', ); $required = array_keys($validations); unset($required[3]); } else if($request['step'] == 2){ $sanatize = array('alias'); $validations = array( 'country' => 'country', 'state' => 'alfanum', 'city' => 'alfanum', 'phone_number' => 'phone', 'street_address_1' => 'alfanum', 'street_address_2' => 'alfanum', 'zipcode' => 'zipcode', ); $required = array_keys($validations); unset($required[5]); } else if($request['step'] == 3){ $request['agree_terms'] = (empty($request['agree_terms']))?"":"yes"; $sanatize = array('agree_terms'); $validations = array( 'agree_terms' => 'not_empty' ); $required = array_keys($validations); } $validator = new FormValidator($validations, $required, $sanatize); if ($validator->validate($request)) { $data['step'] = $request['step'] + 1; $status = true; if($request['step'] == 3){ $status = false; $data['step'] = 3; $email = $request['email']; $password = $request['password']; $username = substr($email, 0, strrpos($email, '@')); $user_id = username_exists( $username ); if ( !$user_id && email_exists($email) == false ) { $user_id = wp_create_user( $username, $password, $email ); if( !is_wp_error($user_id) ) { global $wpdb; $user = get_user_by( 'id', $user_id ); $user->set_role( 'subscriber' ); $user->add_cap('upload_files'); $user->add_cap('edit_published_pages'); $metas = array( 'nickname' => esc_attr($request['first_name']), 'first_name' => esc_attr($request['first_name']), 'last_name' => esc_attr($request['last_name']), 'company' => esc_attr($request['company_name']), 'country' => esc_attr($request['country']), 'state' => esc_attr($request['state']), 'city' => esc_attr($request['city']), 'zipcode' => esc_attr($request['zipcode']), 'phone_number' => esc_attr($request['phone_number']), 'street_address_1' => esc_attr($request['street_address_1']), 'street_address_2' => esc_attr($request['street_address_2']) ); foreach($metas as $key => $value) { update_user_meta( $user_id, $key, $value ); } $subscription = [ 'user_id' => $user_id, 'plan_id' => $plan['ID'], 'plan_price' => $plan['amount'], 'plan_vat' => VAT_AMOUNT, 'start_date' => date('Y-m-d H:i:s'), 'end_date' => NULL, 'next_payment_date' => date('Y-m-d H:i:s', strtotime("+".$plan['trial_days']." days")), 'is_trial_applied' => 'yes', 'status' => 'active', 'updated' => date('Y-m-d H:i:s'), 'created' => date('Y-m-d H:i:s'), ]; $isSaved = $wpdb->insert("{$wpdb->prefix}users_subscriptions", $subscription); if(!empty($isSaved)){ wp_set_current_user($user_id); wp_set_auth_cookie($user_id); $customerToken = createCustomer($user_id); if(!empty($customerToken)){ update_user_meta($user_id, 'customer_token', $customerToken); } $status = true; $redirect = wp_myscreen_redirect(); $message = "Data has been saved successfully"; } else { $message = "Subscription was not done correctly, kindly login and try it again."; } }else{ $message = "Username or email already exists. ".$user_id->get_error_message(); } }else{ $message = "Username or email already exists."; } } } else { $message = "Something went wrong!"; $data = $validator->getErrors(); } } exit( json_encode([ 'data' => $data, 'status' => $status, 'redirect' => $redirect, 'message' => $message ]) ); } add_action( 'wp_ajax_checkout', 'checkout' ); add_action( 'wp_ajax_nopriv_checkout', 'checkout' );