예제 #1
0
파일: module.php 프로젝트: greor/satin-spb
 public function assert(Acl $acl, $role = null, $resource = null, $privilege = null)
 {
     if (!Helper_Page::instance()->not_equal($resource, 'type', 'module')) {
         return FALSE;
     }
     return TRUE;
 }
예제 #2
0
파일: page.php 프로젝트: greor/satin-spb
 public function assert(Acl $acl, $role = null, $resource = null, $privilege = null)
 {
     $hasnt_module = Helper_Page::instance()->not_equal($resource, 'type', 'module');
     if (!$resource->can_hiding or $resource->site_id != $this->_site_id_master or $this->_site_id == $this->_site_id_master or !$hasnt_module) {
         return FALSE;
     }
     return TRUE;
 }
예제 #3
0
파일: blog.php 프로젝트: greor/kohana-blog
 public function hook_callback($content, $orm)
 {
     $request = $this->request;
     $back_url = $request->url();
     $query_array = $request->query();
     if (!empty($query_array)) {
         $back_url .= '?' . http_build_query($query_array);
     }
     $back_url .= '#tab-' . $this->tab_code;
     unset($query_array);
     $query_array = array('group' => $this->blog_group, 'blog' => $orm->blog_id, 'back_url' => $back_url, 'content_only' => TRUE);
     $query_array = Paginator::query($request, $query_array);
     $link = Route::url('modules', array('controller' => $this->controller_name, 'query' => Helper_Page::make_query_string($query_array)));
     $html_blog = Request::factory($link)->execute()->body();
     $tab_nav_html = View_Admin::factory('layout/tab/nav', array('code' => $this->tab_code, 'title' => '<b>' . __('Blog') . '</b>'));
     $tab_pane_html = View_Admin::factory('layout/tab/pane', array('code' => $this->tab_code, 'content' => $html_blog));
     return str_replace(array('<!-- #tab-nav-insert# -->', '<!-- #tab-pane-insert# -->'), array($tab_nav_html . '<!-- #tab-nav-insert# -->', $tab_pane_html . '<!-- #tab-pane-insert# -->'), $content);
 }
예제 #4
0
파일: pages.php 프로젝트: greor/satin-spb
 public function action_clear_cache()
 {
     Helper_Page::clear_cache();
     if (empty($this->back_url)) {
         $this->back_url = Route::url('admin', array('controller' => 'pages'));
     }
     $this->request->current()->redirect($this->back_url);
 }
예제 #5
0
파일: blog.php 프로젝트: greor/kohana-blog
 protected function _get_breadcrumbs()
 {
     $query_array = array('group' => $this->group_key);
     return array(array('title' => __('Blogs'), 'link' => Route::url('modules', array('controller' => $this->controller_name['entity'], 'query' => Helper_Page::make_query_string($query_array)))));
 }
예제 #6
0
 protected function _get_breadcrumbs()
 {
     $breadcrumbs = parent::_get_breadcrumbs();
     $query_array = array('group' => $this->group_key, 'blog' => $this->blog_id);
     $category_orm = ORM::factory('blog')->and_where('id', '=', $this->blog_id)->find();
     if ($category_orm->loaded()) {
         $breadcrumbs[] = array('title' => $category_orm->title, 'link' => Route::url('modules', array('controller' => $this->controller_name['element'], 'query' => Helper_Page::make_query_string($query_array))));
     }
     $action = $this->request->current()->action();
     if (in_array($action, array('edit', 'view'))) {
         $id = (int) $this->request->current()->param('id');
         $element_orm = ORM::factory('blog_Post')->where('id', '=', $id)->find();
         if ($element_orm->loaded()) {
             switch ($action) {
                 case 'edit':
                     $_str = ' [' . __('edition') . ']';
                     break;
                 case 'view':
                     $_str = ' [' . __('viewing') . ']';
                     break;
                 default:
                     $_str = '';
             }
             $breadcrumbs[] = array('title' => $element_orm->title . $_str);
         } else {
             $breadcrumbs[] = array('title' => ' [' . __('new post') . ']');
         }
     }
     return $breadcrumbs;
 }
예제 #7
0
파일: news.php 프로젝트: greor/kohana-news
 protected function _get_breadcrumbs()
 {
     $query_array = array('page' => $this->module_page_id);
     return array(array('title' => __('Categories'), 'link' => Route::url('modules', array('controller' => $this->controller_name['category'], 'query' => Helper_Page::make_query_string($query_array)))));
 }
