Example #1
0
 function handle_all_submit()
 {
     $errors = array();
     self::$product_cat = -1;
     //self::$post_content = __( 'Details about your product...', 'dokan' );
     self::$post_content = __('', 'dokan');
     if (!$_POST) {
         return;
     }
     if (isset($_POST['add_product'])) {
         $post_title = trim($_POST['post_title']);
         $post_content = trim($_POST['post_content']);
         $post_excerpt = trim($_POST['post_excerpt']);
         $mrp = floatval($_POST['mrp']);
         $price = floatval($_POST['price']);
         $product_cat = intval($_POST['product_cat']);
         $featured_image = absint($_POST['feat_image_id']);
         if (empty($post_title)) {
             $errors[] = __('Please enter product title', 'dokan');
         }
         if ($product_cat < 0) {
             $errors[] = __('Please select a category', 'dokan');
         }
         self::$errors = apply_filters('dokan_can_add_product', $errors);
         if (!self::$errors) {
             $product_status = dokan_get_new_post_status();
             $post_data = apply_filters('dokan_insert_product_post_data', array('post_type' => 'product', 'post_status' => $product_status, 'post_title' => $post_title, 'post_content' => $post_content, 'post_excerpt' => $post_excerpt));
             $product_id = wp_insert_post($post_data);
             if ($product_id) {
                 /** set images **/
                 if ($featured_image) {
                     set_post_thumbnail($product_id, $featured_image);
                 }
                 /** set product category * */
                 wp_set_object_terms($product_id, (int) $_POST['product_cat'], 'product_cat');
                 wp_set_object_terms($product_id, 'simple', 'product_type');
                 update_post_meta($product_id, '_regular_price', $price);
                 update_post_meta($product_id, '_list_price_mrp', $mrp);
                 update_post_meta($product_id, '_sale_price', '');
                 update_post_meta($product_id, '_price', $price);
                 update_post_meta($product_id, '_visibility', 'visible');
                 $sell = array('sell_in' => '', 'state' => '', 'city' => '');
                 update_post_meta($product_id, 'sell_in', $sell);
                 do_action('dokan_new_product_added', $product_id, $post_data);
                 Dokan_Email::init()->new_product_added($product_id, $product_status);
                 wp_redirect(dokan_edit_product_url($product_id));
             }
         }
     }
     if (isset($_GET['product_id'])) {
         $post_id = intval($_GET['product_id']);
     } else {
         global $post, $product;
         $post_id = $post->ID;
     }
     if (isset($_POST['update_product'])) {
         $product_info = array('ID' => $post_id, 'post_title' => sanitize_text_field($_POST['post_title']), 'post_content' => $_POST['post_content'], 'post_excerpt' => $_POST['post_excerpt'], 'post_status' => isset($_POST['post_status']) ? $_POST['post_status'] : 'pending', 'comment_status' => isset($_POST['_enable_reviews']) ? 'open' : 'closed');
         wp_update_post($product_info);
         /** set product category * */
         wp_set_object_terms($post_id, (int) $_POST['product_cat'], 'product_cat');
         wp_set_object_terms($post_id, 'simple', 'product_type');
         dokan_process_product_meta($post_id);
         /** set images **/
         $featured_image = absint($_POST['feat_image_id']);
         if ($featured_image) {
             set_post_thumbnail($post_id, $featured_image);
         }
         $edit_url = dokan_edit_product_url($post_id);
         wp_redirect(add_query_arg(array('message' => 'success'), $edit_url));
     }
     dokan_delete_product_handler();
     // Coupon functionality
     $dokan_template_coupons = Dokan_Template_Coupons::init();
     self::$validated = $dokan_template_coupons->validate();
     if (!is_wp_error(self::$validated)) {
         $dokan_template_coupons->coupons_create();
     }
     $dokan_template_coupons->coupun_delete();
     // Withdraw functionality
     $dokan_withdraw = Dokan_Template_Withdraw::init();
     self::$validate = $dokan_withdraw->validate();
     if (self::$validate !== false && !is_wp_error(self::$validate)) {
         $dokan_withdraw->insert_withdraw_info();
     }
     $dokan_withdraw->cancel_pending();
 }
 /**
  * Handle all the form POST submit
  *
  * @return void
  */
 function handle_all_submit()
 {
     if (!is_user_logged_in()) {
         return;
     }
     if (!dokan_is_user_seller(get_current_user_id())) {
         return;
     }
     $errors = array();
     self::$product_cat = -1;
     self::$post_content = __('Details about your product...', 'dokan');
     if (!$_POST) {
         return;
     }
     if (isset($_POST['dokan_add_product']) && wp_verify_nonce($_POST['dokan_add_new_product_nonce'], 'dokan_add_new_product')) {
         $post_title = trim($_POST['post_title']);
         $post_content = trim($_POST['post_content']);
         $post_excerpt = isset($_POST['post_excerpt']) ? trim($_POST['post_excerpt']) : '';
         $price = floatval($_POST['_regular_price']);
         $featured_image = absint($_POST['feat_image_id']);
         if (empty($post_title)) {
             $errors[] = __('Please enter product title', 'dokan');
         }
         if (dokan_get_option('product_category_style', 'dokan_selling', 'single') == 'single') {
             $product_cat = intval($_POST['product_cat']);
             if ($product_cat < 0) {
                 $errors[] = __('Please select a category', 'dokan');
             }
         } else {
             if (!isset($_POST['product_cat']) && empty($_POST['product_cat'])) {
                 $errors[] = __('Please select atleast one category', 'dokan');
             }
         }
         self::$errors = apply_filters('dokan_can_add_product', $errors);
         if (!self::$errors) {
             if (isset($_POST['dokan_product_id']) && empty($_POST['dokan_product_id'])) {
                 $post_data = apply_filters('dokan_insert_product_post_data', array('post_type' => 'product', 'post_status' => 'draft', 'post_title' => $post_title, 'post_content' => $post_content, 'post_excerpt' => $post_excerpt));
                 $product_id = wp_insert_post($post_data);
             } else {
                 $post_id = (int) $_POST['dokan_product_id'];
                 $product_status = dokan_get_new_post_status();
                 $product_info = apply_filters('dokan_update_product_post_data', array('ID' => $post_id, 'post_title' => sanitize_text_field($_POST['post_title']), 'post_content' => $_POST['post_content'], 'post_excerpt' => $_POST['post_excerpt'], 'post_status' => isset($_POST['post_status']) ? $_POST['post_status'] == 'draft' ? $product_status : $_POST['post_status'] : 'pending', 'comment_status' => isset($_POST['_enable_reviews']) ? 'open' : 'closed'));
                 $product_id = wp_update_post($product_info);
             }
             if ($product_id) {
                 /** set images **/
                 if ($featured_image) {
                     set_post_thumbnail($product_id, $featured_image);
                 }
                 if (isset($_POST['product_tag']) && !empty($_POST['product_tag'])) {
                     $tags_ids = array_map('intval', (array) $_POST['product_tag']);
                     wp_set_object_terms($product_id, $tags_ids, 'product_tag');
                 }
                 /** set product category * */
                 if (dokan_get_option('product_category_style', 'dokan_selling', 'single') == 'single') {
                     wp_set_object_terms($product_id, (int) $_POST['product_cat'], 'product_cat');
                 } else {
                     if (isset($_POST['product_cat']) && !empty($_POST['product_cat'])) {
                         $cat_ids = array_map('intval', (array) $_POST['product_cat']);
                         wp_set_object_terms($product_id, $cat_ids, 'product_cat');
                     }
                 }
                 /** Set Product type by default simple */
                 if (isset($_POST['_create_variation']) && $_POST['_create_variation'] == 'yes') {
                     wp_set_object_terms($product_id, 'variable', 'product_type');
                 } else {
                     wp_set_object_terms($product_id, 'simple', 'product_type');
                 }
                 update_post_meta($product_id, '_regular_price', $price);
                 update_post_meta($product_id, '_sale_price', '');
                 update_post_meta($product_id, '_price', $price);
                 update_post_meta($product_id, '_visibility', 'visible');
                 dokan_new_process_product_meta($product_id);
                 if (isset($_POST['dokan_product_id']) && empty($_POST['dokan_product_id'])) {
                     do_action('dokan_new_product_added', $product_id, $post_data);
                 }
                 if (isset($_POST['dokan_product_id']) && empty($_POST['dokan_product_id'])) {
                     if (dokan_get_option('product_add_mail', 'dokan_general', 'on') == 'on') {
                         Dokan_Email::init()->new_product_added($product_id, $product_status);
                     }
                 }
                 wp_redirect(add_query_arg(array('message' => 'success'), dokan_edit_product_url($product_id)));
                 exit;
             }
         }
     }
     if (isset($_POST['add_product']) && wp_verify_nonce($_POST['dokan_add_new_product_nonce'], 'dokan_add_new_product')) {
         $post_title = trim($_POST['post_title']);
         $post_content = trim($_POST['post_content']);
         $post_excerpt = trim($_POST['post_excerpt']);
         $price = floatval($_POST['price']);
         $featured_image = absint($_POST['feat_image_id']);
         if (empty($post_title)) {
             $errors[] = __('Please enter product title', 'dokan');
         }
         if (dokan_get_option('product_category_style', 'dokan_selling', 'single') == 'single') {
             $product_cat = intval($_POST['product_cat']);
             if ($product_cat < 0) {
                 $errors[] = __('Please select a category', 'dokan');
             }
         } else {
             if (!isset($_POST['product_cat']) && empty($_POST['product_cat'])) {
                 $errors[] = __('Please select atleast one category', 'dokan');
             }
         }
         self::$errors = apply_filters('dokan_can_add_product', $errors);
         if (!self::$errors) {
             $post_data = apply_filters('dokan_insert_product_post_data', array('post_type' => 'product', 'post_status' => 'draft', 'post_title' => $post_title, 'post_content' => $post_content, 'post_excerpt' => $post_excerpt));
             $product_id = wp_insert_post($post_data);
             if ($product_id) {
                 /** set images **/
                 if ($featured_image) {
                     set_post_thumbnail($product_id, $featured_image);
                 }
                 if (isset($_POST['product_tag']) && !empty($_POST['product_tag'])) {
                     $tags_ids = array_map('intval', (array) $_POST['product_tag']);
                     wp_set_object_terms($product_id, $tags_ids, 'product_tag');
                 }
                 /** set product category * */
                 if (dokan_get_option('product_category_style', 'dokan_selling', 'single') == 'single') {
                     wp_set_object_terms($product_id, (int) $_POST['product_cat'], 'product_cat');
                 } else {
                     if (isset($_POST['product_cat']) && !empty($_POST['product_cat'])) {
                         $cat_ids = array_map('intval', (array) $_POST['product_cat']);
                         wp_set_object_terms($product_id, $cat_ids, 'product_cat');
                     }
                 }
                 /** Set Product type by default simple */
                 wp_set_object_terms($product_id, 'simple', 'product_type');
                 update_post_meta($product_id, '_regular_price', $price);
                 update_post_meta($product_id, '_sale_price', '');
                 update_post_meta($product_id, '_price', $price);
                 update_post_meta($product_id, '_visibility', 'visible');
                 do_action('dokan_new_product_added', $product_id, $post_data);
                 if (dokan_get_option('product_add_mail', 'dokan_general', 'on') == 'on') {
                     Dokan_Email::init()->new_product_added($product_id, 'draft');
                 }
                 wp_redirect(dokan_edit_product_url($product_id));
                 exit;
             }
         }
     }
     if (isset($_GET['product_id'])) {
         $post_id = intval($_GET['product_id']);
     } else {
         global $post, $product;
         if (!empty($post)) {
             $post_id = $post->ID;
         }
     }
     if (isset($_POST['update_product']) && wp_verify_nonce($_POST['dokan_edit_product_nonce'], 'dokan_edit_product')) {
         $post_title = trim($_POST['post_title']);
         if (empty($post_title)) {
             $errors[] = __('Please enter product title', 'dokan');
         }
         if (dokan_get_option('product_category_style', 'dokan_selling', 'single') == 'single') {
             $product_cat = intval($_POST['product_cat']);
             if ($product_cat < 0) {
                 $errors[] = __('Please select a category', 'dokan');
             }
         } else {
             if (!isset($_POST['product_cat']) && empty($_POST['product_cat'])) {
                 $errors[] = __('Please select atleast one category', 'dokan');
             }
         }
         self::$errors = apply_filters('dokan_can_edit_product', $errors);
         if (!self::$errors) {
             $product_status = dokan_get_new_post_status();
             $product_info = array('ID' => $post_id, 'post_title' => sanitize_text_field($_POST['post_title']), 'post_content' => $_POST['post_content'], 'post_excerpt' => $_POST['post_excerpt'], 'post_status' => isset($_POST['post_status']) ? $_POST['post_status'] == 'draft' ? $product_status : $_POST['post_status'] : 'pending', 'comment_status' => isset($_POST['_enable_reviews']) ? 'open' : 'closed');
             wp_update_post($product_info);
             /** Set Product tags */
             if (isset($_POST['product_tag'])) {
                 $tags_ids = array_map('intval', (array) $_POST['product_tag']);
             } else {
                 $tags_ids = array();
             }
             wp_set_object_terms($post_id, $tags_ids, 'product_tag');
             /** set product category * */
             if (dokan_get_option('product_category_style', 'dokan_selling', 'single') == 'single') {
                 wp_set_object_terms($post_id, (int) $_POST['product_cat'], 'product_cat');
             } else {
                 if (isset($_POST['product_cat']) && !empty($_POST['product_cat'])) {
                     $cat_ids = array_map('intval', (array) $_POST['product_cat']);
                     wp_set_object_terms($post_id, $cat_ids, 'product_cat');
                 }
             }
             wp_set_object_terms($post_id, 'simple', 'product_type');
             /**  Process all variation products meta */
             dokan_process_product_meta($post_id);
             /** set images **/
             $featured_image = absint($_POST['feat_image_id']);
             if ($featured_image) {
                 set_post_thumbnail($post_id, $featured_image);
             }
             $edit_url = dokan_edit_product_url($post_id);
             wp_redirect(add_query_arg(array('message' => 'success'), $edit_url));
             exit;
         }
     }
 }
