/**
  * 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();
             }
         }
     }
 }
Esempio n. 2
0
 function wpjm()
 {
     if (!$this->wpjm) {
         $this->wpjm = WP_Job_Manager_Form_Submit_Job::instance();
     }
     return $this->wpjm;
 }
Esempio n. 3
0
/**
 * Preview View
 *
 * The default "Preview" view in WP Job Manager adds a little extra and doesn't
 * use the exact template file that displays what we need. Override it here.
 *
 * @since Jobify 1.6.0
 *
 * @return void
 */
function jobify_preview_handler()
{
    global $job_manager, $post;
    if (version_compare(JOB_MANAGER_VERSION, '1.22.0', '<')) {
        $job_id = WP_Job_Manager_Form_Submit_Job::get_job_id();
        $step = WP_Job_Manager_Form_Submit_Job::get_step();
        $form_name = WP_Job_Manager_Form_Submit_Job::$form_name;
    } else {
        $form = WP_Job_Manager_Form_Submit_Job::instance();
        $job_id = $form->get_job_id();
        $step = $form->get_step();
        $form_name = $form->form_name;
    }
    if ($job_id) {
        $post = get_post($job_id);
        setup_postdata($post);
        ?>
		<form method="post" id="job_preview">
			<div class="job_listing_preview_title">
				<input type="submit" name="continue" id="job_preview_submit_button" class="button" value="<?php 
        echo apply_filters('submit_job_step_preview_submit_text', __('Submit Listing &rarr;', 'jobify'));
        ?>
" />
				<input type="submit" name="edit_job" class="button" value="<?php 
        esc_attr_e('&larr; Edit listing', 'jobify');
        ?>
" />
				<input type="hidden" name="job_id" value="<?php 
        echo esc_attr($job_id);
        ?>
" />
				<input type="hidden" name="step" value="<?php 
        echo esc_attr($step);
        ?>
" />
				<input type="hidden" name="job_manager_form" value="<?php 
        echo $form_name;
        ?>
" />
			</div>
			<?php 
        get_job_manager_template_part('content-single', 'job');
        ?>
		</form>
		<?php 
        wp_reset_postdata();
    }
}
Esempio n. 4
0
/**
 * Output Preview Step for WP Job Manager Submit Form
 */
function listable_submit_form_preview()
{
    global $post, $job_preview;
    $instance = WP_Job_Manager_Form_Submit_Job::instance();
    if ($instance->get_job_id()) {
        $job_preview = true;
        $action = $instance->get_action();
        $post = get_post($instance->get_job_id());
        setup_postdata($post);
        $post->post_status = 'preview';
        ?>
		<form method="post" id="job_preview" action="<?php 
        echo esc_url($action);
        ?>
">
			<div class="job_listing_preview_title">
				<input type="submit" name="continue" id="job_preview_submit_button" class="button job-manager-button-submit-listing" value="<?php 
        echo apply_filters('submit_job_step_preview_submit_text', __('Submit Listing', 'listable'));
        ?>
"/>
				<input type="submit" name="edit_job" class="button job-manager-button-edit-listing" value="<?php 
        _e('Edit listing', 'wp-job-manager');
        ?>
"/>
				<input type="hidden" name="job_id" value="<?php 
        echo esc_attr($instance->get_job_id());
        ?>
"/>
				<input type="hidden" name="step" value="<?php 
        echo esc_attr($instance->get_step());
        ?>
"/>
				<input type="hidden" name="job_manager_form" value="<?php 
        echo $instance->form_name;
        ?>
"/>

				<h2>
					<?php 
        _e('Preview', 'listable');
        ?>
				</h2>
			</div>
			<?php 
        get_job_manager_template_part('content-single', 'job_listing-preview');
        ?>
		</form>
		<?php 
        wp_reset_postdata();
    }
}