예제 #8
0
파일: list.php 프로젝트: greor/kohana-photo
<?php

defined('SYSPATH') or die('No direct access allowed.');
echo View_Admin::factory('layout/breadcrumbs', array('breadcrumbs' => $breadcrumbs));
$query_array = array('group' => $GROUP_KEY, 'album' => $ALBUM_ID);
$action = Route::url('modules', array('controller' => $CONTROLLER_NAME['multiupload'], 'action' => 'upload', 'query' => Helper_Page::make_query_string($query_array)));
?>
	<div class="row">
		<div class="span4">
			<div class="form-inline">
				<label for="js-album"><?php 
echo __('Album');
?>
:</label>
<?php 
echo Form::select('album_id', array('' => '') + $albums, FALSE, array('id' => 'js-album'));
?>
			</div>
		</div>
		<div class="span5">
			<div class="form-inline pull-right" style="padding-top: 5px;">
				<label for="js-to-head" class="checkbox-label"><?php 
echo __('Add to head');
?>
</label>
<?php 
echo Form::checkbox('to_head', 1, FALSE, array('id' => 'js-to-head', 'style' => 'margin: -1px 0 0 5px'));
?>
			
			</div>
		</div>
예제 #9
0
파일: edit.php 프로젝트: greor/kohana-blog
defined('SYSPATH') or die('No direct access allowed.');
echo View_Admin::factory('layout/breadcrumbs', array('breadcrumbs' => $breadcrumbs));
$orm = $helper_orm->orm();
$labels = $orm->labels();
$required = $orm->required_fields();
$query_array = array('group' => $GROUP_KEY, 'blog' => $BLOG_ID);
if (!empty($BACK_URL)) {
    $query_array['back_url'] = $BACK_URL;
}
if ($orm->loaded()) {
    $query_array = Paginator::query(Request::current(), $query_array);
    $action = Route::url('modules', array('controller' => $CONTROLLER_NAME['element'], 'action' => 'edit', 'id' => $orm->id, 'query' => Helper_Page::make_query_string($query_array)));
    $_link = Route::url('preview', array('directory' => 'modules', 'controller' => 'blog', 'query' => Helper_Page::make_query_string(array('id' => $orm->id, 'token' => Route::get_preview_token($orm->id)))), NULL, $SITE['code']);
    $preview_link = HTML::anchor($_link, __('Preview link'), array('class' => 'item-preview-link', 'target' => '_blank'));
} else {
    $action = Route::url('modules', array('controller' => $CONTROLLER_NAME['element'], 'action' => 'edit', 'query' => Helper_Page::make_query_string($query_array)));
    $preview_link = '';
}
echo View_Admin::factory('layout/error')->bind('errors', $errors);
?>

	<form method="post" action="<?php 
echo $action;
?>
" enctype="multipart/form-data" class="form-horizontal" >
		<div class="tabbable">
			<ul class="nav nav-tabs kr-nav-tsbs">
<?php 
echo '<li class="active">', HTML::anchor('#tab-main', __('Main'), array('data-toggle' => 'tab')), '</li>';
echo '<li>', HTML::anchor('#tab-description', __('Description'), array('data-toggle' => 'tab')), '</li>';
if (!empty($properties)) {
예제 #10
0
파일: list.php 프로젝트: show123456/taiyou
    echo $have_cent;
    die;
}
//sql
$filter = array();
$filter['where'] = "customer_id = {$customer_id}";
$filter['order'] = "id desc";
$filter['order'] .= $status ? ',status asc' : ',status desc';
if ($have_cent) {
    $filter['order'] .= ',have_cent desc';
}
//result
$result = $memberModel->paginate($filter, '*', $page, 10);
$pager = $result['pager'];
//pager
if ($pager['count'] > $pager['size']) {
    $pagerhtml = new SubPages($pager['size'], $pager['count'], $pager['current'], $pager['range'], 2, '');
    $smarty->assign("pagerhtml", $pagerhtml);
}
foreach ($result['data'] as $key => $row) {
    $result['data'][$key]['subscribe_time'] = date('Y-m-d', $row['subscribe_time']);
    $result['data'][$key]['unsubscribe_time'] = date('Y-m-d', $row['unsubscribe_time']);
    $result['data'][$key]['status'] = $memberModel->getStatus($row['status']);
}
//smarty
$smarty->assign("memberlist", $result['data']);
$smarty->assign('statusUri', Helper_Page::status(!$status));
//排序uri拼装
$smarty->assign('haveCentUri', Helper_Page::haveCent(!$have_cent));
////排序uri拼装
$smarty->setTpl('member/templates/list.html')->display();
예제 #11
0
파일: form.php 프로젝트: greor/satin-spb
				</td>
				<td>