Example #3
0
 function handle_all_submit()
 {
     if (!is_user_logged_in()) {
         return;
     }
     if (!dokan_is_user_seller(get_current_user_id())) {
         return;
     }
     $errors = array();
     self::$product_cat = -1;
     self::$post_content = __('Details about your product...', 'dokan');
     if (!$_POST) {
         return;
     }
     if (isset($_POST['add_product']) && wp_verify_nonce($_POST['dokan_add_new_product_nonce'], 'dokan_add_new_product')) {
         $post_title = trim($_POST['post_title']);
         $post_content = trim($_POST['post_content']);
         $post_excerpt = trim($_POST['post_excerpt']);
         $price = floatval($_POST['price']);
         $product_cat = intval($_POST['product_cat']);
         $featured_image = absint($_POST['feat_image_id']);
         if (empty($post_title)) {
             $errors[] = __('Please enter product title', 'dokan');
         }
         if ($product_cat < 0) {
             $errors[] = __('Please select a category', 'dokan');
         }
         self::$errors = apply_filters('dokan_can_add_product', $errors);
         if (!self::$errors) {
             $post_data = apply_filters('dokan_insert_product_post_data', array('post_type' => 'product', 'post_status' => 'publish', 'post_title' => $post_title, 'post_content' => $post_content, 'post_excerpt' => $post_excerpt));
             $product_id = wp_insert_post($post_data);
             if ($product_id) {
                 /** set images **/
                 if ($featured_image) {
                     set_post_thumbnail($product_id, $featured_image);
                 }
                 /** set product category * */
                 wp_set_object_terms($product_id, (int) $_POST['product_cat'], 'product_cat');
                 wp_set_object_terms($product_id, 'simple', 'product_type');
                 update_post_meta($product_id, '_regular_price', $price);
                 update_post_meta($product_id, '_sale_price', '');
                 update_post_meta($product_id, '_price', $price);
                 update_post_meta($product_id, '_visibility', 'visible');
                 do_action('dokan_new_product_added', $product_id, $post_data);
                 Dokan_Email::init()->new_product_added($product_id, 'publish');
                 wp_redirect(dokan_edit_product_url($product_id));
                 exit;
             }
         }
     }
     if (isset($_GET['product_id'])) {
         $post_id = intval($_GET['product_id']);
     } else {
         global $post, $product;
         if (!empty($post)) {
             $post_id = $post->ID;
         }
     }
     if (isset($_POST['update_product']) && wp_verify_nonce($_POST['dokan_edit_product_nonce'], 'dokan_edit_product')) {
         $product_info = array('ID' => $post_id, 'post_title' => sanitize_text_field($_POST['post_title']), 'post_content' => $_POST['post_content'], 'post_excerpt' => $_POST['post_excerpt'], 'post_status' => isset($_POST['post_status']) ? $_POST['post_status'] : 'pending', 'comment_status' => isset($_POST['_enable_reviews']) ? 'open' : 'closed');
         wp_update_post($product_info);
         /** set product category * */
         wp_set_object_terms($post_id, (int) $_POST['product_cat'], 'product_cat');
         wp_set_object_terms($post_id, 'simple', 'product_type');
         dokan_process_product_meta($post_id);
         /** set images **/
         $featured_image = absint($_POST['feat_image_id']);
         if ($featured_image) {
             set_post_thumbnail($post_id, $featured_image);
         }
         $edit_url = dokan_edit_product_url($post_id);
         wp_redirect(add_query_arg(array('message' => 'success'), $edit_url));
         exit;
     }
 }