/**
  * Init form
  */
 public static function init()
 {
     add_action('wp', array(__CLASS__, 'process'));
     self::$steps = (array) apply_filters('submit_job_steps', array('submit' => array('name' => __('Submit Details', 'wp-job-manager'), 'view' => array(__CLASS__, 'submit'), 'handler' => array(__CLASS__, 'submit_handler'), 'priority' => 10), 'preview' => array('name' => __('Preview', 'wp-job-manager'), 'view' => array(__CLASS__, 'preview'), 'handler' => array(__CLASS__, 'preview_handler'), 'priority' => 20), 'done' => array('name' => __('Done', 'wp-job-manager'), 'view' => array(__CLASS__, 'done'), 'priority' => 30)));
     uasort(self::$steps, array(__CLASS__, 'sort_by_priority'));
     // Get step/job
     if (isset($_POST['step'])) {
         self::$step = is_numeric($_POST['step']) ? max(absint($_POST['step']), 0) : array_search($_POST['step'], array_keys(self::$steps));
     } elseif (!empty($_GET['step'])) {
         self::$step = is_numeric($_GET['step']) ? max(absint($_GET['step']), 0) : array_search($_GET['step'], array_keys(self::$steps));
     }
     self::$job_id = !empty($_REQUEST['job_id']) ? absint($_REQUEST['job_id']) : 0;
     if (self::$job_id) {
         $job_status = get_post_status(self::$job_id);
         if ('expired' === $job_status) {
             if (!job_manager_user_can_edit_job(self::$job_id)) {
                 self::$job_id = 0;
                 self::$step = 0;
             }
         } elseif (!in_array($job_status, apply_filters('job_manager_valid_submit_job_statuses', array('preview')))) {
             self::$job_id = 0;
             self::$step = 0;
         }
     }
 }