/** * Handle the form when the preview page is submitted */ public static function preview_handler() { if (!$_POST) { return; } if (version_compare(JOB_MANAGER_VERSION, '1.22.0', '<')) { // Edit = show submit form again if (!empty($_POST['edit_job'])) { WP_Job_Manager_Form_Submit_Job::previous_step(); } // Continue to the next step if (!empty($_POST['continue'])) { $job = get_post(WP_Job_Manager_Form_Submit_Job::get_job_id()); // Update job status to pending_payment if ($job->post_status == 'preview') { $update_job = array(); $update_job['ID'] = $job->ID; $update_job['post_status'] = 'pending_payment'; wp_update_post($update_job); } // If we're already chosen a package, apply its properties to the job here and add to cart if ('before' === get_option('job_manager_paid_listings_flow')) { // Validate Selected Package $validation = self::validate_package(self::$package_id, self::$is_user_package); if (is_wp_error($validation)) { WP_Job_Manager_Form_Submit_Job::add_error($validation->get_error_message()); WP_Job_Manager_Form_Submit_Job::previous_step(); WP_Job_Manager_Form_Submit_Job::previous_step(); return; } self::process_package(self::$package_id, self::$is_user_package, WP_Job_Manager_Form_Submit_Job::get_job_id()); WP_Job_Manager_Form_Submit_Job::next_step(); // Proceeed to the choose package step if the above did not redirect } else { WP_Job_Manager_Form_Submit_Job::next_step(); } } } else { $form = WP_Job_Manager_Form_Submit_Job::instance(); // Edit = show submit form again if (!empty($_POST['edit_job'])) { $form->previous_step(); } // Continue to the next step if (!empty($_POST['continue'])) { $job = get_post($form->get_job_id()); // Update job status to pending_payment if ($job->post_status == 'preview') { $update_job = array(); $update_job['ID'] = $job->ID; $update_job['post_status'] = 'pending_payment'; wp_update_post($update_job); } // If we're already chosen a package, apply its properties to the job here and add to cart if ('before' === get_option('job_manager_paid_listings_flow')) { // Validate Selected Package $validation = self::validate_package(self::$package_id, self::$is_user_package); if (is_wp_error($validation)) { $form->add_error($validation->get_error_message()); $form->previous_step(); $form->previous_step(); return; } self::process_package(self::$package_id, self::$is_user_package, $form->get_job_id()); $form->next_step(); // Proceeed to the choose package step if the above did not redirect } else { $form->next_step(); } } } }