<?php 
    echo '<div class="btn-group">';
    echo HTML::anchor(str_replace('{id}', $_orm->id, $view_tpl), '<i class="icon-file"></i> ' . __('View'), array('class' => 'btn', 'title' => __('View')));
    if ($_orm->new) {
        echo '<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>';
        echo '<ul class="dropdown-menu">';
        echo '<li>', HTML::anchor(str_replace('{id}', $_orm->id, $mark_tpl), '<i class="icon-ok"></i> ' . __('Mark as read'), array('title' => __('Mark as read'))), '</li>';
        echo '</ul>';
    }
    echo '</div>';
    ?>
				</td>
			</tr>
<?php 
}
?>
		</tbody>
	</table>
<?php 
$query_array = array('owner' => $OWNER);
$filter_query = Request::current()->query('filter');
if (!empty($filter_query)) {
    $query_array['filter'] = $filter_query;
}
if (!empty($BACK_URL)) {
    $query_array['back_url'] = $BACK_URL;
}
$link = Route::url('admin', array('controller' => $CONTROLLER_NAME['structure'], 'action' => 'form', 'id' => $orm_form->id, 'query' => Helper_Page::make_query_string($query_array)));
echo $paginator->render($link);
예제 #12
0
        echo __('Article'), ': ', $_orm->code;
        ?>
</small>
								</section>
							</a>
						</figure>
					</div>
<?php 
    }
    ?>
	
				<div class="clearfix"></div>
<?php 
    $request = Request::current();
    $query_array = array();
    $filter_array = $request->query('filter');
    if (!empty($filter_array)) {
        $query_array['filter'] = $filter_array;
    }
    $order = $request->query('order');
    if (!empty($order)) {
        $query_array['order'] = $order;
    }
    $category_uri = Request::current()->param('category_uri');
    $link = URL::base() . Page_Route::uri($PAGE_ID, 'catalog', array('category_uri' => implode('/', array_reverse($category_uri)), 'query' => Helper_Page::make_query_string($query_array)));
    echo $paginator->render($link);
    ?>
			</div>
		</div>
