本文整理汇总了PHP中GVCommon::gv_parse_str方法的典型用法代码示例。如果您正苦于以下问题:PHP GVCommon::gv_parse_str方法的具体用法?PHP GVCommon::gv_parse_str怎么用?PHP GVCommon::gv_parse_str使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GVCommon
的用法示例。
在下文中一共展示了GVCommon::gv_parse_str方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save_postdata
/**
* Save View configuration
*
* @access public
* @param mixed $post_id
* @return void
*/
function save_postdata($post_id)
{
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
// validate post_type
if (!isset($_POST['post_type']) || 'gravityview' != $_POST['post_type']) {
return;
}
// validate user can edit and save post/page
if ('page' == $_POST['post_type']) {
if (!current_user_can('edit_page', $post_id)) {
return;
}
} else {
if (!current_user_can('edit_post', $post_id)) {
return;
}
}
do_action('gravityview_log_debug', '[save_postdata] Saving View post type.', $_POST);
$statii = array();
// check if this is a start fresh View
if (isset($_POST['gravityview_select_form_nonce']) && wp_verify_nonce($_POST['gravityview_select_form_nonce'], 'gravityview_select_form')) {
$form_id = !empty($_POST['gravityview_form_id']) ? $_POST['gravityview_form_id'] : '';
// save form id
$statii['form_id'] = update_post_meta($post_id, '_gravityview_form_id', $form_id);
}
// Was this a start fresh?
if (!empty($_POST['gravityview_form_id_start_fresh'])) {
$statii['start_fresh'] = add_post_meta($post_id, '_gravityview_start_fresh', 1);
} else {
$statii['start_fresh'] = delete_post_meta($post_id, '_gravityview_start_fresh');
}
// Check if we have a template id
if (isset($_POST['gravityview_select_template_nonce']) && wp_verify_nonce($_POST['gravityview_select_template_nonce'], 'gravityview_select_template')) {
$template_id = !empty($_POST['gravityview_directory_template']) ? $_POST['gravityview_directory_template'] : '';
// now save template id
$statii['directory_template'] = update_post_meta($post_id, '_gravityview_directory_template', $template_id);
}
// save View Configuration metabox
if (isset($_POST['gravityview_view_configuration_nonce']) && wp_verify_nonce($_POST['gravityview_view_configuration_nonce'], 'gravityview_view_configuration')) {
// template settings
if (empty($_POST['template_settings'])) {
$_POST['template_settings'] = array();
}
$statii['template_settings'] = update_post_meta($post_id, '_gravityview_template_settings', $_POST['template_settings']);
$fields = array();
// Directory&single Visible Fields
if (!empty($preset_fields)) {
$fields = $preset_fields;
} elseif (!empty($_POST['fields'])) {
if (!is_array($_POST['fields'])) {
// Fields are passed as a jQuery-serialized array, created in admin-views.js in the serializeForm method
// Not using parse_str due to max_input_vars limitation
$fields_holder = array();
GVCommon::gv_parse_str($_POST['fields'], $fields_holder);
if (isset($fields_holder['fields'])) {
// When parsed, there's a m
$fields = $fields_holder['fields'];
} else {
do_action('gravityview_log_error', '[save_postdata] No `fields` key was found after parsing $fields string', $fields_holder);
}
} else {
$fields = $_POST['fields'];
}
}
$statii['directory_fields'] = update_post_meta($post_id, '_gravityview_directory_fields', $fields);
// Directory Visible Widgets
if (empty($_POST['widgets'])) {
$_POST['widgets'] = array();
}
$statii['directory_widgets'] = update_post_meta($post_id, '_gravityview_directory_widgets', $_POST['widgets']);
}
// end save view configuration
do_action('gravityview_log_debug', '[save_postdata] Update Post Meta Statuses (also returns false if nothing changed)', array_map('intval', $statii));
}
示例2: _gravityview_process_posted_fields
/**
* Maybe convert jQuery-serialized fields into array, otherwise return $_POST['fields'] array
*
* Fields are passed as a jQuery-serialized array, created in admin-views.js in the serializeForm method.
*
* @since 1.16.5
*
* @uses GVCommon::gv_parse_str
*
* @return array Array of fields
*/
function _gravityview_process_posted_fields()
{
$fields = array();
if (!empty($_POST['fields'])) {
if (!is_array($_POST['fields'])) {
// We are not using parse_str() due to max_input_vars limitation with large View configurations
$fields_holder = array();
GVCommon::gv_parse_str($_POST['fields'], $fields_holder);
if (isset($fields_holder['fields'])) {
$fields = $fields_holder['fields'];
} else {
do_action('gravityview_log_error', '[save_postdata] No `fields` key was found after parsing $fields string', $fields_holder);
}
} else {
$fields = $_POST['fields'];
}
}
return $fields;
}