/** * 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; } } } }