コード例 #1
0
ファイル: ess_import.php プロジェクト: mauricioabisay/loc
function essential_grid_importer($folder)
{
    $im = new Essential_Grid_Import();
    @($skins_json = file_get_contents($folder . '/ess-skins.json'));
    if ($skins_json) {
        $skins = json_decode(str_replace('\\\\\\\\\\\\\\', '\\', $skins_json), true);
        $skins = $skins['skins'];
        $skin_ids = array();
        foreach ($skins as $skin) {
            $skin_ids[] = $skin['id'];
        }
        $im->import_skins($skins, $skin_ids);
    }
    @($navskins_json = file_get_contents($folder . '/ess-navskins.json'));
    if ($navskins_json) {
        $navskins = json_decode(str_replace('\\\\\\\\', '\\\\\\', $navskins_json), true);
        $navskins = $navskins['navigation-skins'];
        $navskin_ids = array();
        foreach ($navskins as $navskin) {
            $navskin_ids[] = $navskin['id'];
        }
        $im->import_navigation_skins($navskins, $navskin_ids);
    }
    @($elements_json = file_get_contents($folder . '/ess-elements.json'));
    if ($elements_json) {
        $elements = json_decode(str_replace('\\\\\\\\', '\\\\\\', $elements_json), true);
        $im->import_elements($elements['elements'], array());
    }
    @($globalcss = file_get_contents($folder . '/ess-global.css'));
    if ($globalcss) {
        $im->import_global_styles($globalcss);
    }
    $fonts_array = array();
    //$fonts_array[] = array("url" => "Source+Sans+Pro:200,300,400,600,700,900", "handle" => "sourcesans");
    if (!empty($fonts_array)) {
        $im->import_punch_fonts($fonts_array);
    }
    @($grids = file_get_contents($folder . '/ess-grids.json'));
    if ($grids) {
        @($essgrid_images = file_get_contents($folder . '/essgrid-images.json'));
        if ($essgrid_images) {
            $essgrid_images = json_decode($essgrid_images, true);
            foreach ($essgrid_images as $essgrid_image_id => $essgrid_image_basename) {
                $attach_id = create_image($essgrid_image_basename);
                $grids = str_replace('"custom-image\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"' . $essgrid_image_id, '"custom-image\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"' . $attach_id, $grids);
                $grids = str_replace('"eg-clients-icon\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"' . $essgrid_image_id, '"eg-clients-icon\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"' . $attach_id, $grids);
            }
        }
        $grids = json_decode($grids, true);
        $new_grids = array();
        $im->import_grids($grids['grids']);
    }
    @($meta_json = file_get_contents($folder . '/ess-meta.json'));
    if ($meta_json) {
        $meta = json_decode(str_replace('\\\\\\\\', '\\\\\\', $meta_json), true);
        $im->import_custom_meta($meta['custom-meta']);
    }
}
コード例 #2
0
ファイル: import.php プロジェクト: novichkovv/prlab
 public function import_essential_grid($file)
 {
     require_once ABSPATH . 'wp-content/plugins/essential-grid/essential-grid.php';
     $es_data = $this->file_json($file);
     try {
         $im = new Essential_Grid_Import();
         $overwriteData = array('global-styles-overwrite' => 'overwrite');
         // Create Overwrite & Ids data
         $skins = @$es_data['skins'];
         $export_skins = array();
         if (!empty($skins) && is_array($skins)) {
             foreach ($skins as $skin) {
                 $export_skins[] = $skin['id'];
                 $overwriteData['skin-overwrite-' . $skin['id']] = 'overwrite';
             }
         }
         $export_navigation_skins = array();
         $navigation_skins = @$es_data['navigation-skins'];
         foreach ((array) $navigation_skins as $nav_skin) {
             $export_navigation_skins[] = $nav_skin['id'];
             $overwriteData['nav-skin-overwrite-' . $nav_skin['id']] = 'overwrite';
         }
         $export_grids = array();
         $grids = @$es_data['grids'];
         if (!empty($grids) && is_array($grids)) {
             foreach ($grids as $grid) {
                 $export_grids[] = $grid['id'];
                 $overwriteData['grid-overwrite-' . $grid['id']] = 'overwrite';
             }
         }
         $export_elements = array();
         $elements = @$es_data['elements'];
         if (!empty($elements) && is_array($elements)) {
             foreach ($elements as $element) {
                 $export_elements[] = $element['id'];
                 $overwriteData['elements-overwrite-' . $element['id']] = 'overwrite';
             }
         }
         $export_custom_meta = array();
         $custom_metas = @$es_data['custom-meta'];
         if (!empty($custom_metas) && is_array($custom_metas)) {
             foreach ($custom_metas as $custom_meta) {
                 $export_custom_meta[] = $custom_meta['handle'];
                 $overwriteData['custom-meta-overwrite-' . $custom_meta['handle']] = 'overwrite';
             }
         }
         $export_punch_fonts = array();
         $custom_fonts = @$es_data['punch-fonts'];
         if (!empty($custom_fonts) && is_array($custom_fonts)) {
             foreach ($custom_fonts as $custom_font) {
                 $export_punch_fonts[] = $custom_font['handle'];
                 $overwriteData['punch-fonts-overwrite-' . $custom_font['handle']] = 'overwrite';
             }
         }
         $im->set_overwrite_data($overwriteData);
         //set overwrite data global to class
         // Import data
         $skins = @$es_data['skins'];
         if (!empty($skins) && is_array($skins)) {
             if (!empty($skins)) {
                 $skins_imported = $im->import_skins($skins, $export_skins);
             }
         }
         $navigation_skins = @$es_data['navigation-skins'];
         if (!empty($navigation_skins) && is_array($navigation_skins)) {
             if (!empty($navigation_skins)) {
                 $navigation_skins_imported = $im->import_navigation_skins(@$navigation_skins, $export_navigation_skins);
             }
         }
         $grids = @$es_data['grids'];
         if (!empty($grids) && is_array($grids)) {
             if (!empty($grids)) {
                 $grids_imported = $im->import_grids($grids, $export_grids);
             }
         }
         $elements = @$es_data['elements'];
         if (!empty($elements) && is_array($elements)) {
             if (!empty($elements)) {
                 $elements_imported = $im->import_elements(@$elements, $export_elements);
             }
         }
         $custom_metas = @$es_data['custom-meta'];
         if (!empty($custom_metas) && is_array($custom_metas)) {
             if (!empty($custom_metas)) {
                 $custom_metas_imported = $im->import_custom_meta($custom_metas, $export_custom_meta);
             }
         }
         $custom_fonts = @$es_data['punch-fonts'];
         if (!empty($custom_fonts) && is_array($custom_fonts)) {
             if (!empty($custom_fonts)) {
                 $custom_fonts_imported = $im->import_punch_fonts($custom_fonts, $export_punch_fonts);
             }
         }
         if (true) {
             $global_css = @$es_data['global-css'];
             $tglobal_css = stripslashes($global_css);
             if (empty($tglobal_css)) {
                 $tglobal_css = $global_css;
             }
             $global_styles_imported = $im->import_global_styles($tglobal_css);
         }
     } catch (Exception $d) {
     }
 }
