public function register() { DABBA_API_Catch_Request::get()->check_params(array('user_email', 'type')); $user_email = $_POST['user_email']; if (username_exists($user_email) || email_exists($user_email)) { DABBA_API_Output::get()->output(false, 409, "User already exists."); } switch ($_POST['type']) { case 'site': DABBA_API_Catch_Request::get()->check_params(array('user_password')); $user_password = $_POST['user_password']; $userdata = array('user_login' => $user_email, 'user_email' => $user_email, 'role' => 'customer', 'user_pass' => $user_password); $user_id = wp_insert_user($userdata); if (is_wp_error($user)) { DABBA_API_Output::get()->output(false, 401, $user->get_error_code()); } break; case 'facebook': DABBA_API_Catch_Request::get()->check_params(array('facebook_uid')); $facebook_uid = $_POST['facebook_uid']; $user_password = wp_generate_password($length = 12, $include_standard_special_chars = false); $userdata = array('user_login' => $user_email, 'user_email' => $user_email, 'role' => 'customer', 'user_pass' => $user_password); $user_id = wp_insert_user($userdata); if (is_wp_error($user)) { DABBA_API_Output::get()->output(false, 401, $user->get_error_code()); } add_user_meta($user_id, '_wc_social_login_facebook_uid', $facebook_uid); break; case 'google': DABBA_API_Catch_Request::get()->check_params(array('google_uid')); $google_uid = $_POST['google_uid']; $user_password = wp_generate_password($length = 12, $include_standard_special_chars = false); $userdata = array('user_login' => $user_email, 'user_email' => $user_email, 'role' => 'customer', 'user_pass' => $user_password); $user_id = wp_insert_user($userdata); if (is_wp_error($user)) { DABBA_API_Output::get()->output(false, 401, $user->get_error_code()); } add_user_meta($user_id, '_wc_social_login_google_uid', $google_uid); break; default: DABBA_API_Output::get()->output(false, 400, "Error in param 'type'"); break; } $user = get_user_by('id', $user_id); if ($user) { DABBA_API_Output::get()->output(true, 200, '', array('user' => array('ID' => $user->ID, 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'roles' => $user->roles))); } else { DABBA_API_Output::get()->output(false, 500, "Server Error"); } }
/** * Initialize class */ private function init() { // Setup Rewrite Rules DABBA_API_Rewrite_Rules::get(); // Default webservice DABBA_API_Web_services::get(); if (is_admin()) { // Backend // Setup settings DABBA_API_Settings::get(); } else { // Frondend // Catch request DABBA_API_Catch_Request::get(); } }
public function create_order() { var_dump($_POST); DABBA_API_Catch_Request::get()->check_params(array('company', 'phone', 'address_1', 'address_2', 'corp', 'timeframe', 'food_delivery_accepted', 'line_items', 'method_id', 'method_title', 'paid', 'user_id')); //$user = wp_get_current_user(); $user = get_userdata($_POST['user_id']); $address = array('first_name' => $user->user_firstname, 'last_name' => $user->user_lastname, 'company' => $_POST['company'], 'email' => $user->user_email, 'phone' => $_POST['phone'], 'address_1' => $_POST['address_1'], 'address_2' => $_POST['address_2'], 'city' => 'Mexico City', 'state' => 'Distrito Federal', 'country' => 'MX', 'postcode' => $_POST['postcode']); $order = wc_create_order(); $order->set_address($address, 'billing'); $order->set_address($address, 'shipping'); //$order->add_coupon('Fresher','10','2'); // accepted param $couponcode, $couponamount,$coupon_tax update_post_meta($order->id, 'billing_corp', sanitize_text_field($_POST['corp'])); update_post_meta($order->id, 'billing_timeframe', sanitize_text_field($_POST['timeframe'])); update_post_meta($order->id, 'billing_food_delivery_accepted', $_POST['food_delivery_accepted']); update_post_meta($order->id, '_payment_method', $_POST['method_id']); update_post_meta($order->id, '_payment_method_title', $_POST['method_title']); if (isset($_POST['stripe_transaction_id']) && isset($_POST['stripe_customer_id'])) { // $fee = ( 3.6 * $amount + 3 ) * 0.16; // $net_revenue = $amount - $fee; update_post_meta($order->id, 'Stripe Fee', 0); update_post_meta($order->id, 'Net Revenue From Stripe', 0); update_post_meta($order->id, '_transaction_id', $_POST['stripe_transaction_id']); update_post_meta($order->id, '_stripe_customer_id', $_POST['stripe_customer_id']); update_post_meta($order->id, '_stripe_charge_id', $_POST['stripe_transaction_id']); } if (isset($_POST['paypal_address']) && isset($_POST['paypal_payment_type']) && isset($_POST['paypal_transaction_fee'])) { } update_post_meta($order->id, '_customer_user', $_POST['user_id']); $line_items_decode = json_decode(stripslashes($_POST['line_items'])); //$line_items_decode = json_decode( '[{"id" : "9579","quantity" : "1"},{"id" : "2933","quantity" :"1"}]'); foreach ($line_items_decode as $item) { $order->add_product(get_product($item->id), $item->quantity); } if (isset($_POST['line_coupons'])) { $line_coupons_decode = json_decode(stripslashes($_POST['line_coupons'])); foreach ($line_coupons_decode as $coupon) { $c = $order->add_coupon($coupon->code, $coupon->discount); } } if (isset($_POST['order_note'])) { $order->add_order_note($_POST['order_note']); } $order->calculate_totals(); $order->reduce_order_stock(); $order->update_status('processing'); $data = array($order); DABBA_API_Output::get()->output(true, 200, '', $data); }