Esempio n. 1
0
 protected function render_inner_html_for_select()
 {
     global $core;
     $native = $core->site->native->language;
     $constructor = $this[self::CONSTRUCTOR];
     $options = [];
     if ($constructor == 'pages') {
         $nodes = $core->models['pages']->select('nid, parentid, title')->filter_by_language($native)->order('weight, created')->all(\PDO::FETCH_OBJ);
         $tree = PagesModel::nestNodes($nodes);
         if ($tree) {
             PagesModel::setNodesDepth($tree);
             $records = PagesModel::levelNodesById($tree);
             foreach ($records as $record) {
                 $options[$record->nid] = str_repeat(" ", $record->depth * 4) . $record->title;
             }
         }
     } else {
         $options = $core->models['nodes']->select('nid, title')->filter_by_constructor_and_language($constructor, $native)->order('title')->pairs;
         foreach ($options as &$label) {
             $label = \ICanBoogie\shorten($label);
         }
         unset($label);
     }
     $this[self::OPTIONS] = [null => 'none'] + $options;
     return parent::render_inner_html_for_select();
 }