コード例 #3
0
ファイル: tb_dummy.php プロジェクト: BearsTheme/leonard
 function tbImportEssGrid($theme)
 {
     global $wp_filesystem;
     if (empty($wp_filesystem)) {
         require_once ABSPATH . '/wp-admin/includes/file.php';
         WP_Filesystem();
     }
     if (class_exists('Essential_Grid')) {
         require_once ABSPATH . 'wp-content/plugins/essential-grid/admin/includes/import.class.php';
         if ($handle = opendir(get_template_directory() . '/inc/dummy/' . $theme . '/grid')) {
             while (false !== ($entry = readdir($handle))) {
                 if ($entry != "." && $entry != "..") {
                     ob_start();
                     $im = new Essential_Grid_Import();
                     $file_export = get_template_directory() . '/inc/dummy/' . $theme . '/grid/' . $entry;
                     $grid_extract = json_decode($wp_filesystem->get_contents($file_export), true);
                     $grids = @$grid_extract['grids'];
                     if (!empty($grids) && is_array($grids)) {
                         $grids_imported = $im->import_grids($grids);
                     }
                     ob_end_clean();
                 }
             }
             closedir($handle);
         }
         return true;
     }
     return false;
 }
コード例 #4
0
 /**
  * Handle Ajax Requests
  */
 public static function on_ajax_action()
 {
     try {
         $token = self::getPostVar('token', false);
         //verify the token
         $isVerified = wp_verify_nonce($token, 'Essential_Grid_actions');
         $error = false;
         if ($isVerified) {
             $data = self::getPostVar("data", false);
             switch (self::getPostVar("client_action", false)) {
                 case 'add_google_fonts':
                     $f = new ThemePunch_Fonts();
                     $result = $f->add_new_font($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Font successfully created!", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getFontsUrl()));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'remove_google_fonts':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('Font not found', EG_TEXTDOMAIN), false);
                     }
                     $f = new ThemePunch_Fonts();
                     $result = $f->remove_font_by_handle($data['handle']);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Font successfully removed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'edit_google_fonts':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('No handle given', EG_TEXTDOMAIN), false);
                     }
                     if (!isset($data['url'])) {
                         Essential_Grid::ajaxResponseError(__('No parameters given', EG_TEXTDOMAIN), false);
                     }
                     $f = new ThemePunch_Fonts();
                     $result = $f->edit_font_by_handle($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Font successfully changed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'add_custom_meta':
                     $m = new Essential_Grid_Meta();
                     $result = $m->add_new_meta($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Meta successfully created!", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getSubViewUrl(Essential_Grid_Admin::VIEW_SUB_CUSTOM_META_AJAX)));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'remove_custom_meta':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('Meta not found', EG_TEXTDOMAIN), false);
                     }
                     $m = new Essential_Grid_Meta();
                     $result = $m->remove_meta_by_handle($data['handle']);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Meta successfully removed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'edit_custom_meta':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('No handle given', EG_TEXTDOMAIN), false);
                     }
                     if (!isset($data['name'])) {
                         Essential_Grid::ajaxResponseError(__('No name given', EG_TEXTDOMAIN), false);
                     }
                     $m = new Essential_Grid_Meta();
                     $result = $m->edit_meta_by_handle($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Meta successfully changed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'add_link_meta':
                     $m = new Essential_Grid_Meta_Linking();
                     $result = $m->add_new_link_meta($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Meta successfully created!", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getSubViewUrl(Essential_Grid_Admin::VIEW_SUB_CUSTOM_META_AJAX)));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'remove_link_meta':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('Meta not found', EG_TEXTDOMAIN), false);
                     }
                     $m = new Essential_Grid_Meta_Linking();
                     $result = $m->remove_link_meta_by_handle($data['handle']);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Meta successfully removed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'edit_link_meta':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('No handle given', EG_TEXTDOMAIN), false);
                     }
                     if (!isset($data['name'])) {
                         Essential_Grid::ajaxResponseError(__('No name given', EG_TEXTDOMAIN), false);
                     }
                     if (!isset($data['original'])) {
                         Essential_Grid::ajaxResponseError(__('No original given', EG_TEXTDOMAIN), false);
                     }
                     $m = new Essential_Grid_Meta_Linking();
                     $result = $m->edit_link_meta_by_handle($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Meta successfully changed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'add_widget_area':
                     $wa = new Essential_Grid_Widget_Areas();
                     $result = $wa->add_new_sidebar($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Widget Area successfully created!", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getSubViewUrl(Essential_Grid_Admin::VIEW_SUB_WIDGET_AREA_AJAX)));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'edit_widget_area':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('No handle given', EG_TEXTDOMAIN), false);
                     }
                     if (!isset($data['name'])) {
                         Essential_Grid::ajaxResponseError(__('No name given', EG_TEXTDOMAIN), false);
                     }
                     $wa = new Essential_Grid_Widget_Areas();
                     $result = $wa->edit_widget_area_by_handle($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Widget Area successfully changed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'remove_widget_area':
                     if (!isset($data['handle'])) {
                         Essential_Grid::ajaxResponseError(__('Widget Area not found', EG_TEXTDOMAIN), false);
                     }
                     $wa = new Essential_Grid_Widget_Areas();
                     $result = $wa->remove_widget_area_by_handle($data['handle']);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Widget Area successfully removed!", EG_TEXTDOMAIN), array('data' => $result));
                     } else {
                         Essential_Grid::ajaxResponseError($result, false);
                     }
                     break;
                 case 'get_preview_html_markup':
                     //add wpml transient
                     $lang_code = '';
                     if (Essential_Grid_Wpml::is_wpml_exists()) {
                         $lang_code = Essential_Grid_Wpml::get_current_lang_code();
                     }
                     if (isset($data['id'])) {
                         delete_transient('ess_grid_trans_query_' . $data['id'] . $lang_code);
                         //delete cache
                     }
                     $result = Essential_Grid_Base::output_demo_skin_html($data);
                     if (isset($result['error'])) {
                         Essential_Grid::ajaxResponseData($result);
                     } else {
                         Essential_Grid::ajaxResponseData(array("data" => array('html' => $result['html'], 'preview' => @$result['preview'])));
                     }
                     break;
                     /* //TP: CHUNK
                     			case 'get_preview_html_markup_chunk': //only for custom grid
                     				$grid = new Essential_Grid();
                     				$grid->init_by_data($data);
                     				
                     				$html = '';
                     				
                     				if($grid->is_custom_grid()){
                     					ob_start();
                     					$grid->output_by_custom('custom', true);
                     					$html = ob_get_contents();
                     					ob_clean();
                     					ob_end_clean();
                     				}
                     				$order_id = self::getPostVar("order_id", false);
                     				
                     				Essential_Grid::ajaxResponseData(array("data"=>array('preview' => $html, 'order_id' => $order_id)));
                     				
                     			break; */
                 /* //TP: CHUNK
                 			case 'get_preview_html_markup_chunk': //only for custom grid
                 				$grid = new Essential_Grid();
                 				$grid->init_by_data($data);
                 				
                 				$html = '';
                 				
                 				if($grid->is_custom_grid()){
                 					ob_start();
                 					$grid->output_by_custom('custom', true);
                 					$html = ob_get_contents();
                 					ob_clean();
                 					ob_end_clean();
                 				}
                 				$order_id = self::getPostVar("order_id", false);
                 				
                 				Essential_Grid::ajaxResponseData(array("data"=>array('preview' => $html, 'order_id' => $order_id)));
                 				
                 			break; */
                 case 'save_search_settings':
                     if (!empty($data)) {
                         update_option('esg-search-settings', $data);
                     }
                     Essential_Grid::ajaxResponseSuccess(__("Search Settings succesfully saved!", EG_TEXTDOMAIN));
                     break;
                 case 'update_general_settings':
                     $result = self::savePluginPermission($data['permission']);
                     $cur_query = get_option('tp_eg_query_type', 'wp_query');
                     update_option('tp_eg_output_protection', @$data['protection']);
                     update_option('tp_eg_tooltips', @$data['tooltips']);
                     update_option('tp_eg_wait_for_fonts', @$data['wait_for_fonts']);
                     update_option('tp_eg_js_to_footer', @$data['js_to_footer']);
                     update_option('tp_eg_use_cache', @$data['use_cache']);
                     update_option('tp_eg_query_type', @$data['query_type']);
                     update_option('tp_eg_enable_log', @$data['enable_log']);
                     update_option('tp_eg_use_lightbox', @$data['use_lightbox']);
                     if (@$data['use_lightbox'] === 'jackbox') {
                         Essential_Grid_Jackbox::enable_jackbox();
                     } else {
                         Essential_Grid_Jackbox::disable_jackbox();
                     }
                     if ($cur_query !== $data['query_type']) {
                         //delete cache
                         $lang = array();
                         if (Essential_Grid_Wpml::is_wpml_exists()) {
                             $lang = icl_get_languages();
                         }
                         $grids = Essential_Grid::get_essential_grids();
                         if (!empty($grids)) {
                             foreach ($grids as $grid) {
                                 if (!empty($lang)) {
                                     foreach ($lang as $code => $val) {
                                         delete_transient('ess_grid_trans_query_' . $grid->id . $val['language_code']);
                                         delete_transient('ess_grid_trans_full_grid_' . $grid->id . $val['language_code']);
                                     }
                                 } else {
                                     delete_transient('ess_grid_trans_query_' . $grid->id);
                                     delete_transient('ess_grid_trans_full_grid_' . $grid->id);
                                 }
                             }
                         }
                     }
                     if ($result !== true) {
                         $error = __("Global Settings did not change!", EG_TEXTDOMAIN);
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Global Settings succesfully saved!", EG_TEXTDOMAIN), $result);
                     }
                     break;
                 case 'update_create_grid':
                     $result = self::update_create_grid($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         $lang = array();
                         if (Essential_Grid_Wpml::is_wpml_exists()) {
                             $lang = icl_get_languages();
                         }
                         if (isset($data['id']) && intval($data['id']) > 0) {
                             if (!empty($lang)) {
                                 foreach ($lang as $code => $val) {
                                     delete_transient('ess_grid_trans_query_' . $data['id'] . $val['language_code']);
                                     //delete cache
                                     delete_transient('ess_grid_trans_full_grid_' . $data['id'] . $val['language_code']);
                                     //delete cache
                                 }
                             } else {
                                 delete_transient('ess_grid_trans_query_' . $data['id']);
                                 //delete cache
                                 delete_transient('ess_grid_trans_full_grid_' . $data['id']);
                                 //delete cache
                             }
                             Essential_Grid::ajaxResponseSuccess(__("Grid successfully saved/changed!", EG_TEXTDOMAIN), $result);
                         } else {
                             Essential_Grid::ajaxResponseSuccess(__("Grid successfully saved/changed!", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getViewUrl(Essential_Grid_Admin::VIEW_OVERVIEW)));
                         }
                     }
                     break;
                 case 'delete_grid':
                     $result = self::delete_grid_by_id($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Grid deleted", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getViewUrl(Essential_Grid_Admin::VIEW_OVERVIEW)));
                     }
                     break;
                 case 'duplicate_grid':
                     $result = self::duplicate_grid_by_id($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Grid duplicated", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getViewUrl(Essential_Grid_Admin::VIEW_OVERVIEW)));
                     }
                     break;
                 case 'update_create_item_skin':
                     $result = Essential_Grid_Item_Skin::update_save_item_skin($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         if (isset($data['id']) && intval($data['id']) > 0) {
                             Essential_Grid::ajaxResponseSuccess(__("Item Skin changed", EG_TEXTDOMAIN), array('data' => $result));
                         } else {
                             Essential_Grid::ajaxResponseSuccess(__("Item Skin created/changed", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getViewUrl("", "", 'essential-' . Essential_Grid_Admin::VIEW_SUB_ITEM_SKIN_OVERVIEW)));
                         }
                     }
                     break;
                 case 'update_custom_css':
                     if (isset($data['global_css'])) {
                         Essential_Grid_Global_Css::set_global_css_styles($data['global_css']);
                         Essential_Grid::ajaxResponseSuccess(__("CSS saved!", EG_TEXTDOMAIN), '');
                     } else {
                         $error = __("No CSS Received", EG_TEXTDOMAIN);
                     }
                     break;
                 case 'delete_item_skin':
                     $result = Essential_Grid_Item_Skin::delete_item_skin_by_id($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Item Skin deleted", EG_TEXTDOMAIN), array('data' => $result));
                     }
                     break;
                 case 'duplicate_item_skin':
                     $result = Essential_Grid_Item_Skin::duplicate_item_skin_by_id($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Item Skin duplicated", EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getViewUrl("", "", 'essential-' . Essential_Grid_Admin::VIEW_SUB_ITEM_SKIN_OVERVIEW)));
                     }
                     break;
                 case 'star_item_skin':
                     $result = Essential_Grid_Item_Skin::star_item_skin_by_id($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Favorite Changed", EG_TEXTDOMAIN), array('data' => $result));
                     }
                     break;
                 case 'update_create_item_element':
                     $result = Essential_Grid_Item_Element::update_create_essential_item_element($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Item Element created/changed", EG_TEXTDOMAIN), array('data' => $result));
                     }
                     break;
                 case 'check_item_element_existence':
                     $result = Essential_Grid_Item_Element::check_existence_by_handle(@$data['name']);
                     if ($result === false) {
                         Essential_Grid::ajaxResponseData(array("data" => array('existence' => 'false')));
                     } elseif ($result === true) {
                         Essential_Grid::ajaxResponseData(array("data" => array('existence' => 'true')));
                     } else {
                         Essential_Grid::ajaxResponseData(array("data" => array('existence' => $result)));
                     }
                     break;
                 case 'get_predefined_elements':
                     $elements = Essential_Grid_Item_Element::getElementsForJavascript();
                     $html_elements = Essential_Grid_Item_Element::prepareDefaultElementsForEditor();
                     $html_elements .= Essential_Grid_Item_Element::prepareTextElementsForEditor();
                     Essential_Grid::ajaxResponseData(array("data" => array('elements' => $elements, 'html' => $html_elements)));
                     break;
                 case 'delete_predefined_elements':
                     $result = Essential_Grid_Item_Element::delete_element_by_handle($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         Essential_Grid::ajaxResponseSuccess(__("Item Element successfully deleted", EG_TEXTDOMAIN), array('data' => $result));
                     }
                     break;
                 case 'update_create_navigation_skin_css':
                     $nav = new Essential_Grid_Navigation();
                     $result = $nav->update_create_navigation_skin_css($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         $base = new Essential_Grid_Base();
                         $skin_css = Essential_Grid_Navigation::output_navigation_skins();
                         $skins = Essential_Grid_Navigation::get_essential_navigation_skins();
                         $select = '';
                         foreach ($skins as $skin) {
                             $select .= '<option value="' . $skin['handle'] . '">' . $skin['name'] . '</option>' . "\n";
                         }
                         if (isset($data['sid']) && intval($data['sid']) > 0) {
                             Essential_Grid::ajaxResponseSuccess(__("Navigation Skin successfully changed!", EG_TEXTDOMAIN), array('css' => $skin_css, 'select' => $select, 'default_skins' => $skins));
                         } else {
                             Essential_Grid::ajaxResponseSuccess(__("Navigation Skin successfully created", EG_TEXTDOMAIN), array('css' => $skin_css, 'select' => $select, 'default_skins' => $skins));
                         }
                     }
                     break;
                 case 'delete_navigation_skin_css':
                     $nav = new Essential_Grid_Navigation();
                     $result = $nav->delete_navigation_skin_css($data);
                     if ($result !== true) {
                         $error = $result;
                     } else {
                         $base = new Essential_Grid_Base();
                         $skin_css = Essential_Grid_Navigation::output_navigation_skins();
                         $skins = Essential_Grid_Navigation::get_essential_navigation_skins();
                         $select = '';
                         foreach ($skins as $skin) {
                             $select .= '<option value="' . $skin['handle'] . '">' . $skin['name'] . '</option>' . "\n";
                         }
                         Essential_Grid::ajaxResponseSuccess(__("Navigation Skin successfully deleted!", EG_TEXTDOMAIN), array('css' => $skin_css, 'select' => $select, 'default_skins' => $skins));
                     }
                     break;
                 case 'get_post_meta_html_for_editor':
                     if (!isset($data['post_id']) || intval($data['post_id']) == 0) {
                         Essential_Grid::ajaxResponseError(__('No Post ID/Wrong Post ID!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     if (!isset($data['grid_id']) || intval($data['grid_id']) == 0) {
                         Essential_Grid::ajaxResponseError(__('Please save the grid first to use this feature!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     $post = get_post($data['post_id']);
                     $disable_advanced = true;
                     //nessecary, so that only normal things can be changed in preview mode
                     if (!empty($post)) {
                         $grid_id = $data['grid_id'];
                         ob_start();
                         require 'views/elements/grid-meta-box.php';
                         $content = ob_get_contents();
                         ob_clean();
                         ob_end_clean();
                         Essential_Grid::ajaxResponseData(array("data" => array('html' => $content)));
                     } else {
                         Essential_Grid::ajaxResponseError(__('Post not found!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     break;
                 case 'update_post_meta_through_editor':
                     if (!isset($data['metas']) || !isset($data['metas']['post_id']) || intval($data['metas']['post_id']) == 0) {
                         Essential_Grid::ajaxResponseError(__('No Post ID/Wrong Post ID!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     if (!isset($data['metas']) || !isset($data['metas']['grid_id']) || intval($data['metas']['grid_id']) == 0) {
                         Essential_Grid::ajaxResponseError(__('Please save the grid first to use this feature!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     //set the cobbles setting to the post
                     $cobbles = json_decode(get_post_meta($data['metas']['post_id'], 'eg_cobbles', true), true);
                     $cobbles[$data['metas']['grid_id']]['cobbles'] = $data['metas']['eg_cobbles_size'];
                     $cobbles = json_encode($cobbles);
                     update_post_meta($data['metas']['post_id'], 'eg_cobbles', $cobbles);
                     //set the use_skin setting to the post
                     $use_skin = json_decode(get_post_meta($data['metas']['post_id'], 'eg_use_skin', true), true);
                     $use_skin[$data['metas']['grid_id']]['use-skin'] = $data['metas']['eg_use_skin'];
                     $use_skin = json_encode($use_skin);
                     update_post_meta($data['metas']['post_id'], 'eg_use_skin', $use_skin);
                     $result = self::custom_meta_box_save($data['metas']['post_id'], $data['metas'], true);
                     self::check_for_transient_deletion($data['metas']['post_id']);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__("Post Meta saved!", EG_TEXTDOMAIN), array());
                     } else {
                         Essential_Grid::ajaxResponseError(__('Post not found!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     break;
                 case 'trigger_post_meta_visibility':
                     if (!isset($data['post_id']) || intval($data['post_id']) == 0) {
                         Essential_Grid::ajaxResponseError(__('No Post ID/Wrong Post ID!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     if (!isset($data['grid_id']) || intval($data['grid_id']) == 0) {
                         Essential_Grid::ajaxResponseError(__('Please save the grid first to use this feature!', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     $visibility = json_decode(get_post_meta($data['post_id'], 'eg_visibility', true), true);
                     $found = false;
                     if (!empty($visibility) && is_array($visibility)) {
                         foreach ($visibility as $grid => $setting) {
                             if ($grid == $data['grid_id']) {
                                 if ($setting == false) {
                                     $visibility[$grid] = true;
                                 } else {
                                     $visibility[$grid] = false;
                                 }
                                 $found = true;
                                 break;
                             }
                         }
                     }
                     if (!$found) {
                         $visibility[$data['grid_id']] = false;
                     }
                     $visibility = json_encode($visibility);
                     update_post_meta($data['post_id'], 'eg_visibility', $visibility);
                     self::check_for_transient_deletion($data['post_id']);
                     Essential_Grid::ajaxResponseSuccess(__("Visibility of Post for this Grid changed!", EG_TEXTDOMAIN), array());
                     break;
                 case 'get_image_by_id':
                     if (!isset($data['img_id']) || intval($data['img_id']) == 0) {
                         $error = __('Wrong Image ID given', EG_TEXTDOMAIN);
                     } else {
                         $img = wp_get_attachment_image_src($data['img_id'], 'full');
                         if ($img !== false) {
                             Essential_Grid::ajaxResponseSuccess('', array('url' => $img[0]));
                         } else {
                             $error = __('Image with given ID does not exist', EG_TEXTDOMAIN);
                         }
                     }
                     break;
                 case 'activate_purchase_code':
                     $result = false;
                     if (!empty($data['username']) && !empty($data['api_key']) && !empty($data['code'])) {
                         $result = Essential_Grid_Admin::check_purchase_verification($data);
                     } else {
                         $error = __('The API key, the Purchase Code and the Username need to be set!', EG_TEXTDOMAIN);
                     }
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__('Purchase Code Successfully Activated', EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getViewUrl("", "", 'essential-' . Essential_Grid_Admin::VIEW_START)));
                     } else {
                         if ($result !== false) {
                             $error = $result;
                         } else {
                             $error = __('Purchase Code is invalid', EG_TEXTDOMAIN);
                         }
                         Essential_Grid::ajaxResponseError($error, false);
                         exit;
                     }
                     break;
                 case 'deactivate_purchase_code':
                     $result = Essential_Grid_Admin::do_purchase_deactivation($data);
                     if ($result === true) {
                         Essential_Grid::ajaxResponseSuccess(__('Successfully removed validation', EG_TEXTDOMAIN), array('data' => $result, 'is_redirect' => true, 'redirect_url' => self::getViewUrl("", "", 'essential-' . Essential_Grid_Admin::VIEW_START)));
                     } else {
                         if ($result !== false) {
                             $error = $result;
                         } else {
                             $error = __('Could not remove Validation!', EG_TEXTDOMAIN);
                         }
                         Essential_Grid::ajaxResponseError($error, false);
                         exit;
                     }
                     break;
                 case 'dismiss_notice':
                     update_option('tp_eg_valid-notice', 'false');
                     Essential_Grid::ajaxResponseSuccess('.');
                     break;
                 case 'import_default_post_data':
                     try {
                         require EG_PLUGIN_PATH . 'includes/assets/default-posts.php';
                         require EG_PLUGIN_PATH . 'includes/assets/default-grids-meta-fonts.php';
                         if (isset($json_tax)) {
                             $import_tax = new PunchPost();
                             $import_tax->import_taxonomies($json_tax);
                         }
                         //insert meta, grids & punchfonts
                         $im = new Essential_Grid_Import();
                         if (isset($tp_grid_meta_fonts)) {
                             $tp_grid_meta_fonts = json_decode($tp_grid_meta_fonts, true);
                             $grids = @$tp_grid_meta_fonts['grids'];
                             if (!empty($grids) && is_array($grids)) {
                                 $grids_imported = $im->import_grids($grids);
                             }
                             $custom_metas = @$tp_grid_meta_fonts['custom-meta'];
                             if (!empty($custom_metas) && is_array($custom_metas)) {
                                 $custom_metas_imported = $im->import_custom_meta($custom_metas);
                             }
                             $custom_fonts = @$tp_grid_meta_fonts['punch-fonts'];
                             if (!empty($custom_fonts) && is_array($custom_fonts)) {
                                 $custom_fonts_imported = $im->import_punch_fonts($custom_fonts);
                             }
                         }
                         if (isset($json_posts)) {
                             $import = new PunchPort();
                             $import->set_tp_import_posts($json_posts);
                             $import->import_custom_posts();
                         }
                         Essential_Grid::ajaxResponseSuccess(__('Demo data successfully imported', EG_TEXTDOMAIN), array());
                     } catch (Exception $d) {
                         $error = __('Something went wrong, please contact the developer', EG_TEXTDOMAIN);
                     }
                     break;
                 case 'export_data':
                     $export_grids = self::getPostVar('export-grids-id', false);
                     $export_skins = self::getPostVar('export-skins-id', false);
                     $export_elements = self::getPostVar('export-elements-id', false);
                     $export_navigation_skins = self::getPostVar('export-navigation-skins-id', false);
                     $export_global_styles = self::getPostVar('export-global-styles', false);
                     $export_custom_meta = self::getPostVar('export-custom-meta-handle', false);
                     $export_punch_fonts = self::getPostVar('export-punch-fonts-handle', false);
                     header('Content-Type: text/json');
                     header('Content-Disposition: attachment;filename=ess_grid.json');
                     ob_start();
                     $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
                     if ($export_global_styles == 'on') {
                         $export['global-css'] = $ex->export_global_styles($export_global_styles);
                     }
                     echo json_encode($export);
                     $content = ob_get_contents();
                     ob_clean();
                     ob_end_clean();
                     echo $content;
                     exit;
                     break;
                 case 'import_data':
                     if (!isset($data['imports']) || empty($data['imports'])) {
                         Essential_Grid::ajaxResponseError(__('No data for import selected', EG_TEXTDOMAIN), false);
                         exit;
                     }
                     try {
                         $im = new Essential_Grid_Import();
                         $temp_d = @$data['imports'];
                         unset($temp_d['data-grids']);
                         unset($temp_d['data-skins']);
                         unset($temp_d['data-elements']);
                         unset($temp_d['data-navigation-skins']);
                         unset($temp_d['data-global-css']);
                         $im->set_overwrite_data($temp_d);
                         //set overwrite data global to class
                         $skins = @$data['imports']['data-skins'];
                         if (!empty($skins) && is_array($skins)) {
                             foreach ($skins as $key => $skin) {
                                 $tskin = json_decode(stripslashes($skin), true);
                                 if (empty($tskin)) {
                                     $tskin = json_decode($skin, true);
                                 }
                                 $skins[$key] = $tskin;
                             }
                             if (!empty($skins)) {
                                 $skins_ids = @$data['imports']['import-skins-id'];
                                 $skins_imported = $im->import_skins($skins, $skins_ids);
                             }
                         }
                         $navigation_skins = @$data['imports']['data-navigation-skins'];
                         if (!empty($navigation_skins) && is_array($navigation_skins)) {
                             foreach ($navigation_skins as $key => $navigation_skin) {
                                 $tnavigation_skin = json_decode(stripslashes($navigation_skin), true);
                                 if (empty($tnavigation_skin)) {
                                     $tnavigation_skin = json_decode($navigation_skin, true);
                                 }
                                 $navigation_skins[$key] = $tnavigation_skin;
                             }
                             if (!empty($navigation_skins)) {
                                 $navigation_skins_ids = @$data['imports']['import-navigation-skins-id'];
                                 $navigation_skins_imported = $im->import_navigation_skins(@$navigation_skins, $navigation_skins_ids);
                             }
                         }
                         $grids = @$data['imports']['data-grids'];
                         if (!empty($grids) && is_array($grids)) {
                             foreach ($grids as $key => $grid) {
                                 $tgrid = json_decode(stripslashes($grid), true);
                                 if (empty($tgrid)) {
                                     $tgrid = json_decode($grid, true);
                                 }
                                 $grids[$key] = $tgrid;
                             }
                             if (!empty($grids)) {
                                 $grids_ids = @$data['imports']['import-grids-id'];
                                 $grids_imported = $im->import_grids($grids, $grids_ids);
                             }
                         }
                         $elements = @$data['imports']['data-elements'];
                         if (!empty($elements) && is_array($elements)) {
                             foreach ($elements as $key => $element) {
                                 $telement = json_decode(stripslashes($element), true);
                                 if (empty($telement)) {
                                     $telement = json_decode($element, true);
                                 }
                                 $elements[$key] = $telement;
                             }
                             if (!empty($elements)) {
                                 $elements_ids = @$data['imports']['import-elements-id'];
                                 $elements_imported = $im->import_elements(@$elements, $elements_ids);
                             }
                         }
                         $custom_metas = @$data['imports']['data-custom-meta'];
                         if (!empty($custom_metas) && is_array($custom_metas)) {
                             foreach ($custom_metas as $key => $custom_meta) {
                                 $tcustom_meta = json_decode(stripslashes($custom_meta), true);
                                 if (empty($tcustom_meta)) {
                                     $tcustom_meta = json_decode($custom_meta, true);
                                 }
                                 $custom_metas[$key] = $tcustom_meta;
                             }
                             if (!empty($custom_metas)) {
                                 $custom_metas_handle = @$data['imports']['import-custom-meta-handle'];
                                 $custom_metas_imported = $im->import_custom_meta($custom_metas, $custom_metas_handle);
                             }
                         }
                         $custom_fonts = @$data['imports']['data-punch-fonts'];
                         if (!empty($custom_fonts) && is_array($custom_fonts)) {
                             foreach ($custom_fonts as $key => $custom_font) {
                                 $tcustom_font = json_decode(stripslashes($custom_font), true);
                                 if (empty($tcustom_font)) {
                                     $tcustom_font = json_decode($custom_font, true);
                                 }
                                 $custom_fonts[$key] = $tcustom_font;
                             }
                             if (!empty($custom_fonts)) {
                                 $custom_fonts_handle = @$data['imports']['import-punch-fonts-handle'];
                                 $custom_fonts_imported = $im->import_punch_fonts($custom_fonts, $custom_fonts_handle);
                             }
                         }
                         if (@$data['imports']['import-global-styles'] == 'on') {
                             $global_css = @$data['imports']['data-global-css'];
                             $tglobal_css = stripslashes($global_css);
                             if (empty($tglobal_css)) {
                                 $tglobal_css = $global_css;
                             }
                             $global_styles_imported = $im->import_global_styles($tglobal_css);
                         }
                         Essential_Grid::ajaxResponseSuccess(__('Successfully imported data', EG_TEXTDOMAIN), array('is_redirect' => true, 'redirect_url' => self::getViewUrl("", "", 'essential-' . Essential_Grid_Admin::VIEW_START)));
                     } catch (Exception $d) {
                         $error = __('Something went wrong, please contact the developer', EG_TEXTDOMAIN);
                     }
                     break;
                 case 'delete_full_cache':
                     $lang = array();
                     if (Essential_Grid_Wpml::is_wpml_exists()) {
                         $lang = icl_get_languages();
                     }
                     $grids = Essential_Grid::get_essential_grids();
                     if (!empty($grids)) {
                         foreach ($grids as $grid) {
                             if (!empty($lang)) {
                                 foreach ($lang as $code => $val) {
                                     delete_transient('ess_grid_trans_query_' . $grid->id . $val['language_code']);
                                     delete_transient('ess_grid_trans_full_grid_' . $grid->id . $val['language_code']);
                                 }
                             } else {
                                 delete_transient('ess_grid_trans_query_' . $grid->id);
                                 delete_transient('ess_grid_trans_full_grid_' . $grid->id);
                             }
                         }
                     }
                     Essential_Grid::ajaxResponseSuccess(__('Successfully deleted all cache', EG_TEXTDOMAIN), array());
                     break;
                 case "get_image_url":
                     if (isset($data['imageid']) && intval($data['imageid']) > 0) {
                         $img_atts = wp_get_attachment_image_src($data['imageid']);
                         if ($img_atts !== false) {
                             $img_src = $img_atts[0];
                             Essential_Grid::ajaxResponseSuccess(__("Image URL found", EG_TEXTDOMAIN), array('url' => $img_src, 'imageid' => $data['imageid']));
                         }
                     }
                     $error = __('No correct image ID given', EG_TEXTDOMAIN);
                     break;
                 case "toggle_grid_favorite":
                     if (isset($data['id']) && intval($data['id']) > 0) {
                         $return = self::toggle_favorite_by_id($data['id']);
                         if ($return === true) {
                             Essential_Grid::ajaxResponseSuccess(__("Favorite Set", EG_TEXTDOMAIN));
                         } else {
                             $error = $return;
                         }
                     } else {
                         $error = __('No ID given', EG_TEXTDOMAIN);
                     }
                     break;
                 case "subscribe_to_newsletter":
                     if (isset($data['email']) && !empty($data['email'])) {
                         $return = ThemePunch_Newsletter::subscribe($data['email']);
                         if ($return !== false) {
                             if (!isset($return['status']) || $return['status'] === 'error') {
                                 $error = isset($return['message']) && !empty($return['message']) ? $return['message'] : __('Invalid Email', EG_TEXTDOMAIN);
                             } else {
                                 Essential_Grid::ajaxResponseSuccess(__("Success! Please check your Emails to finish the subscribtion", EG_TEXTDOMAIN), $return);
                             }
                         } else {
                             $error = __('Invalid Email/Could not connect to the Newsletter server', EG_TEXTDOMAIN);
                         }
                     } else {
                         $error = __('No Email given', EG_TEXTDOMAIN);
                     }
                     break;
                 case "unsubscribe_to_newsletter":
                     if (isset($data['email']) && !empty($data['email'])) {
                         $return = ThemePunch_Newsletter::unsubscribe($data['email']);
                         if ($return !== false) {
                             if (!isset($return['status']) || $return['status'] === 'error') {
                                 $error = isset($return['message']) && !empty($return['message']) ? $return['message'] : __('Invalid Email', EG_TEXTDOMAIN);
                             } else {
                                 Essential_Grid::ajaxResponseSuccess(__("Success! Please check your Emails to finish the process", EG_TEXTDOMAIN), $return);
                             }
                         } else {
                             $error = __('Invalid Email/Could not connect to the Newsletter server', EG_TEXTDOMAIN);
                         }
                     } else {
                         $error = __('No Email given', EG_TEXTDOMAIN);
                     }
                     break;
                 default:
                     $error = true;
                     break;
             }
         } else {
             $error = true;
         }
         if ($error !== false) {
             $showError = __("Wrong Request!", EG_TEXTDOMAIN);
             if ($error !== true) {
                 $showError = __("Ajax Error: ", EG_TEXTDOMAIN) . $error;
             }
             Essential_Grid::ajaxResponseError($showError, false);
         }
         exit;
     } catch (Exception $e) {
         exit;
     }
 }
コード例 #5
0
 /**
  * Adds default Grids at installation process 
  * @since 1.5.0
  */
 public static function propagate_default_grids()
 {
     $default_grids = array();
     $default_grids = apply_filters('essgrid_add_default_grids', $default_grids);
     if (!empty($default_grids)) {
         $im = new Essential_Grid_Import();
         $im->import_grids($default_grids);
     }
 }
コード例 #6
0
 function cs_import_grid($theme)
 {
     if (file_exists(ABSPATH . 'wp-content/plugins/essential-grid/admin/includes/import.class.php')) {
         require_once ABSPATH . 'wp-content/plugins/essential-grid/admin/includes/import.class.php';
         if ($handle = opendir(get_template_directory() . '/admin/sample/' . $theme . '/grid')) {
             while (false !== ($entry = readdir($handle))) {
                 if ($entry != "." && $entry != "..") {
                     $im = new Essential_Grid_Import();
                     $file_export = get_template_directory() . '/admin/sample/' . $theme . '/grid/' . $entry;
                     $grid_extract = json_decode(file_get_contents($file_export), true);
                     $grids = @$grid_extract['grids'];
                     if (!empty($grids) && is_array($grids)) {
                         $grids_imported = $im->import_grids($grids);
                     }
                 }
             }
             closedir($handle);
         }
     }
 }
コード例 #7
0
ファイル: dynamo-demo-import.php プロジェクト: Karpec/geo-mac
 public function import_grids($file)
 {
     if (file_exists(ABSPATH . 'wp-content/plugins/essential-grid/admin/includes/import.class.php')) {
         require_once ABSPATH . 'wp-content/plugins/essential-grid/essential-grid.php';
         require_once ABSPATH . 'wp-content/plugins/essential-grid/admin/includes/import.class.php';
         $im = new Essential_Grid_Import();
         $file = get_template_directory() . '/dynamo_framework/import/files/' . $file;
         $grid_extract = json_decode(file_get_contents($file), true);
         $skins = @$grid_extract['skins'];
         if (!empty($skins) && is_array($skins)) {
             $skin_ids = array();
             foreach ($skins as $skin) {
                 $skin_ids[] = $skin['id'];
             }
             $im->import_skins($skins, $skin_ids);
         }
         $navigation_skins = @$grid_extract['navigation-skins'];
         if (!empty($navigation_skins) && is_array($navigation_skins)) {
             $navigation_skin_ids = array();
             foreach ($navigation_skins as $navigation_skin) {
                 $navigation_skin_ids[] = $navigation_skin['id'];
             }
             $im->import_navigation_skins($navigation_skins, $navigation_skin_ids);
         }
         $custom_meta = @$grid_extract['custom-meta'];
         if (!empty($custom_meta) && is_array($custom_meta)) {
             $im->import_custom_meta($custom_meta);
         }
         $grids = @$grid_extract['grids'];
         if (!empty($grids) && is_array($grids)) {
             $im->import_grids($grids);
         }
     }
 }
コード例 #8
0
ファイル: core.importer.php プロジェクト: pcuervo/odc
 function import_essgrids()
 {
     if (axiom_exists_essgrids()) {
         $dir = axiom_get_folder_dir($this->options['folder_with_essgrids']);
         if (is_dir($dir)) {
             $hdir = @opendir($dir);
             if ($hdir) {
                 echo '<br><b>' . __('Import Essential Grids ...', 'axiom') . '</b><br>';
                 flush();
                 while (($file = readdir($hdir)) !== false) {
                     $pi = pathinfo($dir . '/' . $file);
                     if (substr($file, 0, 1) == '.' || is_dir($dir . '/' . $file) || $pi['extension'] != 'json') {
                         continue;
                     }
                     if ($this->options['debug']) {
                         printf(__('Ess.Grid "%s":', 'axiom'), $file);
                     }
                     try {
                         $im = new Essential_Grid_Import();
                         $data = json_decode(axiom_fgc($dir . '/' . $file), true);
                         // Prepare arrays with overwrite flags
                         $tmp = array();
                         foreach ($data as $k => $v) {
                             if ($k == 'grids') {
                                 $name = 'grids';
                                 $name_1 = 'grid';
                                 $name_id = 'id';
                             } else {
                                 if ($k == 'skins') {
                                     $name = 'skins';
                                     $name_1 = 'skin';
                                     $name_id = 'id';
                                 } else {
                                     if ($k == 'elements') {
                                         $name = 'elements';
                                         $name_1 = 'element';
                                         $name_id = 'id';
                                     } else {
                                         if ($k == 'navigation-skins') {
                                             $name = 'navigation-skins';
                                             $name1 = 'nav-skin';
                                             $name_id = 'id';
                                         } else {
                                             if ($k == 'punch-fonts') {
                                                 $name = 'punch-fonts';
                                                 $name1 = 'punch-fonts';
                                                 $name_id = 'handle';
                                             } else {
                                                 if ($k == 'custom-meta') {
                                                     $name = 'custom-meta';
                                                     $name1 = 'custom-meta';
                                                     $name_id = 'handle';
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                             if ($k == 'global-css') {
                                 $tmp['import-global-styles'] = "on";
                                 $tmp['global-styles-overwrite'] = "append";
                             } else {
                                 $tmp['import-' . $name] = "true";
                                 $tmp['import-' . $name . '-' . $name_id] = array();
                                 foreach ($v as $v1) {
                                     $tmp['import-' . $name . '-' . $name_id][] = $v1[$name_id];
                                     $tmp[$name_1 . '-overwrite-' . $name_id] = 'append';
                                 }
                             }
                         }
                         $im->set_overwrite_data($tmp);
                         //set overwrite data global to class
                         $skins = @$data['skins'];
                         if (!empty($skins) && is_array($skins)) {
                             $skins_ids = @$tmp['import-skins-id'];
                             $skins_imported = $im->import_skins($skins, $skins_ids);
                         }
                         $navigation_skins = @$data['navigation-skins'];
                         if (!empty($navigation_skins) && is_array($navigation_skins)) {
                             $navigation_skins_ids = @$tmp['import-navigation-skins-id'];
                             $navigation_skins_imported = $im->import_navigation_skins(@$navigation_skins, $navigation_skins_ids);
                         }
                         $grids = @$data['grids'];
                         if (!empty($grids) && is_array($grids)) {
                             $grids_ids = @$tmp['import-grids-id'];
                             $grids_imported = $im->import_grids($grids, $grids_ids);
                         }
                         $elements = @$data['elements'];
                         if (!empty($elements) && is_array($elements)) {
                             $elements_ids = @$tmp['import-elements-id'];
                             $elements_imported = $im->import_elements(@$elements, $elements_ids);
                         }
                         $custom_metas = @$data['custom-meta'];
                         if (!empty($custom_metas) && is_array($custom_metas)) {
                             $custom_metas_handle = @$tmp['import-custom-meta-handle'];
                             $custom_metas_imported = $im->import_custom_meta($custom_metas, $custom_metas_handle);
                         }
                         $custom_fonts = @$data['punch-fonts'];
                         if (!empty($custom_fonts) && is_array($custom_fonts)) {
                             $custom_fonts_handle = @$tmp['import-punch-fonts-handle'];
                             $custom_fonts_imported = $im->import_punch_fonts($custom_fonts, $custom_fonts_handle);
                         }
                         if (@$tmp['import-global-styles'] == 'on') {
                             $global_css = @$data['global-css'];
                             $global_styles_imported = $im->import_global_styles($tglobal_css);
                         }
                         if ($this->options['debug']) {
                             echo ' ' . __('imported', 'axiom') . '<br>';
                         }
                     } catch (Exception $d) {
                         if ($this->options['debug']) {
                             echo ' ' . __('import error:', 'axiom') . '<br>' . dumpVar($response);
                         }
                     }
                     flush();
                     break;
                 }
                 @closedir($hdir);
             }
         }
     } else {
         if ($this->options['debug']) {
             printf(__('Can not locate Essential Grid plugin: %s', 'axiom'), EG_PLUGIN_PATH . '/essential-grid.php<br>');
             flush();
         }
     }
 }
コード例 #9
0
 function install_ess_grid($path)
 {
     if ($path == '') {
         return false;
     }
     /*
     grids==>grids
     skins==>skins
     elements==>elements
     navigation-skins==>navigation_skins
     custom-meta==>custom_meta
     punch-fonts==>punch_fonts
     global-css==>global_styles
     */
     $wp_filesystem = $this->wp_filesystem;
     $im = new Essential_Grid_Import();
     if ($dirlist = $wp_filesystem->dirlist($path)) {
         $return = false;
         foreach ($dirlist as $dirname => $dirattr) {
             if ($dirattr['type'] == 'f' && preg_match("/(\\.json)\$/", $dirname)) {
                 if ($ess_grid_setting = $this->exctract_json($path . $dirname)) {
                     /* skins */
                     if (isset($ess_grid_setting['skins']) && is_array($ess_grid_setting['skins'])) {
                         $skins = array();
                         foreach ($ess_grid_setting['skins'] as $skin) {
                             $skins[$skin['id']] = $skin;
                         }
                         $im->import_skins($skins, array_keys($skins));
                         $return = true;
                     }
                     /* grids */
                     if (isset($ess_grid_setting['grids']) && is_array($ess_grid_setting['grids'])) {
                         $grids = $overwrite_data = array();
                         foreach ($ess_grid_setting['grids'] as $grid) {
                             $grids[$grid['id']] = $grid;
                         }
                         $im->import_grids($grids, array_keys($grids));
                         $return = true;
                     }
                     /* elements */
                     if (isset($ess_grid_setting['elements']) && is_array($ess_grid_setting['elements'])) {
                         $elements = array();
                         foreach ($ess_grid_setting['elements'] as $element) {
                             $elements[$element['id']] = $element;
                         }
                         $im->import_elements($elements, array_keys($elements));
                         $return = true;
                     }
                     /* navigation skins */
                     if (isset($ess_grid_setting['navigation-skins']) && is_array($ess_grid_setting['navigation-skins']) && count($ess_grid_setting['navigation-skins'])) {
                         $navigations = array();
                         foreach ($ess_grid_setting['navigation-skins'] as $navigation) {
                             $navigations[$navigation['id']] = $navigation;
                         }
                         $im->import_navigation_skins($navigations, array_keys($navigations));
                         $return = true;
                     }
                     /* custom meta */
                     if (isset($ess_grid_setting['custom-meta']) && is_array($ess_grid_setting['custom-meta']) && count($ess_grid_setting['custom-meta'])) {
                         $custommetas = array();
                         foreach ($ess_grid_setting['custom-meta'] as $custommeta) {
                             $custommetas[$custommeta['handle']] = $custommeta;
                         }
                         $im->import_custom_meta($custommetas, array_keys($custommetas));
                         $return = true;
                     }
                     /* custom meta */
                     if (isset($ess_grid_setting['punch-fonts']) && is_array($ess_grid_setting['punch-fonts']) && count($ess_grid_setting['punch-fonts'])) {
                         $fonts = array();
                         foreach ($ess_grid_setting['punch-fonts'] as $font) {
                             $fonts[$font['handle']] = $font;
                         }
                         $im->import_punch_fonts($fonts, array_keys($fonts));
                         $return = true;
                     }
                     /* custom css */
                     if (isset($ess_grid_setting['global-css']) && $ess_grid_setting['global-css'] != '') {
                         $im->import_global_styles($ess_grid_setting['global-css']);
                         $return = true;
                     }
                 }
             }
         }
         return $return;
     }
     return false;
 }