Exemplo n.º 1
0
 public function all()
 {
     $field = array('type' => 'list', 'filter' => true);
     $field['labels'] = array('name' => fx::alang('Name', 'system'), 'keyword' => fx::alang('Keyword', 'system'), 'buttons' => array('type' => 'buttons'));
     $field['values'] = array();
     $field['entity'] = 'widget';
     $widgets = fx::data('widget')->all();
     foreach ($widgets as $widget) {
         $submenu = Component::getComponentSubmenu($widget);
         $submenu_first = current($submenu);
         $r = array('id' => $widget['id'], 'keyword' => $widget['keyword'], 'name' => array('name' => $widget['name'], 'url' => $submenu_first['url']));
         $r['buttons'] = array();
         foreach ($submenu as $submenu_item) {
             //if (!$submenu_item['parent']) {
             $r['buttons'][] = array('type' => 'button', 'label' => $submenu_item['title'], 'url' => $submenu_item['url']);
             //}
         }
         $field['values'][] = $r;
     }
     $this->response->addButtons(array(array('key' => "add", 'title' => fx::alang('Add new widget', 'system'), 'url' => '#admin.widget.add'), "delete"));
     $result = array('fields' => array($field));
     $this->response->breadcrumb->addItem(self::entityTypes('widget'), '#admin.widget.all');
     $this->response->submenu->setMenu('widget');
     return $result;
 }
Exemplo n.º 2
0
 /**
  * A list of all components
  */
 public function all()
 {
     $entity = $this->entity_type;
     $finder = fx::data($entity);
     $tree = $finder->getTree();
     $field = array('type' => 'list', 'filter' => true);
     $field['labels'] = array('name' => fx::alang('Name', 'system'), 'keyword' => fx::alang('Keyword'), 'count' => fx::alang('Count', 'system'), 'buttons' => array('type' => 'buttons'));
     $field['values'] = array();
     $field['entity'] = $entity;
     $append_coms = function ($coll, $level) use(&$field, &$append_coms) {
         foreach ($coll as $v) {
             $submenu = Component::getComponentSubmenu($v);
             $submenu_first = current($submenu);
             try {
                 $items_count = fx::db()->getCol("SELECT count(*) from  {{" . $v->getContentTable() . "}}");
             } catch (\Exception $e) {
                 $items_count = 0;
             }
             $r = array('id' => $v['id'], 'keyword' => $v['keyword'], 'count' => $items_count, 'name' => array('name' => $v['name'], 'url' => $submenu_first['url'], 'level' => $level));
             $r['buttons'] = array();
             foreach ($submenu as $submenu_item_key => $submenu_item) {
                 if (!$submenu_item['parent']) {
                     // && $submenu_item_key != 'fields') {
                     $r['buttons'][] = array('type' => 'button', 'label' => $submenu_item['title'], 'url' => $submenu_item['url']);
                 }
             }
             $field['values'][] = $r;
             if (isset($v['children']) && $v['children']) {
                 $append_coms($v['children'], $level + 1);
             }
         }
     };
     $append_coms($tree, 0);
     $fields[] = $field;
     $this->response->addButtons(array(array('key' => "add", 'title' => fx::alang('Add new ' . $entity, 'system'), 'url' => '#admin.' . $entity . '.add'), "delete"));
     $result = array('fields' => $fields);
     $this->response->breadcrumb->addItem(self::entityTypes($entity), '#admin.' . $entity . '.all');
     $this->response->submenu->setMenu($entity);
     return $result;
 }
Exemplo n.º 3
0
 protected function initMenuWidget($id)
 {
     $this->type = 'full';
     $widget = fx::data('widget')->getById($id);
     if (!$widget) {
         $this->error = fx::alang('Widget not found', 'system');
     } else {
         $this->title = $widget['name'];
         $this->backlink = 'widget.all';
         $items = Controller\Component::getComponentSubmenu($widget);
         foreach ($items as $item) {
             $this->menu[] = $this->addNode($item['code'], $item['title'], $item['url']);
         }
     }
 }