<?php 
}
예제 #13
0
파일: helper.php 프로젝트: greor/satin-spb
function draw_sub($childrens, $reference, $tpl, $inactive)
{
    static $depth;
    $depth = isset($depth) ? ++$depth : 0;
    $ACL = $reference['ACL'];
    $USER = $reference['USER'];
    $modules = $reference['modules'];
    $base_uri_list = $reference['base_uri_list'];
    $status_codes = $reference['status_codes'];
    $page_types = $reference['page_types'];
    $tpl_array = $reference['tpl_array'];
    $hided_list = $reference['hided_list'];
    $query_region = $reference['query_region'];
    $_list = array();
    foreach ($childrens as $_item) {
        $item = $_item['object'];
        $tpl_array = $reference['tpl_array'];
        $_attr = array();
        $_attr_title = array();
        if (strpos($base_uri_list[$item->id], 'http') === 0) {
            $_uri = $base_uri_list[$item->id];
        } else {
            $_uri = URL::base() . $base_uri_list[$item->id];
        }
        $_uri .= $query_region;
        $_status_icon = $item->level > 1 ? '<div class="marker"></div>' : '';
        switch ($item->status) {
            case $status_codes['inactive']:
                $_attr[] = 'inactive';
                $_attr_title[] = 'Неактивно';
                $_link = '<span>' . $_uri . '</span>';
                $_status_icon .= '<i class="icon-ban-circle icon"></i> ';
                break;
            case $status_codes['hidden']:
                $_link = HTML::anchor($_uri, $_uri, array('target' => '_blank'));
                $_status_icon .= '<i class="icon-asterisk icon"></i> ';
                break;
            case $status_codes['active']:
                $_link = HTML::anchor($_uri, $_uri, array('target' => '_blank'));
                $_status_icon .= '<i class="icon-eye-open icon"></i> ';
                break;
        }
        if (in_array($item->id, $hided_list)) {
            $_attr[] = 'hided-element';
        }
        if ($item->for_all) {
            $_title = "<strong>{$item->title}</strong>";
        } else {
            $_title = $item->title;
        }
        $__list = array();
        if ($ACL->is_allowed($USER, $item, 'edit')) {
            if (!Helper_Page::instance()->not_equal($item, 'type', 'module') or !empty($item->name)) {
                unset($tpl_array['delete_tpl']);
            }
            unset($tpl_array['visibility_tpl']);
            foreach ($tpl_array as $__key => $__tpl) {
                $__list[] = str_replace('--ID--', $item->id, $__tpl);
            }
        } else {
            foreach ($tpl_array as $__key => $__tpl) {
                if ($__key == 'visibility_tpl') {
                    if ($ACL->is_allowed($USER, $item, 'can_hide')) {
                        if (in_array($item->id, $hided_list)) {
                            $__list[] = str_replace(array('--ID--', '--mode--', '--TITLE--', '--icon-class--'), array($item->id, 'show', __('Show'), 'icon-eye-open'), $__tpl);
                        } else {
                            $__list[] = str_replace(array('--ID--', '--mode--', '--TITLE--', '--icon-class--'), array($item->id, 'hide', __('Hide'), 'icon-eye-close'), $tpl_array['visibility_tpl']);
                        }
                    }
                    break;
                }
            }
        }
        $_actions = implode('', $__list);
        if ($item->type == 'module') {
            $_descr = __($modules[$item->data]['name']);
        } else {
            $_descr = $page_types[$item->type];
        }
        $_childrens = '';
        if (!empty($_item['childrens'])) {
            $_childrens = draw_sub($_item['childrens'], $reference, $tpl, $inactive || $item->status == $status_codes['inactive']);
        }
        $_attr = ' class="' . implode(' ', $_attr) . '"';
        if (!empty($_attr_title)) {
            $_attr .= ' title="' . implode(' ', $_attr_title) . '"';
        }
        $_list[] = str_replace(array('{ATTR}', '{STATUS_ICONS}', '{ACTIONS}', '{TITLE}', '{LINK}', '{DESCRIPTION}', '{CHILDRENS}'), array($_attr, $_status_icon, $_actions, $_title, $_link, $_descr, $_childrens), $tpl);
    }
    $class = $depth > 0 ? 'sub' : 'list-pages';
    $depth--;
    return '<ul class="' . $class . '">' . implode('', $_list) . '</ul>';
}
예제 #14
0
 protected function _get_breadcrumbs()
 {
     $query_array = array('owner' => $this->owner);
     $breadcrumbs = array(array('title' => __('Forms (Responses)'), 'link' => Route::url('admin', array('controller' => $this->controller_name['responses'], 'query' => Helper_Page::make_query_string($query_array)))));
     return array_merge($breadcrumbs, $this->breadcrumbs);
 }
예제 #15
0
파일: list.php 프로젝트: greor/satin-spb
    echo HTML::anchor(str_replace('{id}', $_orm->id, $edit_tpl), '<i class="icon-edit"></i> ' . __('Edit'), array('class' => 'btn', 'title' => __('Edit')));
    if ($ACL->is_allowed($USER, $_orm, 'edit') and !in_array($_orm->owner, $NOT_DELETED_OWNER)) {
        echo '<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>';
        echo '<ul class="dropdown-menu">';
        echo '<li>', HTML::anchor(str_replace('{id}', $_orm->id, $delete_tpl), '<i class="icon-remove"></i> ' . __('Delete'), array('class' => 'delete_button', 'title' => __('Delete'))), '</li>';
        echo '</ul>';
    }
    echo '</div>';
    ?>
				</td>
			</tr>
<?php 
}
?>
		</tbody>
	</table>
