/**
  * Init form
  */
 public static function init()
 {
     add_action('wp', array(__CLASS__, 'process'));
     self::$steps = (array) apply_filters('submit_resume_steps', array('submit' => array('name' => __('Submit Details', 'wp-job-manager-resumes'), 'view' => array(__CLASS__, 'submit'), 'handler' => array(__CLASS__, 'submit_handler'), 'priority' => 10), 'preview' => array('name' => __('Preview', 'wp-job-manager-resumes'), 'view' => array(__CLASS__, 'preview'), 'handler' => array(__CLASS__, 'preview_handler'), 'priority' => 20), 'done' => array('name' => __('Done', 'wp-job-manager-resumes'), 'view' => array(__CLASS__, 'done'), 'handler' => array(__CLASS__, 'application_handler'), 'priority' => 30), 'application_done' => array('name' => __('Application', 'wp-job-manager-resumes'), 'view' => array(__CLASS__, 'application_done'), 'priority' => 40)));
     uasort(self::$steps, array(__CLASS__, 'sort_by_priority'));
     // Get step/resume
     if (!empty($_REQUEST['step'])) {
         self::$step = is_numeric($_REQUEST['step']) ? max(absint($_REQUEST['step']), 0) : array_search($_REQUEST['step'], array_keys(self::$steps));
     }
     self::$resume_id = !empty($_REQUEST['resume_id']) ? absint($_REQUEST['resume_id']) : 0;
     self::$job_id = !empty($_REQUEST['job_id']) ? absint($_REQUEST['job_id']) : 0;
     if (self::$resume_id) {
         $resume_status = get_post_status(self::$resume_id);
         if ('expired' === $resume_status) {
             if (!resume_manager_user_can_edit_resume(self::$resume_id)) {
                 self::$resume_id = 0;
                 self::$job_id = 0;
                 self::$step = 0;
             }
         } elseif (!in_array($resume_status, apply_filters('resume_manager_valid_submit_resume_statuses', array('preview')))) {
             self::$resume_id = 0;
             self::$job_id = 0;
             self::$step = 0;
         }
     }
 }