/** * Editor callback form submit. */ function wpcf_fields_url_editor_submit($data, $field, $context) { $add = ''; if (!empty($data['title'])) { $add .= ' title="' . strval($data['title']) . '"'; } if (!empty($data['no_protocol'])) { $add .= ' no_protocol="true"'; } if (!empty($data['target'])) { if ($data['target'] == 'framename') { $add .= ' target="' . strval($data['framename']) . '"'; } else { if ($data['target'] != '_self') { $add .= ' target="' . strval($data['target']) . '"'; } } } if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }
/** * Editor callback form submit. */ function wpcf_fields_checkboxes_editor_submit() { $add = ''; $field = wpcf_admin_fields_get_field($_GET['field_id']); $shortcode = ''; if (!empty($field)) { if (!empty($_POST['options'])) { if ($_POST['display'] == 'display_all') { $separator = !empty($_POST['separator']) ? $_POST['separator'] : ''; $shortcode .= '[types field="' . $field['slug'] . '" separator="' . $separator . '"]' . '[/types] '; } else { $i = 0; foreach ($_POST['options'] as $option_key => $option) { if ($_POST['display'] == 'value') { $shortcode .= '[types field="' . $field['slug'] . '" option="' . $i . '" state="checked"]' . $option['display_value_selected'] . '[/types] '; $shortcode .= '[types field="' . $field['slug'] . '" option="' . $i . '" state="unchecked"]' . $option['display_value_not_selected'] . '[/types] '; } else { $add = ' option="' . $i . '"'; $shortcode .= wpcf_fields_get_shortcode($field, $add) . ' '; } $i++; } } } echo editor_admin_popup_insert_shortcode_js($shortcode); die; } }
/** * Editor callback form submit. */ function wpcf_fields_entry_editor_submit($data, $field, $context) { $shortcode = ''; if (isset($data['display']) && preg_match('/^post-[\\-a-z]+$/', $data['display'])) { $add = sprintf(' display="%s"', $data['display']); if ($context == 'usermeta') { $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } } return $shortcode; }
/** * Editor callback form submit. */ function wpcf_fields_email_editor_submit() { $add = ''; if (!empty($_POST['title'])) { $add = ' title="' . strval($_POST['title']) . '"'; } $field = wpcf_admin_fields_get_field($_GET['field_id']); if (!empty($field)) { $shortcode = wpcf_fields_get_shortcode($field, $add); wpcf_admin_fields_save_field_last_settings($_GET['field_id'], $_POST); echo wpcf_admin_fields_popup_insert_shortcode_js($shortcode); die; } }
/** * Editor submit. */ function wpcf_fields_skype_editor_submit($data, $field, $context) { $add = ''; if (!empty($data['button_style'])) { $add .= ' button_style="' . strval($data['button_style']) . '"'; } if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }
/** * Editor callback form submit. */ function wpcf_fields_url_editor_submit() { $add = ''; if (!empty($_POST['title'])) { $add .= ' title="' . strval($_POST['title']) . '"'; } $add .= ' class=""'; $field = wpcf_admin_fields_get_field($_GET['field_id']); if (!empty($field)) { $shortcode = wpcf_fields_get_shortcode($field, $add); echo wpcf_admin_fields_popup_insert_shortcode_js($shortcode); die; } }
/** * Editor callback form submit. */ function wpcf_fields_numeric_editor_submit() { $add = ''; if (!empty($_POST['format'])) { $add .= ' format="' . strval($_POST['format']) . '"'; } $field = wpcf_admin_fields_get_field($_GET['field_id']); if (!empty($field)) { $shortcode = wpcf_fields_get_shortcode($field, $add); wpcf_admin_fields_save_field_last_settings($_GET['field_id'], array('format' => $_POST['format'])); echo editor_admin_popup_insert_shortcode_js($shortcode); die; } }
/** * Editor callback form submit. */ function wpcf_fields_checkbox_editor_submit() { $add = ''; $field = wpcf_admin_fields_get_field($_GET['field_id']); if (!empty($field)) { if ($_POST['display'] == 'value') { $shortcode = '[types field="' . $field['slug'] . '" state="checked"]' . $_POST['display_value_selected'] . '[/types] '; $shortcode .= '[types field="' . $field['slug'] . '" state="unchecked"]' . $_POST['display_value_not_selected'] . '[/types]'; } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } echo wpcf_admin_fields_popup_insert_shortcode_js($shortcode); die; } }
/** * Editor callback form submit. */ function wpcf_fields_radio_editor_submit() { $add = ''; $field = wpcf_admin_fields_get_field($_GET['field_id']); if (!empty($field)) { if ($_POST['display'] == 'value' && !empty($_POST['options'])) { $shortcode = ''; foreach ($_POST['options'] as $option_id => $value) { $shortcode .= '[types field="' . $field['slug'] . '" option="' . $option_id . '"]' . $value . '[/types] '; } } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } echo wpcf_admin_fields_popup_insert_shortcode_js($shortcode); die; } }
/** * Editor callback form submit. */ function wpcf_fields_audio_editor_submit($data, $field, $context) { $add = ''; if (!empty($data['loop'])) { $add .= " loop=\"{$data['loop']}\""; } if (!empty($data['autoplay'])) { $add .= " autoplay=\"{$data['autoplay']}\""; } if (!empty($data['preload'])) { $add .= " preload=\"{$data['preload']}\""; } if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }
/** * Editor callback form submit. */ function wpcf_fields_radio_editor_submit($data, $field, $context) { $add = ''; $types_attr = $context == 'usermeta' ? 'usermeta' : 'field'; if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); } if (isset($data['display']) && $data['display'] == 'value' && !empty($data['options'])) { $shortcode = ''; foreach ($data['options'] as $option_id => $value) { $shortcode .= '[types ' . $types_attr . '="' . $field['slug'] . '" ' . $add . ' option="' . $option_id . '"]' . $value . '[/types] '; } } else { if ($context == 'usermeta') { $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } } return $shortcode; }
/** * Process if submitted. * * Field should provide callback function * that will be called automatically. * * Function should be named like: * 'wpcf_fields_' . $field_type . '_editor_submit' * e.g. 'wpcf_fields_checkbox_editor_submit' * * Function should return shortcode string. */ function _thickbox_check_submit() { if (!empty($_POST['__types_editor_nonce']) && wp_verify_nonce($_POST['__types_editor_nonce'], 'types_editor_frame')) { $function = 'wpcf_fields_' . strtolower($this->field['type']) . '_editor_submit'; if (function_exists($function)) { /* * Callback */ $shortcode = call_user_func($function, $_POST, $this->field, $this->_meta_type); } else { /* * Generic */ if ($this->_meta_type == 'usermeta') { $add = wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($this->field, $add); } else { $shortcode = wpcf_fields_get_shortcode($this->field); } } if (!empty($shortcode)) { /** * remove <script> tag from all data * remove not allowed tags from shortcode using wp_kses_post */ $shortcode = preg_replace('@</?script[^>]*>@im', '', wp_kses_post($shortcode)); // Add additional parameters if required $shortcode = $this->_add_parameters_to_shortcode($shortcode, $_POST); // Insert shortcode echo '<script type="text/javascript">jQuery(function(){tedFrame.close(\'' . $shortcode . '\', \'' . esc_js($shortcode) . '\');});</script>'; } else { echo '<div class="message error"><p>' . __('Shortcode generation failed', 'wpcf') . '</p></div>'; } wpcf_admin_ajax_footer(); die; } }
/** * Editor callback form submit. */ function wpcf_fields_file_editor_submit() { $add = ''; if (!empty($_POST['link'])) { $add .= ' link="true"'; if (!empty($_POST['title'])) { $add .= ' title="' . strval($_POST['title']) . '"'; } } if (!empty($_POST['class'])) { $add .= ' class="' . $_POST['class'] . '"'; } if (!empty($_POST['style'])) { $add .= ' style="' . $_POST['style'] . '"'; } $field = wpcf_admin_fields_get_field($_GET['field_id']); if (!empty($field)) { $shortcode = wpcf_fields_get_shortcode($field, $add); wpcf_admin_fields_save_field_last_settings($_GET['field_id'], $_POST); echo editor_admin_popup_insert_shortcode_js($shortcode); die; } }
/** * Adds items to view dropdown. * * @param type $items * @return type */ function wpcf_admin_post_editor_addon_menus_filter($items) { $groups = wpcf_admin_fields_get_groups(); $add = array(); if (!empty($groups)) { // $group_id is blank therefore not equal to $group['id'] // use array for item key and CSS class $item_styles = array(); $all_post_types = implode(' ', get_post_types(array('public' => true))); foreach ($groups as $group_id => $group) { $fields = wpcf_admin_fields_get_fields_by_group($group['id'], 'slug', true, false, true); if (!empty($fields)) { // code from Types used here without breaking the flow // get post types list for every group or apply all $post_types = get_post_meta($group['id'], '_wp_types_group_post_types', true); if ($post_types == 'all') { $post_types = $all_post_types; } $post_types = trim(str_replace(',', ' ', $post_types)); $item_styles[$group['name']] = $post_types; foreach ($fields as $field_id => $field) { // Get field data $data = wpcf_fields_type_action($field['type']); // Get inherited field if (isset($data['inherited_field_type'])) { $inherited_field_data = wpcf_fields_type_action($data['inherited_field_type']); } $callback = ''; if (isset($data['editor_callback'])) { $callback = sprintf($data['editor_callback'], $field['id']); } else { // Set callback if function exists $function = 'wpcf_fields_' . $field['type'] . '_editor_callback'; $callback = function_exists($function) ? 'wpcfFieldsEditorCallback(\'' . $field['id'] . '\')' : ''; } $add[$group['name']][stripslashes($field['name'])] = array(stripslashes($field['name']), trim(wpcf_fields_get_shortcode($field), '[]'), $group['name'], $callback); // Process JS if (!empty($data['meta_box_js'])) { foreach ($data['meta_box_js'] as $handle => $data_script) { if (isset($data_script['inline'])) { add_action('admin_footer', $data_script['inline']); continue; } $deps = !empty($data_script['deps']) ? $data_script['deps'] : array(); wp_enqueue_script($handle, $data_script['src'], $deps, WPCF_VERSION); } } // Process CSS if (!empty($data['meta_box_css'])) { foreach ($data['meta_box_css'] as $handle => $data_script) { $deps = !empty($data_script['deps']) ? $data_script['deps'] : array(); if (isset($data_script['inline'])) { add_action('admin_header', $data_script['inline']); continue; } wp_enqueue_style($handle, $data_script['src'], $deps, WPCF_VERSION); } } } } } } $search_key = ''; // Iterate all items to be displayed in the "V" menu foreach ($items as $key => $item) { if ($key == __('Basic', 'wpv-views')) { $search_key = 'found'; continue; } if ($search_key == 'found') { $search_key = $key; } if ($key == __('Field', 'wpv-views') && isset($item[trim(wpcf_types_get_meta_prefix(), '-')])) { unset($items[$key][trim(wpcf_types_get_meta_prefix(), '-')]); } } if (empty($search_key) || $search_key == 'found') { $search_key = count($items); } $insert_position = array_search($search_key, array_keys($items)); $part_one = array_slice($items, 0, $insert_position); $part_two = array_slice($items, $insert_position); $items = $part_one + $add + $part_two; // apply CSS styles to each item based on post types foreach ($items as $key => $value) { if (isset($item_styles[$key])) { $items[$key]['css'] = $item_styles[$key]; } else { $items[$key]['css'] = $all_post_types; } } return $items; }
/** * Editor callback form submit. */ function wpcf_fields_embed_editor_submit($data, $field, $context) { $add = ''; if (!empty($data['width'])) { $add .= " width=\"{$data['width']}\""; } if (!empty($data['height'])) { $add .= " height=\"{$data['height']}\""; } if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }
/** * Editor callback form submit. */ function wpcf_fields_video_editor_submit($data, $field, $context) { $add = ''; if (!empty($data['width'])) { $add .= " width=\"{$data['width']}\""; } if (!empty($data['height'])) { $add .= " height=\"{$data['height']}\""; } if (!empty($data['poster'])) { $add .= " poster=\"{$data['poster']}\""; } if (!empty($data['loop'])) { $add .= " loop=\"{$data['loop']}\""; } if (!empty($data['autoplay'])) { $add .= " autoplay=\"{$data['autoplay']}\""; } if (!empty($data['preload'])) { $add .= " preload=\"{$data['preload']}\""; } if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } elseif ($context == 'termmeta') { $add .= wpcf_get_termmeta_form_addon_submit(); $shortcode = wpcf_termmeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }
/** * Editor callback form submit. */ function wpcf_fields_checkbox_editor_submit($data, $field, $context) { $add = ''; $types_attr = 'field'; if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $types_attr = 'usermeta'; } if (isset($data['display']) && $data['display'] == 'value') { $checked_add = $add . ' state="checked"'; $unchecked_add = $add . ' state="unchecked"'; if ($context == 'usermeta') { $shortcode_checked = wpcf_usermeta_get_shortcode($field, $checked_add, $data['selected']); $shortcode_unchecked = wpcf_usermeta_get_shortcode($field, $unchecked_add, $data['not_selected']); } else { $shortcode_checked = wpcf_fields_get_shortcode($field, $checked_add, $data['selected']); $shortcode_unchecked = wpcf_fields_get_shortcode($field, $unchecked_add, $data['not_selected']); } $shortcode = $shortcode_checked . $shortcode_unchecked; } else { if ($context == 'usermeta') { $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } } return $shortcode; }
/** * Adds items to view dropdown. * * @param type $items * @return type */ function wpcf_admin_post_editor_addon_menus_filter($items) { $groups = wpcf_admin_fields_get_groups(); $add = array(); if (!empty($groups)) { foreach ($groups as $group_id => $group) { $fields = wpcf_admin_fields_get_fields_by_group($group['id'], 'slug', true, false, true); if (!empty($fields)) { foreach ($fields as $field_id => $field) { // Get field data $data = wpcf_fields_type_action($field['type']); // Get inherited field if (isset($data['inherited_field_type'])) { $inherited_field_data = wpcf_fields_type_action($data['inherited_field_type']); } $callback = ''; if (isset($data['editor_callback'])) { $callback = sprintf($data['editor_callback'], $field['id']); } else { // Set callback if function exists $function = 'wpcf_fields_' . $field['type'] . '_editor_callback'; $callback = function_exists($function) ? 'wpcfFieldsEditorCallback(\'' . $field['id'] . '\')' : ''; } $add[$group['name']][stripslashes($field['name'])] = array(stripslashes($field['name']), trim(wpcf_fields_get_shortcode($field), '[]'), $group['name'], $callback); // Process JS if (!empty($data['meta_box_js'])) { foreach ($data['meta_box_js'] as $handle => $data_script) { if (isset($data_script['inline'])) { add_action('admin_footer', $data_script['inline']); continue; } $deps = !empty($data_script['deps']) ? $data_script['deps'] : array(); wp_enqueue_script($handle, $data_script['src'], $deps, WPCF_VERSION); } } // Process CSS if (!empty($data['meta_box_css'])) { foreach ($data['meta_box_css'] as $handle => $data_script) { $deps = !empty($data_script['deps']) ? $data_script['deps'] : array(); if (isset($data_script['inline'])) { add_action('admin_header', $data_script['inline']); continue; } wp_enqueue_style($handle, $data_script['src'], $deps, WPCF_VERSION); } } } } } } $search_key = ''; foreach ($items as $key => $item) { if ($key == __('Basic', 'wpv-views')) { $search_key = 'found'; continue; } if ($search_key == 'found') { $search_key = $key; } if ($key == __('Field', 'wpv-views') && isset($item[trim(wpcf_types_get_meta_prefix(), '-')])) { unset($items[$key][trim(wpcf_types_get_meta_prefix(), '-')]); } } if (empty($search_key) || $search_key == 'found') { $search_key = count($items); } $insert_position = array_search($search_key, array_keys($items)); $part_one = array_slice($items, 0, $insert_position); $part_two = array_slice($items, $insert_position); $items = $part_one + $add + $part_two; return $items; }
/** * Inserts shortcode in editor. * * @return type */ function wpcf_fields_date_editor_form_submit() { require_once WPCF_EMBEDDED_INC_ABSPATH . '/fields.php'; if (!isset($_POST['wpcf']['field_id'])) { return false; } $field = wpcf_admin_fields_get_field($_POST['wpcf']['field_id']); if (empty($field)) { return false; } $add = ' '; $style = isset($_POST['wpcf']['style']) ? $_POST['wpcf']['style'] : 'text'; $add .= 'style="' . $style . '"'; $format = ''; if ($style == 'text') { if ($_POST['wpcf']['format'] == 'custom') { $format = $_POST['wpcf']['format-custom']; } else { $format = $_POST['wpcf']['format']; } if (empty($format)) { $format = get_option('date_format'); } $add .= ' format="' . $format . '"'; } $shortcode = wpcf_fields_get_shortcode($field, $add); wpcf_admin_fields_save_field_last_settings($_POST['wpcf']['field_id'], array('style' => $style, 'format' => $_POST['wpcf']['format'], 'format-custom' => $_POST['wpcf']['format-custom'])); echo editor_admin_popup_insert_shortcode_js($shortcode); die; }
/** * Adds items to view dropdown. * * Core function. Works and stable. Do not move or change. * If required, add hooks only. * * @todo Remove (to WPCF_WPViews) * * @param type $menu * @return type */ function wpcf_admin_post_editor_addon_menus_filter($menu) { global $wpcf; $post = wpcf_admin_get_edited_post(); if (empty($post)) { $post = (object) array('ID' => -1); } $groups = wpcf_admin_fields_get_groups('wp-types-group', 'group_active'); $all_post_types = implode(' ', get_post_types(array('public' => true))); $add = array(); if (!empty($groups)) { // $group_id is blank therefore not equal to $group['id'] // use array for item key and CSS class $item_styles = array(); foreach ($groups as $group_id => $group) { $fields = wpcf_admin_fields_get_fields_by_group($group['id'], 'slug', true, false, true); if (!empty($fields)) { // code from Types used here without breaking the flow // get post types list for every group or apply all $post_types = get_post_meta($group['id'], '_wp_types_group_post_types', true); if ($post_types == 'all') { $post_types = $all_post_types; } $post_types = trim(str_replace(',', ' ', $post_types)); $item_styles[$group['name']] = $post_types; foreach ($fields as $field_id => $field) { // Use field class $wpcf->field->set($wpcf->post, $field); // Get field data $data = (array) $wpcf->field->config; // Get inherited field if (isset($data['inherited_field_type'])) { $inherited_field_data = wpcf_fields_type_action($data['inherited_field_type']); } $callback = 'wpcfFieldsEditorCallback(\'' . $field['id'] . '\', \'postmeta\', ' . $post->ID . ')'; $menu[$group['name']][stripslashes($field['name'])] = array(stripslashes($field['name']), trim(wpcf_fields_get_shortcode($field), '[]'), $group['name'], $callback); /* * Since Types 1.2 * We use field class to enqueue JS and CSS */ $wpcf->field->enqueue_script(); $wpcf->field->enqueue_style(); } } } } /* $search_key = ''; // Iterate all items to be displayed in the "V" menu foreach ( $items as $key => $item ) { if ( $key == __( 'Basic', 'wpv-views' ) ) { $search_key = 'found'; continue; } if ( $search_key == 'found' ) { $search_key = $key; } if ( $key == __( 'Field', 'wpv-views' ) && isset( $item[trim( wpcf_types_get_meta_prefix(), '-' )] ) ) { unset( $items[$key][trim( wpcf_types_get_meta_prefix(), '-' )] ); } } if ( empty( $search_key ) || $search_key == 'found' ) { $search_key = count( $items ); } $insert_position = array_search( $search_key, array_keys( $items ) ); $part_one = array_slice( $items, 0, $insert_position ); $part_two = array_slice( $items, $insert_position ); $items = $part_one + $add + $part_two; // apply CSS styles to each item based on post types foreach ( $items as $key => $value ) { if ( isset( $item_styles[$key] ) ) { $items[$key]['css'] = $item_styles[$key]; } else { $items[$key]['css'] = $all_post_types; } } */ return $menu; }
/** * Adds items to view dropdown. * * Core function. Works and stable. Do not move or change. * If required, add hooks only. * * @todo Remove (to WPCF_WPViews) * * @param type $menu * @return type */ function wpcf_admin_post_editor_addon_menus_filter($menu) { global $wpcf; $post = wpcf_admin_get_edited_post(); if (empty($post)) { $post = (object) array('ID' => -1); } $groups = wpcf_admin_fields_get_groups(TYPES_CUSTOM_FIELD_GROUP_CPT_NAME, 'group_active'); $all_post_types = implode(' ', get_post_types(array('public' => true))); $add = array(); if (!empty($groups)) { // $group_id is blank therefore not equal to $group['id'] // use array for item key and CSS class $item_styles = array(); foreach ($groups as $group_id => $group) { $fields = wpcf_admin_fields_get_fields_by_group($group['id'], 'slug', true, false, true); if (!empty($fields)) { // code from Types used here without breaking the flow // get post types list for every group or apply all $post_types = get_post_meta($group['id'], '_wp_types_group_post_types', true); if ($post_types == 'all') { $post_types = $all_post_types; } $post_types = trim(str_replace(',', ' ', $post_types)); $item_styles[$group['name']] = $post_types; foreach ($fields as $field_id => $field) { // Use field class $wpcf->field->set($wpcf->post, $field); // Get field data $data = (array) $wpcf->field->config; // Get inherited field if (isset($data['inherited_field_type'])) { $inherited_field_data = wpcf_fields_type_action($data['inherited_field_type']); } $callback = 'wpcfFieldsEditorCallback(\'' . $field['id'] . '\', \'postmeta\', ' . $post->ID . ')'; $menu[$group['name']][stripslashes($field['name'])] = array(stripslashes($field['name']), trim(wpcf_fields_get_shortcode($field), '[]'), $group['name'], $callback); /* * Since Types 1.2 * We use field class to enqueue JS and CSS */ $wpcf->field->enqueue_script(); $wpcf->field->enqueue_style(); } } } } return $menu; }
/** * Adds items to view dropdown. * * @param type $items * @return type */ public static function editorDropdownFilter($menu) { $post = wpcf_admin_get_edited_post(); if (empty($post)) { $post = (object) array('ID' => -1); } $groups = wpcf_admin_fields_get_groups('wp-types-group', 'group_active'); $all_post_types = implode(' ', get_post_types(array('public' => true))); $add = array(); if (!empty($groups)) { // $group_id is blank therefore not equal to $group['id'] // use array for item key and CSS class $item_styles = array(); foreach ($groups as $group) { $fields = wpcf_admin_fields_get_fields_by_group($group['id'], 'slug', true, false, true); if (!empty($fields)) { // code from Types used here without breaking the flow // get post types list for every group or apply all $post_types = get_post_meta($group['id'], '_wp_types_group_post_types', true); if ($post_types == 'all') { $post_types = $all_post_types; } $post_types = trim(str_replace(',', ' ', $post_types)); $item_styles[$group['name']] = $post_types; foreach ($fields as $field) { $callback = 'wpcfFieldsEditorCallback(\'' . $field['id'] . '\', \'postmeta\', ' . $post->ID . ')'; $menu[$group['name']][stripslashes($field['name'])] = array(stripslashes($field['name']), trim(wpcf_fields_get_shortcode($field), '[]'), $group['name'], $callback); // TODO Remove - it's not post edit screen (meta box JS and CSS) WPCF_Fields::enqueueScript($field['type']); WPCF_Fields::enqueueStyle($field['type']); } } } } return $menu; }
/** * Editor callback form submit. */ function wpcf_fields_numeric_editor_submit($data, $field, $context) { $add = ''; if (!empty($data['format'])) { $add .= ' format="' . strval($data['format']) . '"'; } if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } elseif ($context == 'termmeta') { $add .= wpcf_get_termmeta_form_addon_submit(); $shortcode = wpcf_termmeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }
/** * Processes editor popup submit */ function wpcf_fields_google_map_editor_submit($data, $field) { $add = ''; // Add parameters if (!empty($data['width'])) { $add .= ' width="' . strval($data['width']) . '"'; } if (!empty($data['height'])) { $add .= ' height="' . strval($data['height']) . '"'; } // Generate and return shortcode return wpcf_fields_get_shortcode($field, $add); }
/** * Processes editor popup submit */ function wpcf_fields_google_map_editor_submit() { // Get field $field = wpcf_admin_fields_get_field(strval($_GET['field_id'])); if (!empty($field)) { $add = ''; // Add parameters if (!empty($_POST['width'])) { $add .= ' width="' . strval($_POST['width']) . '"'; } if (!empty($_POST['height'])) { $add .= ' height="' . strval($_POST['height']) . '"'; } // Generate shortcode $shortcode = wpcf_fields_get_shortcode($field, $add); // Save settings wpcf_admin_fields_save_field_last_settings($_GET['field_id'], $_POST); // Trigger inserting shortcode in parent editor echo editor_admin_popup_insert_shortcode_js($shortcode); } die; }
/** * Editor callback form submit. */ function wpcf_fields_image_editor_submit() { $add = ''; if (!empty($_POST['alt'])) { $add .= ' alt="' . strval($_POST['alt']) . '"'; } if (!empty($_POST['title'])) { $add .= ' title="' . strval($_POST['title']) . '"'; } $size = !empty($_POST['image-size']) ? $_POST['image-size'] : false; if ($size == 'wpcf-custom') { if (!empty($_POST['width'])) { $add .= ' width="' . intval($_POST['width']) . '"'; } if (!empty($_POST['height'])) { $add .= ' height="' . intval($_POST['height']) . '"'; } if (!empty($_POST['proportional'])) { $add .= ' proportional="true"'; } } else { if (!empty($size)) { $add .= ' size="' . $size . '"'; } } if (!empty($_POST['alignment'])) { $add .= ' align="' . $_POST['alignment'] . '"'; } $field = wpcf_admin_fields_get_field($_GET['field_id']); if (!empty($field)) { $shortcode = wpcf_fields_get_shortcode($field, $add); wpcf_admin_fields_save_field_last_settings($_GET['field_id'], $_POST); echo wpcf_admin_fields_popup_insert_shortcode_js($shortcode); die; } }
/** * Editor callback form submit. */ function wpcf_fields_image_editor_submit($data, $field, $context) { // Saved settings $settings = array(); $add = ''; if (!empty($data['alt'])) { $add .= ' alt="' . strval($data['alt']) . '"'; } if (!empty($data['title'])) { $add .= ' title="' . strval($data['title']) . '"'; } $size = !empty($data['image_size']) ? $data['image_size'] : false; if ($size == 'wpcf-custom') { if (!empty($data['width'])) { $add .= ' width="' . intval($data['width']) . '"'; } if (!empty($data['height'])) { $add .= ' height="' . intval($data['height']) . '"'; } } else { if (!empty($size)) { $add .= ' size="' . $size . '"'; $settings['image_size'] = $size; } } if (!empty($data['alignment'])) { $add .= ' align="' . $data['alignment'] . '"'; $settings['alignment'] = $data['alignment']; } if (!empty($data['url'])) { $add .= ' url="true"'; } if (!empty($data['onload'])) { $add .= ' onload="' . $data['onload'] . '"'; } if (array_key_exists('image_size', $data) && $data['image_size'] != 'full') { if (!empty($data['proportional'])) { $settings['resize'] = isset($data['resize']) ? $data['resize'] : 'proportional'; $add .= " resize=\"{$settings['resize']}\""; if ($settings['resize'] == 'pad') { if (isset($data['padding_transparent'])) { $data['padding_color'] = 'transparent'; } if (empty($data['padding_color'])) { $data['padding_color'] = '#FFF'; } if ((strpos($data['padding_color'], '#') !== 0 || !(strlen($data['padding_color']) == 4 || strlen($data['padding_color']) == 7)) && $data['padding_color'] != 'transparent') { $data['padding_color'] = '#FFF'; } $settings['padding_color'] = $data['padding_color']; $add .= " padding_color=\"{$data['padding_color']}\""; } } else { if (!isset($data['raw_mode'])) { $settings['resize'] = 'stretch'; $add .= ' resize="stretch"'; } } } $field = apply_filters('wpcf_fields_image_editor_submit_field', $field); // Save settings wpcf_admin_fields_save_field_last_settings($field['id'], $settings); if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } elseif ($context == 'termmeta') { $add .= wpcf_get_termmeta_form_addon_submit(); $shortcode = wpcf_termmeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }
/** * Editor callback form submit. */ function wpcf_fields_checkboxes_editor_submit($data, $field, $context) { $add = ''; $types_attr = $context == 'usermeta' ? 'usermeta' : 'field'; $shortcode = ''; if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); } if (!empty($data['options'])) { if ($data['display'] == 'display_all') { $separator = !empty($data['cbs_separator']) ? $data['cbs_separator'] : ''; $_add = $add . ' separator="' . $separator . '"'; if ($context == 'usermeta') { $shortcode .= wpcf_usermeta_get_shortcode($field, $_add); } else { $shortcode .= wpcf_fields_get_shortcode($field, $_add); } } else { $i = 0; foreach ($data['options'] as $option) { if ($data['display'] == 'value') { $checked_add = $add . ' option="' . $i . '" state="checked"'; $unchecked_add = $add . ' option="' . $i . '" state="unchecked"'; if ($context == 'usermeta') { $shortcode_checked = wpcf_usermeta_get_shortcode($field, $checked_add, $option['selected']); $shortcode_unchecked = wpcf_usermeta_get_shortcode($field, $unchecked_add, $option['not_selected']); } else { $shortcode_checked = wpcf_fields_get_shortcode($field, $checked_add, $option['selected']); $shortcode_unchecked = wpcf_fields_get_shortcode($field, $unchecked_add, $option['not_selected']); } $shortcode .= $shortcode_checked . $shortcode_unchecked; } else { $add = ' option="' . $i . '"'; if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); } if ($types_attr == 'usermeta') { $shortcode .= wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode .= wpcf_fields_get_shortcode($field, $add); } } $i++; } } } else { if ($types_attr == 'usermeta') { $shortcode .= wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode .= wpcf_fields_get_shortcode($field, $add); } } return $shortcode; }
/** * Adds items to view dropdown. * * @param type $items * @return type */ public static function editorDropdownFilter($items) { $post = wpcf_admin_get_edited_post(); if (empty($post)) { $post = (object) array('ID' => -1); } $groups = wpcf_admin_fields_get_groups('wp-types-group', 'group_active'); $all_post_types = implode(' ', get_post_types(array('public' => true))); $add = array(); if (!empty($groups)) { // $group_id is blank therefore not equal to $group['id'] // use array for item key and CSS class $item_styles = array(); foreach ($groups as $group) { $fields = wpcf_admin_fields_get_fields_by_group($group['id'], 'slug', true, false, true); if (!empty($fields)) { // code from Types used here without breaking the flow // get post types list for every group or apply all $post_types = get_post_meta($group['id'], '_wp_types_group_post_types', true); if ($post_types == 'all') { $post_types = $all_post_types; } $post_types = trim(str_replace(',', ' ', $post_types)); $item_styles[$group['name']] = $post_types; foreach ($fields as $field) { $callback = 'wpcfFieldsEditorCallback(\'' . $field['id'] . '\', \'postmeta\', ' . $post->ID . ')'; $add[$group['name']][stripslashes($field['name'])] = array(stripslashes($field['name']), trim(wpcf_fields_get_shortcode($field), '[]'), $group['name'], $callback); // TODO Remove - it's not post edit screen (meta box JS and CSS) WPCF_Fields::enqueueScript($field['type']); WPCF_Fields::enqueueStyle($field['type']); } } } } $search_key = ''; // Iterate all items to be displayed in the "V" menu foreach ($items as $key => $item) { if ($key == __('Basic', 'wpv-views')) { $search_key = 'found'; continue; } if ($search_key == 'found') { $search_key = $key; } if ($key == __('Field', 'wpv-views') && isset($item[trim(wpcf_types_get_meta_prefix(), '-')])) { unset($items[$key][trim(wpcf_types_get_meta_prefix(), '-')]); } } if (empty($search_key) || $search_key == 'found') { $search_key = count($items); } $insert_position = array_search($search_key, array_keys($items)); $part_one = array_slice($items, 0, $insert_position); $part_two = array_slice($items, $insert_position); $items = $part_one + $add + $part_two; // apply CSS styles to each item based on post types foreach ($items as $key => $value) { if (isset($item_styles[$key])) { $items[$key]['css'] = $item_styles[$key]; } else { $items[$key]['css'] = $all_post_types; } } return $items; }
/** * Inserts shortcode in editor. * * @return type */ function wpcf_fields_date_editor_submit($data, $field, $context) { $add = ' '; $raw = !empty($data['raw_mode']); $format = get_option('date_format'); $style = isset($data['style']) ? $data['style'] : 'text'; if (!$raw) { $add .= 'style="' . $style . '"'; if ($style == 'text') { if (isset($data['format'])) { if ($data['format'] == 'custom' && isset($data['custom'])) { $format = $data['custom']; } else { $format = $data['format']; } } $add .= ' format="' . $format . '"'; } } if ($context == 'usermeta') { $add .= wpcf_get_usermeta_form_addon_submit(); $shortcode = wpcf_usermeta_get_shortcode($field, $add); } else { $shortcode = wpcf_fields_get_shortcode($field, $add); } return $shortcode; }