<?php 
if (empty($BACK_URL)) {
    $query_array = array('owner' => $OWNER);
    $filter_query = Request::current()->query('filter');
    if (!empty($filter_query)) {
        $query_array['filter'] = $filter_query;
    }
    if (!empty($BACK_URL)) {
        $query_array['back_url'] = $BACK_URL;
    }
    $link = Route::url('admin', array('controller' => $CONTROLLER_NAME['structure'], 'query' => Helper_Page::make_query_string($query_array)));
} else {
    $link = $BACK_URL;
}
echo $paginator->render($link);
예제 #16
0
파일: sitemap.php 프로젝트: greor/satin-spb
 protected function _generate()
 {
     $_common_set = array();
     $this->pages_uris = Helper_Page::parse_to_base_uri(ORM::factory('page')->find_all());
     $pages = $this->get_pages();
     foreach ($pages as $item) {
         $item = $this->set_default_values($item);
         $_set = array();
         if ($item['type'] == 'static') {
             $_set[] = $this->_page_item($item);
         } elseif ($item['type'] == 'module') {
             switch ($item['data']) {
                 case 'cities':
                 case 'contacts':
                 case 'chart':
                 case 'feedback':
                 case 'playlist':
                 case 'search':
                     $_set[] = $this->_page_item($item);
                     break;
                 case 'news':
                     $_set = $this->_news_items($item);
                     break;
                 case 'programs':
                     $_set = $this->_programs_items($item);
                     break;
                 case 'staff':
                     $_set = $this->_staff_items($item);
                     break;
             }
         }
         if ($item['sm_separate_file'] == 1 and !empty($_set)) {
             $sitemap = new Sitemap();
             foreach ($_set as $_item) {
                 $sitemap_url = new Sitemap_URL();
                 $sitemap_url->set_loc($_item['loc'])->set_change_frequency($_item['changefreq'])->set_priority(str_replace(',', '.', $_item['priority']));
                 if (!empty($_item['lastmod'])) {
                     $_unix_time = strtotime($_item['lastmod']);
                     $sitemap_url->set_last_mod($_unix_time);
                 }
                 $sitemap->add($sitemap_url);
                 unset($sitemap_url);
             }
             $this->write_to_file($this->sitemap_directory . DIRECTORY_SEPARATOR . 'part_' . uniqid() . '.xml', $sitemap->render());
             unset($sitemap);
         } else {
             $_common_set = array_merge($_common_set, $_set);
         }
     }
     if (!empty($_common_set)) {
         $sitemap = new Sitemap();
         foreach ($_common_set as $_item) {
             $sitemap_url = new Sitemap_URL();
             $sitemap_url->set_loc($_item['loc'])->set_change_frequency($_item['changefreq'])->set_priority(str_replace(',', '.', $_item['priority']));
             if (!empty($_item['lastmod'])) {
                 $_unix_time = strtotime($_item['lastmod']);
                 $sitemap_url->set_last_mod($_unix_time);
             }
             $sitemap->add($sitemap_url);
             unset($sitemap_url);
         }
         $this->write_to_file($this->sitemap_directory . DIRECTORY_SEPARATOR . uniqid('common_') . '.xml', $sitemap->render());
         unset($sitemap);
     }
 }
예제 #17
0
파일: sites.php 프로젝트: greor/satin-spb
 public function action_delete()
 {
     $request = $this->request->current();
     $id = (int) $request->param('id');
     $helper_orm = ORM_Helper::factory('site', $id);
     $orm = $helper_orm->orm();
     if (!$orm->loaded() or !$this->acl->is_allowed($this->user, $orm, 'edit')) {
         throw new HTTP_Exception_404();
     }
     if ($this->element_delete($helper_orm)) {
         if (empty($this->back_url)) {
             $query_array = Paginator::query($request);
             $this->back_url = Route::url('admin', array('controller' => 'sites', 'query' => Helper_Page::make_query_string($query_array)));
         }
         $request->redirect($this->back_url);
     }
 }
예제 #18
0
 public function action_visibility()
 {
     $request = $this->request->current();
     $id = (int) $request->param('id');
     $mode = $request->query('mode');
     $orm = ORM::factory('news_Category')->where('page_id', '=', $this->module_page_id)->and_where('id', '=', $id)->find();
     if (!$orm->loaded() or !$this->acl->is_allowed($this->user, $orm, 'hide')) {
         throw new HTTP_Exception_404();
     }
     if (in_array($orm->code, $this->not_deleted_categories)) {
         throw new HTTP_Exception_404();
     }
     if ($mode == 'hide') {
         $this->element_hide($orm->object_name(), $orm->id);
     } elseif ($mode == 'show') {
         $this->element_show($orm->object_name(), $orm->id);
     }
     if (empty($this->back_url)) {
         $query_array = array('page' => $this->module_page_id);
         $query_array = Paginator::query($request, $query_array);
         $this->back_url = Route::url('modules', array('controller' => $this->controller_name['category'], 'query' => Helper_Page::make_query_string($query_array)));
     }
     $request->redirect($this->back_url);
 }
