Example #1
0
 protected function _prepareCollection()
 {
     $sort = $this->getParam('sort', $this->_defaultSort);
     $dir = $this->getParam('dir', $this->_defaultDir);
     $files = $this->_helper->getLogFiles();
     if (isset($sort) && !empty($files) && isset($files[0][$sort])) {
         usort($files, function ($a, $b) use($sort, $dir) {
             $a = $a[$sort];
             $b = $b[$sort];
             if (is_numeric($a)) {
                 return $dir == 'asc' ? $a - $b : $b - $a;
             } else {
                 return $dir == 'asc' ? strcmp($a, $b) : -strcmp($a, $b);
             }
         });
     }
     $collection = new Varien_Data_Collection();
     foreach ($files as $file) {
         $item = new Varien_Object();
         $item->setIdFieldName('filename');
         $item->setFilename($file['filename']);
         $item->setFilesize($this->_helper->humanFilesize($file['filesize']));
         $item->setLines($file['lines']);
         $collection->addItem($item);
     }
     $this->setCollection($collection);
     return parent::_prepareCollection();
 }