/** * Main Instance */ public static function instance() { if (is_null(self::$_instance)) { self::$_instance = new self(); } return self::$_instance; }
function wprm() { if (!$this->wprm) { $this->wprm = WP_Resume_Manager_Form_Submit_Resume::instance(); } return $this->wprm; }
/** * Update or create a job listing from posted data * * @param string $post_title * @param string $post_content * @param string $status */ protected static function save_resume($post_title, $post_content, $status = 'preview', $values = array()) { $resume_slug = array(); // Prepend with unqiue key if (self::$resume_id) { $prefix = get_post_meta(self::$resume_id, '_resume_name_prefix', true); if (!$prefix) { $prefix = wp_generate_password(10); } $resume_slug[] = $prefix; } else { $prefix = wp_generate_password(10); $resume_slug[] = $prefix; } $resume_slug[] = $post_title; $data = apply_filters('submit_resume_form_save_resume_data', array('post_title' => $post_title, 'post_content' => $post_content, 'post_type' => 'resume', 'comment_status' => 'closed', 'post_password' => '', 'post_name' => sanitize_title(implode('-', $resume_slug))), $post_title, $post_content, $status, $values); if ($status) { $data['post_status'] = $status; } if (self::$resume_id) { $data['ID'] = self::$resume_id; wp_update_post($data); } else { self::$resume_id = wp_insert_post($data); update_post_meta(self::$resume_id, '_resume_name_prefix', $prefix); // Save profile fields $current_user = wp_get_current_user(); $candidate_name = explode(' ', $post_title); if (empty($current_user->first_name) && empty($current_user->last_name) && sizeof($candidate_name) > 1) { wp_update_user(array('ID' => $current_user->ID, 'first_name' => current($candidate_name), 'last_name' => end($candidate_name))); } } }
<fieldset class="fieldset-<?php esc_attr_e($subkey); ?> "> <label for="<?php esc_attr_e($subkey); ?> "><?php echo $subfield['label'] . ($subfield['required'] ? '' : ' <small>' . __('(optional)', 'wp-job-manager-resumes') . '</small>'); ?> </label> <div class="field"> <?php // Get name and value $subfield['name'] = 'candidate_education_' . $subkey . '[]'; WP_Resume_Manager_Form_Submit_Resume::get_field_template($subkey, $subfield); ?> </div> </fieldset> <?php } ?> </div> <?php echo esc_attr(ob_get_clean()); ?> ">+ <?php _e('Add Education', 'wp-job-manager-resumes'); ?> </a> <?php
/** * Handle the form when the preview page is submitted */ public static function preview_handler() { if (!$_POST) { return; } if (version_compare(RESUME_MANAGER_VERSION, '1.11.0', '<')) { // Edit = show submit form again if (!empty($_POST['edit_resume'])) { WP_Resume_Manager_Form_Submit_Resume::previous_step(); } // Continue to the next step if (!empty($_POST['continue'])) { $resume = get_post(WP_Resume_Manager_Form_Submit_Resume::get_resume_id()); // Update resume status to pending_payment if ($resume->post_status == 'preview') { $update_resume = array(); $update_resume['ID'] = $resume->ID; $update_resume['post_status'] = 'pending_payment'; wp_update_post($update_resume); } // If we're already chosen a package, apply its properties to the job here and add to cart if ('before' === get_option('resume_manager_paid_listings_flow')) { // Validate Selected Package $validation = self::validate_package(self::$package_id, self::$is_user_package); if (is_wp_error($validation)) { WP_Resume_Manager_Form_Submit_Resume::add_error($validation->get_error_message()); WP_Resume_Manager_Form_Submit_Resume::previous_step(); WP_Resume_Manager_Form_Submit_Resume::previous_step(); } self::process_package(self::$package_id, self::$is_user_package, WP_Resume_Manager_Form_Submit_Resume::get_resume_id()); WP_Resume_Manager_Form_Submit_Resume::next_step(); // Proceeed to the choose package step if the above did not redirect } else { WP_Resume_Manager_Form_Submit_Resume::next_step(); } } } else { $form = WP_Resume_Manager_Form_Submit_Resume::instance(); // Edit = show submit form again if (!empty($_POST['edit_resume'])) { $form->previous_step(); } // Continue to the next step if (!empty($_POST['continue'])) { $resume = get_post($form->get_resume_id()); // Update resume status to pending_payment if ($resume->post_status == 'preview') { $update_resume = array(); $update_resume['ID'] = $resume->ID; $update_resume['post_status'] = 'pending_payment'; wp_update_post($update_resume); } // If we're already chosen a package, apply its properties to the job here and add to cart if ('before' === get_option('resume_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(); } self::process_package(self::$package_id, self::$is_user_package, $form->get_resume_id()); $form->next_step(); // Proceeed to the choose package step if the above did not redirect } else { $form->next_step(); } } } }