Beispiel #1
0
 protected function _renderData()
 {
     $list = $this->getModel()->fetch();
     $results = array();
     foreach ($list as $item) {
         $key = $item->filename;
         $results[$key] = $item->toArray();
     }
     ksort($results);
     $output = parent::_renderData();
     $output['items'] = $results;
     $output['total'] = count($list);
     return $output;
 }
Beispiel #2
0
 protected function _getList()
 {
     $model = $this->getModel();
     // Save state data for later
     $state_data = $model->getState()->getData();
     $nodes = $this->getService('com://admin/files.model.nodes')->set($state_data)->getList();
     $needed = array();
     foreach ($nodes as $row) {
         if ($row->isImage()) {
             $needed[] = $row->name;
         }
     }
     $model->reset();
     $model->set('files', $needed);
     $list = array_values($model->getList()->toArray());
     $found = array();
     foreach ($list as $row) {
         $found[] = $row['filename'];
     }
     if ($found !== $needed) {
         $new = array();
         foreach ($nodes as $row) {
             if ($row->isImage() && !in_array($row->name, $found)) {
                 $result = $row->saveThumbnail(null);
                 if ($result) {
                     $new[] = $row->name;
                 }
             }
         }
         if (count($new)) {
             $model->reset();
             $model->set('files', $new);
             $list = array_merge($list, array_values($model->getList()->toArray()));
         }
     }
     $results = array();
     foreach ($list as $item) {
         $key = $item['filename'];
         $results[$key] = $item;
     }
     ksort($results);
     $output = parent::_getList();
     $output['items'] = $results;
     $output['total'] = count($list);
     return $output;
 }