Example #1
0
 /**
  * process_form
  * Process any form submissions.
  *
  * @access public
  * @static
  * @since 1.0
  */
 public static function process_form()
 {
     if (self::valid() && !piklist_admin::is_widget() && !piklist_admin::is_setting()) {
         $form_id = isset($_REQUEST[piklist::$prefix]['form_id']) ? $_REQUEST[piklist::$prefix]['form_id'] : false;
         if ($form_id) {
             self::$form_id = $form_id;
         }
         if (self::save()) {
             $redirect = isset($_REQUEST[piklist::$prefix]['redirect']) ? $_REQUEST[piklist::$prefix]['redirect'] : false;
             if ($redirect) {
                 $redirect = preg_replace('/#.*/', '', $redirect);
                 $url_arguments = array();
                 foreach (self::$form_submission as $scope => $fields) {
                     foreach ($fields as $field) {
                         if ($field['redirect']) {
                             $url_arguments[$field['name']] = current($field['request_value']);
                         }
                     }
                 }
                 if (!empty($url_arguments)) {
                     $redirect .= (stristr($redirect, '?') ? '&' : '?') . http_build_query($url_arguments);
                 }
                 wp_redirect($redirect);
                 exit;
             }
         }
     }
 }