Пример #1
0
 public function export_grids($export_grids)
 {
     $return_grids = array();
     if ($export_grids !== false && !empty($export_grids)) {
         $c_grid = new Essential_Grid();
         $base = new Essential_Grid_Base();
         $item_skin = new Essential_Grid_Item_Skin();
         $grids = $c_grid->get_essential_grids();
         if (!empty($grids)) {
             foreach ($export_grids as $e_grid_id) {
                 foreach ($grids as $grid) {
                     $grid = (array) $grid;
                     if ($e_grid_id == $grid['id']) {
                         //change categories/tags id to slug
                         $check = json_decode($grid['postparams'], true);
                         if (isset($check['post_category']) && !empty($check['post_category'])) {
                             $slug_cats = array();
                             $the_cats = explode(',', $check['post_category']);
                             foreach ($the_cats as $cat) {
                                 $raw = explode('_', $cat);
                                 $catSlug = $raw[count($raw) - 1];
                                 unset($raw[count($raw) - 1]);
                                 $cat = implode('_', $raw);
                                 $category = $base->get_categories_by_ids((array) $catSlug, $cat);
                                 foreach ($category as $cat_obj) {
                                     $slug_cats[] = $cat . '_' . $cat_obj->slug;
                                 }
                             }
                             $check['post_category'] = implode(',', $slug_cats);
                             $grid['postparams'] = json_encode($check);
                         }
                         //change choosen skinid to skinhandle
                         $check = json_decode($grid['params'], true);
                         if (isset($check['entry-skin']) && !empty($check['entry-skin']) && intval($check['entry-skin']) != 0) {
                             $skin = $item_skin->get_handle_by_id($check['entry-skin']);
                             if (!empty($skin)) {
                                 $check['entry-skin'] = $skin['handle'];
                             }
                             $grid['params'] = json_encode($check);
                         }
                         $return_grids[] = $grid;
                         break;
                     }
                 }
             }
         }
     }
     return $return_grids;
 }