예제 #19
0
파일: list.php 프로젝트: greor/kohana-photo
        echo '<ul class="dropdown-menu">';
        echo '<li>', HTML::anchor(str_replace('{id}', $_orm->id, $edit_tpl), '<i class="icon-edit"></i> ' . __('Edit'), array('title' => __('Edit'))), '</li>';
        if (!in_array($_orm->code, $not_deleted_albums)) {
            echo '<li>', HTML::anchor(str_replace('{id}', $_orm->id, $delete_tpl), '<i class="icon-remove"></i> ' . __('Delete'), array('class' => 'delete_button', 'title' => __('Delete'))), '</li>';
        }
        echo '</ul>';
    }
    echo '</div>';
    ?>
				</td>
			</tr>
<?php 
}
?>
		</tbody>
	</table>
<?php 
if (empty($BACK_URL)) {
    $query_array = array('group' => $GROUP_KEY);
    $filter_query = Request::current()->query('filter');
    if (!empty($filter_query)) {
        $query_array['filter'] = $filter_query;
    }
    if (!empty($BACK_URL)) {
        $query_array['back_url'] = $BACK_URL;
    }
    $link = Route::url('modules', array('controller' => $CONTROLLER_NAME['album'], 'query' => Helper_Page::make_query_string($query_array)));
} else {
    $link = $BACK_URL;
}
echo $paginator->render($link);
예제 #20
0
 public function action_view()
 {
     $request = $this->request->current();
     $id = (int) $request->param('id');
     $helper_orm = ORM_Helper::factory('video');
     $orm = $helper_orm->orm();
     $orm->where('id', '=', $id)->find();
     if (!$orm->loaded()) {
         throw new HTTP_Exception_404();
     }
     if (empty($this->back_url)) {
         $query_array = Paginator::query($request);
         $this->back_url = Route::url('modules', array('controller' => $this->controller_name['element'], 'query' => Helper_Page::make_query_string($query_array)));
     }
     $this->template->set_filename('modules/video/element/view')->set('helper_orm', $helper_orm);
     $this->title = __('Viewing');
     $this->left_menu_element_add();
 }
예제 #21
0
파일: catalog.php 프로젝트: greor/satin-spb
 private function _get_nomenclature($orm)
 {
     $nomenclature_element = new Nomenclature_Element();
     $nom_list = $nomenclature_element->get_list($orm->id);
     $nom_properties = $nomenclature_element->get_properties($nom_list);
     $request = $this->request->current();
     $query_array = array_intersect_key($request->query(), array_filter(array('no_cache' => TRUE, 'p' => FALSE)));
     $query_string = Helper_Page::make_query_string($query_array);
     $query_string = empty($query_string) ? '' : '?' . $query_string;
     $link_tpl = $request->url() . $query_string . '#item-';
     $result = array();
     foreach ($nom_list as $_orm) {
         $_props = Arr::get($nom_properties, $_orm->id, array());
         $_size_name = Arr::path($_props, 'Size.value.Name.value');
         $_duvet_cover = Arr::path($_props, 'Size.value.DuvetCover.value');
         $_bedsheet = Arr::path($_props, 'Size.value.Bedsheet.value');
         $_pillowslip = Arr::path($_props, 'Size.value.Pillowslip.value');
         $_price = Arr::path($_props, 'Price.value');
         $_discount = Arr::path($_props, 'Discount.value');
         $result[] = array('id' => $_orm->id, 'name' => "{$orm->title} ({$_size_name})", 'link' => $link_tpl . $_orm->id, 'price' => $_price, 'discount' => $_discount, 'size' => array('name' => $_size_name, 'duvet_cover' => implode(', ', Arr::pluck($_duvet_cover, 'value')), 'bedsheet' => implode(', ', Arr::pluck($_bedsheet, 'value')), 'pillowslip' => implode(', ', Arr::pluck($_pillowslip, 'value'))));
     }
     usort($result, function ($elm_1, $elm_2) {
         if ($elm_1['price'] == $elm_2['price']) {
             return 0;
         }
         return $elm_1['price'] > $elm_2['price'] ? -1 : 1;
     });
     return $result;
 }