/** * return all custom element fields */ public function get_custom_elements_for_javascript() { $meta = new Essential_Grid_Meta(); $item_elements = new Essential_Grid_Item_Element(); $elements = array(array('name' => 'custom-soundcloud', 'type' => 'input'), array('name' => 'custom-vimeo', 'type' => 'input'), array('name' => 'custom-youtube', 'type' => 'input'), array('name' => 'custom-html5-mp4', 'type' => 'input'), array('name' => 'custom-html5-ogv', 'type' => 'input'), array('name' => 'custom-html5-webm', 'type' => 'input'), array('name' => 'custom-image', 'type' => 'image'), array('name' => 'custom-text', 'type' => 'textarea'), array('name' => 'custom-ratio', 'type' => 'select'), array('name' => 'post-link', 'type' => 'input'), array('name' => 'custom-filter', 'type' => 'input')); $custom_meta = $meta->get_all_meta(false); if (!empty($custom_meta)) { foreach ($custom_meta as $cmeta) { if ($cmeta['type'] == 'text') { $cmeta['type'] = 'input'; } $elements[] = array('name' => 'eg-cm-' . $cmeta['handle'], 'type' => $cmeta['type'], 'default' => @$cmeta['default']); } } $def_ele = $item_elements->getElementsForDropdown(); foreach ($def_ele as $type => $element) { foreach ($element as $handle => $name) { $elements[] = array('name' => $handle, 'type' => 'input'); } } return $elements; }
public function set_sorting_text($san_text) { if (strpos($san_text, 'eg-') === 0) { $meta = new Essential_Grid_Meta(); $m = $meta->get_all_meta(false); if (!empty($m)) { foreach ($m as $me) { if ('eg-' . $me['handle'] == $san_text) { return $me['name']; } } } } elseif (strpos($san_text, 'egl-') === 0) { $meta = new Essential_Grid_Meta_Linking(); $m = $meta->get_all_link_meta(false); if (!empty($m)) { foreach ($m as $me) { if ('egl-' . $me['handle'] == $san_text) { return $me['name']; } } } } else { switch ($san_text) { case 'date': $san_text = __('Date', EG_TEXTDOMAIN); break; case 'title': $san_text = __('Title', EG_TEXTDOMAIN); break; case 'excerpt': $san_text = __('Excerpt', EG_TEXTDOMAIN); break; case 'id': $san_text = __('ID', EG_TEXTDOMAIN); break; case 'slug': $san_text = __('Slug', EG_TEXTDOMAIN); break; case 'author': $san_text = __('Author', EG_TEXTDOMAIN); break; case 'last-modified': $san_text = __('Last Modified', EG_TEXTDOMAIN); break; case 'number-of-comments': $san_text = __('Comments', EG_TEXTDOMAIN); break; case 'meta_num_total_sales': $san_text = __('Total Sales', EG_TEXTDOMAIN); break; case 'meta_num__regular_price': $san_text = __('Regular Price', EG_TEXTDOMAIN); break; case 'meta_num__sale_price': $san_text = __('Sale Price', EG_TEXTDOMAIN); break; case 'meta__featured': $san_text = __('Featured', EG_TEXTDOMAIN); break; case 'meta__sku': $san_text = __('SKU', EG_TEXTDOMAIN); break; case 'meta_num_stock': $san_text = __('In Stock', EG_TEXTDOMAIN); break; default: $san_text = ucfirst($san_text); break; } } return $san_text; }
if (intval($isCreate) > 0) { //currently editing, so default can be empty $lb_source_order = $base->getVar($grid['params'], 'lb-source-order', ''); } else { $lb_source_order = $base->getVar($grid['params'], 'lb-source-order', array('featured-image')); } $lb_source_list = $base->get_lb_source_order(); // INIT AJAX SOURCE ORDERS if (intval($isCreate) > 0) { //currently editing, so default can be empty $aj_source_order = $base->getVar($grid['params'], 'aj-source-order', ''); } else { $aj_source_order = $base->getVar($grid['params'], 'aj-source-order', array('post-content')); } $aj_source_list = $base->get_aj_source_order(); $all_metas = $eg_meta->get_all_meta(); ?> <!-- SETTINGS --> <form id="eg-form-create-settings"> <!-- GRID SETTINGS --> <div id="esg-settings-grid-settings" class="esg-settings-container"> <div class=""> <div class="eg-creative-settings"> <div class="eg-cs-tbc-left"> <h3><span><?php _e('Layout', EG_TEXTDOMAIN); ?> </span></h3>
public function export_custom_meta($export_custom_meta) { $return_metas = array(); if ($export_custom_meta !== false && !empty($export_custom_meta)) { $metas = new Essential_Grid_Meta(); $custom_metas = $metas->get_all_meta(); if (!empty($export_custom_meta)) { foreach ($custom_metas as $c_meta) { foreach ($export_custom_meta as $meta) { if ($c_meta['handle'] == $meta) { $return_metas[] = $c_meta; break; } } } } } return $return_metas; }
/** * Edit Custom Element Dialog * @since 1.0.0 */ public static function edit_custom_element_dialog() { $meta = new Essential_Grid_Meta(); $item_elements = new Essential_Grid_Item_Element(); ?> <div id="edit-custom-element-dialog-wrap" class="essential-dialog-wrap" title="<?php _e('Element Settings', EG_TEXTDOMAIN); ?> " style="display: none; padding:15px 0px;"> <form id="edit-custom-element-form"> <input type="hidden" name="custom-type" value="" /> <div class="eg-elset-title esg-item-skin-media-title"> <?php _e('Media:', EG_TEXTDOMAIN); ?> </div> <div id="esg-item-skin-elements-media"> <div class="eg-elset-row esg-item-skin-elements" id="esg-item-skin-elements-media-sound"> <div class="eg-elset-label" for="custom-soundcloud"><?php _e('SoundCloud Track ID', EG_TEXTDOMAIN); ?> </div><input name="custom-soundcloud" type="input" value="" /> </div> <div class="eg-elset-row esg-item-skin-elements" id="esg-item-skin-elements-media-youtube"> <div class="eg-elset-label" for="custom-soundcloud"><?php _e('YouTube ID', EG_TEXTDOMAIN); ?> </div><input name="custom-youtube" type="input" value="" /> </div> <div class="eg-elset-row esg-item-skin-elements" id="esg-item-skin-elements-media-vimeo"> <div class="eg-elset-label" for="custom-soundcloud"><?php _e('Vimeo ID', EG_TEXTDOMAIN); ?> </div><input name="custom-vimeo" type="input" value="" /> </div> <div class="esg-item-skin-elements" id="esg-item-skin-elements-media-html5"> <div class="eg-elset-row"><div class="eg-elset-label" for="custom-html5-mp4"><?php _e('MP4', EG_TEXTDOMAIN); ?> </div><input name="custom-html5-mp4" type="input" value="" /></div> <div class="eg-elset-row"><div class="eg-elset-label" for="custom-html5-ogv"><?php _e('OGV', EG_TEXTDOMAIN); ?> </div><input name="custom-html5-ogv" type="input" value="" /></div> <div class="eg-elset-row"><div class="eg-elset-label" for="custom-html5-webm"><?php _e('WEBM', EG_TEXTDOMAIN); ?> </div><input name="custom-html5-webm" type="input" value="" /></div> </div> <div class="eg-elset-row esg-item-skin-elements" id="esg-item-skin-elements-media-image"> <div class="eg-elset-label" for="custom-image"><?php _e('Image', EG_TEXTDOMAIN); ?> </div> <input type="hidden" value="" id="esg-custom-image" name="custom-image"> <a id="eg-custom-choose-from-image-library" class="button-primary revblue" href="javascript:void(0);" data-setto="esg-custom-image"><?php _e('Choose Image', EG_TEXTDOMAIN); ?> </a> <a id="eg-custom-clear-from-image-library" class="button-primary revred eg-custom-remove-custom-meta-field" href="javascript:void(0);"><?php _e('Remove Image', EG_TEXTDOMAIN); ?> </a> <div id="custom-image-wrapper" style="width:100%;"> <img id="esg-custom-image-img" src="" style="max-width:200px; display: none;margin:20px 0px 0px 250px;"> </div> </div> <div class="eg-elset-row esg-item-skin-elements" id="esg-item-skin-elements-media-ratio"> <div class="eg-elset-label" for="custom-ratio"><?php _e('Video Ratio', EG_TEXTDOMAIN); ?> </div> <select name="custom-ratio"> <option value="0"><?php _e('4:3', EG_TEXTDOMAIN); ?> </option> <option value="1"><?php _e('16:9', EG_TEXTDOMAIN); ?> </option> </select> </div> </div> <div id=""> <?php $custom_meta = $meta->get_all_meta(false); if (!empty($custom_meta)) { echo '<div class="eg-elset-title">'; _e('Custom Meta:', EG_TEXTDOMAIN); echo '</div>'; foreach ($custom_meta as $cmeta) { ?> <div class="eg-elset-row"><div class="eg-elset-label" class="eg-mb-label"><?php echo $cmeta['name']; ?> :</div> <?php switch ($cmeta['type']) { case 'text': echo '<input type="text" name="eg-' . $cmeta['handle'] . '" value="" />'; break; case 'select': case 'multi-select': $do_array = $cmeta['type'] == 'multi-select' ? '[]' : ''; $el = $meta->prepare_select_by_string($cmeta['select']); echo '<select name="eg-' . $cmeta['handle'] . $do_array . '"'; if ($cmeta['type'] == 'multi-select') { echo ' multiple="multiple" size="5"'; } echo '>'; if (!empty($el) && is_array($el)) { if ($cmeta['type'] == 'multi-select') { echo '<option value="">' . __('---', EG_TEXTDOMAIN) . '</option>'; } foreach ($el as $ele) { echo '<option value="' . $ele . '">' . $ele . '</option>'; } } echo '</select>'; break; case 'image': $var_src = ''; ?> <input type="hidden" value="" name="eg-<?php echo $cmeta['handle']; ?> " id="eg-<?php echo $cmeta['handle'] . '-cm'; ?> " /> <a class="button-primary revblue eg-image-add" href="javascript:void(0);" data-setto="eg-<?php echo $cmeta['handle'] . '-cm'; ?> "><?php _e('Choose Image', EG_TEXTDOMAIN); ?> </a> <a class="button-primary revred eg-image-clear" href="javascript:void(0);" data-setto="eg-<?php echo $cmeta['handle'] . '-cm'; ?> "><?php _e('Remove Image', EG_TEXTDOMAIN); ?> </a> <div> <img id="eg-<?php echo $cmeta['handle'] . '-cm'; ?> -img" src="<?php echo $var_src; ?> " <?php echo $var_src == '' ? 'style="max-width:200px; display: none;margin:20px 0px 0px 250px;"' : ''; ?> > </div> <?php break; } ?> </div> <?php } } else { _e('No metas available yet. Add some through the Custom Meta menu of Essential Grid.', EG_TEXTDOMAIN); ?> <div style="clear:both; height:20px"></div><?php } $elements = $item_elements->getElementsForDropdown(); $p_lang = array('post' => __('Post', EG_TEXTDOMAIN), 'woocommerce' => __('WooCommerce', EG_TEXTDOMAIN)); foreach ($elements as $type => $element) { ?> <div class="eg-elset-title"> <?php echo $p_lang[$type]; ?> </div> <?php foreach ($element as $handle => $name) { echo '<div class="eg-elset-row"><div class="eg-elset-label" for="' . $handle . '">' . $name['name'] . ':</div><input name="' . $handle . '" value="" /></div>'; } } echo '<div class="eg-elset-title">'; _e('Link To:', EG_TEXTDOMAIN); echo '</div>'; echo '<div class="eg-elset-row"><div class="eg-elset-label" for="post-link">' . __('Post Link', EG_TEXTDOMAIN) . ':</div><input name="post-link" value="" /></div>'; echo '<div class="eg-elset-title">'; _e('Other:', EG_TEXTDOMAIN); echo '</div>'; echo '<div class="eg-elset-row"><div class="eg-elset-label" for="custom-filter">' . __('Filter (comma seperated)', EG_TEXTDOMAIN) . ':</div><input name="custom-filter" value="" /></div>'; ?> <div class="eg-elset-row"> <div class="eg-elset-label" for="cobbles"> <?php _e('Cobbles Element Size:', EG_TEXTDOMAIN); ?> </div> <select name="cobbles-size"> <option value="1:1"><?php _e('width 1, height 1', EG_TEXTDOMAIN); ?> </option> <option value="1:2"><?php _e('width 1, height 2', EG_TEXTDOMAIN); ?> </option> <option value="1:3"><?php _e('width 1, height 3', EG_TEXTDOMAIN); ?> </option> <option value="2:1"><?php _e('width 2, height 1', EG_TEXTDOMAIN); ?> </option> <option value="2:2"><?php _e('width 2, height 2', EG_TEXTDOMAIN); ?> </option> <option value="2:3"><?php _e('width 2, height 3', EG_TEXTDOMAIN); ?> </option> <option value="3:1"><?php _e('width 3, height 1', EG_TEXTDOMAIN); ?> </option> <option value="3:2"><?php _e('width 3, height 2', EG_TEXTDOMAIN); ?> </option> <option value="3:3"><?php _e('width 3, height 3', EG_TEXTDOMAIN); ?> </option> </select> </div> <div class="eg-elset-row"> <?php $skins = Essential_Grid_Item_Skin::get_essential_item_skins('all', false); ?> <div class="eg-elset-label" for="use-skin"> <?php _e('Choose Specific Skin:', EG_TEXTDOMAIN); ?> </div> <select name="use-skin"> <option value="-1"><?php _e('-- Default Skin --', EG_TEXTDOMAIN); ?> </option> <?php if (!empty($skins)) { foreach ($skins as $skin) { echo '<option value="' . $skin['id'] . '">' . $skin['name'] . '</option>' . "\n"; } } ?> </select> </div> </div> </form> <script type="text/javascript"> jQuery('.eg-image-add').click(function(e) { e.preventDefault(); AdminEssentials.upload_image_img(jQuery(this).data('setto')); return false; }); jQuery('.eg-image-clear').click(function(e) { e.preventDefault(); var setto = jQuery(this).data('setto'); jQuery('#'+setto).val(''); jQuery('#'+setto+'-img').attr("src",""); jQuery('#'+setto+'-img').hide(); return false; }); jQuery('#eg-custom-choose-from-image-library').click(function(e) { e.preventDefault(); AdminEssentials.upload_image_img(jQuery(this).data('setto')); return false; }); jQuery('#eg-custom-clear-from-image-library').click(function(e) { e.preventDefault(); jQuery('#esg-custom-image-src').val(''); jQuery('#custom-image-img').attr("src",""); jQuery('#custom-image-img').hide(); return false; }); </script> </div> <?php }
/** * Include wanted page */ public static function custom_meta_box_save($post_id, $metas, $ajax = false) { // if our nonce isn't there, or we can't verify it, bail if (!isset($metas['essential_grid_meta_box_nonce']) || !wp_verify_nonce($metas['essential_grid_meta_box_nonce'], 'eg_meta_box_nonce')) { return; } if (isset($metas['eg_sources_html5_mp4'])) { update_post_meta($post_id, 'eg_sources_html5_mp4', esc_attr($metas['eg_sources_html5_mp4'])); } if (isset($metas['eg_sources_html5_ogv'])) { update_post_meta($post_id, 'eg_sources_html5_ogv', esc_attr($metas['eg_sources_html5_ogv'])); } if (isset($metas['eg_sources_html5_webm'])) { update_post_meta($post_id, 'eg_sources_html5_webm', esc_attr($metas['eg_sources_html5_webm'])); } if (isset($metas['eg_sources_youtube'])) { update_post_meta($post_id, 'eg_sources_youtube', esc_attr($metas['eg_sources_youtube'])); } if (isset($metas['eg_sources_vimeo'])) { update_post_meta($post_id, 'eg_sources_vimeo', esc_attr($metas['eg_sources_vimeo'])); } if (isset($metas['eg_sources_image'])) { update_post_meta($post_id, 'eg_sources_image', esc_attr($metas['eg_sources_image'])); } if (isset($metas['eg_sources_iframe'])) { update_post_meta($post_id, 'eg_sources_iframe', esc_attr($metas['eg_sources_iframe'])); } if (isset($metas['eg_sources_soundcloud'])) { update_post_meta($post_id, 'eg_sources_soundcloud', esc_attr($metas['eg_sources_soundcloud'])); } if (isset($metas['eg_settings_type'])) { update_post_meta($post_id, 'eg_settings_type', esc_attr($metas['eg_settings_type'])); } if (isset($metas['eg_settings_custom_display'])) { update_post_meta($post_id, 'eg_settings_custom_display', esc_attr($metas['eg_settings_custom_display'])); } if (isset($metas['eg_vimeo_ratio'])) { update_post_meta($post_id, 'eg_vimeo_ratio', esc_attr($metas['eg_vimeo_ratio'])); } if (isset($metas['eg_youtube_ratio'])) { update_post_meta($post_id, 'eg_youtube_ratio', esc_attr($metas['eg_youtube_ratio'])); } if (isset($metas['eg_html5_ratio'])) { update_post_meta($post_id, 'eg_html5_ratio', esc_attr($metas['eg_html5_ratio'])); } if (isset($metas['eg_soundcloud_ratio'])) { update_post_meta($post_id, 'eg_soundcloud_ratio', esc_attr($metas['eg_soundcloud_ratio'])); } if ($ajax === false) { //only update these if we are in post, not at ajax that comes from the plugin in preview mode /** * Save Custom Meta Things that Modify Skins **/ if (isset($metas['eg-custom-meta-skin'])) { update_post_meta($post_id, 'eg_settings_custom_meta_skin', $metas['eg-custom-meta-skin']); } else { update_post_meta($post_id, 'eg_settings_custom_meta_skin', ''); } if (isset($metas['eg-custom-meta-element'])) { update_post_meta($post_id, 'eg_settings_custom_meta_element', $metas['eg-custom-meta-element']); } else { update_post_meta($post_id, 'eg_settings_custom_meta_element', ''); } if (isset($metas['eg-custom-meta-setting'])) { update_post_meta($post_id, 'eg_settings_custom_meta_setting', $metas['eg-custom-meta-setting']); } else { update_post_meta($post_id, 'eg_settings_custom_meta_setting', ''); } if (isset($metas['eg-custom-meta-style'])) { update_post_meta($post_id, 'eg_settings_custom_meta_style', $metas['eg-custom-meta-style']); } else { update_post_meta($post_id, 'eg_settings_custom_meta_style', ''); } } /** * Save Custom Meta from Custom Meta Submenu */ $m = new Essential_Grid_Meta(); $cmetas = $m->get_all_meta(false); if (!empty($cmetas)) { foreach ($cmetas as $meta) { if (isset($metas['eg-' . $meta['handle']])) { if (is_array($metas['eg-' . $meta['handle']])) { $metas['eg-' . $meta['handle']] = json_encode($metas['eg-' . $meta['handle']]); } update_post_meta($post_id, 'eg-' . $meta['handle'], $metas['eg-' . $meta['handle']]); } } } do_action('essgrid_save_meta_options', $metas, $post_id); if ($ajax !== false) { return true; } }
/** * Output Sorting from custom grid * @since 1.0.6 */ public function output_sorting_by_all_types() { $base = new Essential_Grid_Base(); $nav = new Essential_Grid_Navigation(); $m = new Essential_Grid_Meta(); $order_by = explode(',', $base->getVar($this->grid_params, 'sorting-order-by', 'date')); if (!is_array($order_by)) { $order_by = array($order_by); } $order_by_start = $base->getVar($this->grid_params, 'sorting-order-by-start', 'none'); if (strpos($order_by_start, 'eg-') === 0 || strpos($order_by_start, 'egl-') === 0) { //add meta at the end for meta sorting //if essential Meta, replace to meta name. Else -> replace - and _ with space, set each word uppercase $metas = $m->get_all_meta(); $f = false; if (!empty($metas)) { foreach ($metas as $meta) { if ('eg-' . $meta['handle'] == $order_by_start || 'egl-' . $meta['handle'] == $order_by_start) { $f = true; $order_by_start = $meta['name']; break; } } } if ($f === false) { $order_by_start = ucwords(str_replace(array('-', '_'), array(' ', ' '), $order_by_start)); } } $nav->set_orders($order_by); //set order of filter $nav->set_orders_start($order_by_start); //set order of filter $nav->output_sorting(); }
?> </p> <h3 style="color:#fff"><?php _e('How to add Custom Meta Fields to my Skin?', EG_TEXTDOMAIN); ?> </h3> <p style="margin-bottom:15px"><?php _e('<strong>Edit the Skin</strong> you selected for the Grid(s) and <strong>add or edit</strong> an existing <strong>Layer</strong>. Here you can select under the source tab the <strong>Source Type</strong> to <strong>"POST"</strong> and <strong>Element</strong> to <strong>"META"</strong>. Pick the Custom Meta Key of your choice from the Drop Down list. ', EG_TEXTDOMAIN); ?> </p> </div> </div> <?php $custom_metas = $metas->get_all_meta(false); if (!empty($custom_metas)) { foreach ($custom_metas as $meta) { if (!isset($meta['sort-type'])) { $meta['sort-type'] = 'alphabetic'; } ?> <div class="postbox eg-postbox" style="width:100%;min-width:500px"> <h3 class="box-closed"><span style="font-weight:400"><?php _e('Handle:', EG_TEXTDOMAIN); ?> </span><span>eg-<?php echo $meta['handle']; ?> </span><div class="postbox-arrow"></div></h3> <div class="inside" style="display:none;padding:0px !important;margin:0px !important;height:100%;position:relative;background:#ebebeb">
/** * Retrieve the value of post elements */ public function get_custom_element_value($handle, $separator, $meta = '') { $base = new Essential_Grid_Base(); $m = new Essential_Grid_Meta(); $text = ''; $text = $base->getVar($this->layer_values, $handle, ''); if ($text == '' && $meta != '') { $text = $base->getVar($this->layer_values, $meta, ''); } if (intval($text) > 0) { //we may be an image from the metas $custom_meta = $m->get_all_meta(false); if (!empty($custom_meta)) { foreach ($custom_meta as $cmeta) { if ($cmeta['handle'] == $handle) { if ($cmeta['type'] == 'image') { $img = wp_get_attachment_image_src($text, $this->media_sources_type); if ($img !== false) { $text = $img[0]; //replace with URL } } break; } } } } return $text; }
if (empty($layer)) { continue; } //some layers may be NULL... //check if special, ignore special elements $settings = $layer['settings']; if (!empty($settings) && isset($settings['special']) && $settings['special'] == 'true') { continue; } $advanced[$skin['id']]['layers'][] = $layer['id']; } } } $eg_elements = $item_elements->get_allowed_meta(); } $custom_meta = $meta->get_all_meta(false); if (isset($disable_advanced) && $disable_advanced == true) { //only show if we are in preview mode ?> <form id="eg-form-post-meta-settings"> <input type="hidden" name="post_id" value="<?php echo $post->ID; ?> " /> <?php } wp_nonce_field('eg_meta_box_nonce', 'essential_grid_meta_box_nonce'); ?>
* @copyright 2014 ThemePunch */ if (!defined('ABSPATH')) { exit; } $c_grids = new Essential_Grid(); $item_skin = new Essential_Grid_Item_Skin(); $item_ele = new Essential_Grid_Item_Element(); $nav_skin = new Essential_Grid_Navigation(); $metas = new Essential_Grid_Meta(); $fonts = new ThemePunch_Fonts(); $grids = $c_grids->get_essential_grids(); $skins = $item_skin->get_essential_item_skins(); $elements = $item_ele->get_essential_item_elements(); $navigation_skins = $nav_skin->get_essential_navigation_skins(); $custom_metas = $metas->get_all_meta(); $custom_fonts = $fonts->get_all_fonts(); $token = wp_create_nonce("Essential_Grid_actions"); $import_data = false; if (isset($_FILES['import_file'])) { if ($_FILES['import_file']['error'] > 0) { echo '<div class="error"><p>' . __('Invalid file or file size too big.', EG_TEXTDOMAIN) . '</p></div>'; } else { $file_name = $_FILES['import_file']['name']; $ext = explode(".", $file_name); $file_ext = strtolower(end($ext)); $file_size = $_FILES['import_file']['size']; if ($file_ext == "json") { $encode_data = file_get_contents($_FILES['import_file']['tmp_name']); $import_data = json_decode($encode_data, true); } else {
public function import_custom_meta($import_custom_meta, $import_handles = true, $check_append = true) { $base = new Essential_Grid_Base(); $metas = new Essential_Grid_Meta(); $link_metas = new Essential_Grid_Meta_Linking(); $custom_metas = $metas->get_all_meta(); foreach ($import_custom_meta as $i_custom_meta) { $type = isset($i_custom_meta['m_type']) && $i_custom_meta['m_type'] == 'link' ? 'link' : 'meta'; if (!empty($import_handles) && is_array($import_handles)) { $found = false; foreach ($import_handles as $handle) { if ($i_custom_meta['handle'] == $handle) { $found = true; break; } } if (!$found) { continue; } } else { if ($import_handles !== true) { break; } } $exist = false; if (!empty($custom_metas)) { foreach ($custom_metas as $meta) { if ($meta['handle'] == $i_custom_meta['handle']) { if ($type == $meta['m_type']) { $exist = true; break; } } } } if ($import_handles == true) { //do not insert if handle exists. This is for the import demo data process if ($exist) { continue; } } $append = true; if ($exist) { //skin exists - append or overwrite if ($check_append) { //check in $_POST if append or overwrite $do = $base->getVar($this->overwrite_data, 'custom-meta-overwrite-' . $i_custom_meta['handle'], 'append'); $append = $do == 'append' ? true : false; } } if ($import_handles !== true) { if ($append) { //append if ($exist) { $orig_handle = $i_custom_meta['handle']; $i_custom_meta['handle'] = $i_custom_meta['handle'] . '-' . date('His'); $i_custom_meta['name'] = $i_custom_meta['name'] . '-' . date('His'); } if ($type == 'meta') { $metas->add_new_meta($i_custom_meta); } elseif ($type == 'link') { $link_metas->add_new_link_meta($i_custom_meta); } } else { //overwrite if ($type == 'meta') { $metas->edit_meta_by_handle($i_custom_meta); } elseif ($type == 'link') { $link_metas->edit_link_meta_by_handle($i_custom_meta); } } } else { //create or overwrite if ($exist) { if ($type == 'meta') { $metas->edit_meta_by_handle($i_custom_meta); } elseif ($type == 'link') { $link_metas->edit_link_meta_by_handle($i_custom_meta); } } else { if ($type == 'meta') { $metas->add_new_meta($i_custom_meta); } elseif ($type == 'link') { $link_metas->add_new_link_meta($i_custom_meta); } } } } }
public function export_essential_grid() { require_once ABSPATH . 'wp-content/plugins/essential-grid/essential-grid.php'; $c_grid = new Essential_Grid(); $export_grids = array(); $grids = $c_grid->get_essential_grids(); foreach ($grids as $grid) { $export_grids[] = $grid->id; } $export_skins = array(); $item_skin = new Essential_Grid_Item_Skin(); $skins = $item_skin->get_essential_item_skins('all', false); foreach ($skins as $skin) { $export_grids[] = $skin['id']; } $export_elements = array(); $c_elements = new Essential_Grid_Item_Element(); $elements = $c_elements->get_essential_item_elements(); foreach ($elements as $element) { $export_elements[] = $element['id']; } $export_navigation_skins = array(); $c_nav_skins = new Essential_Grid_Navigation(); $nav_skins = $c_nav_skins->get_essential_navigation_skins(); foreach ($nav_skins as $nav_skin) { $export_navigation_skins[] = $nav_skin['id']; } $export_custom_meta = array(); $metas = new Essential_Grid_Meta(); $custom_metas = $metas->get_all_meta(); foreach ($custom_metas as $custom_meta) { $export_custom_meta[] = $custom_meta['handle']; } $export_punch_fonts = array(); $fonts = new ThemePunch_Fonts(); $custom_fonts = $fonts->get_all_fonts(); foreach ($custom_fonts as $custom_font) { $export_punch_fonts[] = $custom_font['handle']; } $export = array(); $ex = new Essential_Grid_Export(); //export Grids if (!empty($export_grids)) { $export['grids'] = $ex->export_grids($export_grids); } //export Skins if (!empty($export_skins)) { $export['skins'] = $ex->export_skins($export_skins); } //export Elements if (!empty($export_elements)) { $export['elements'] = $ex->export_elements($export_elements); } //export Navigation Skins if (!empty($export_navigation_skins)) { $export['navigation-skins'] = $ex->export_navigation_skins($export_navigation_skins); } //export Custom Meta if (!empty($export_custom_meta)) { $export['custom-meta'] = $ex->export_custom_meta($export_custom_meta); } //export Punch Fonts if (!empty($export_punch_fonts)) { $export['punch-fonts'] = $ex->export_punch_fonts($export_punch_fonts); } //export Global Styles $export['global-css'] = $ex->export_global_styles('on'); $this->save_as_txt_file('essential_grid.txt', json_encode($export)); }