Exemplo n.º 1
0
 /**
  * Method to load files data in array
  *
  * @access    public
  * @return    array  An array of results.
  */
 public function getItems()
 {
     global $jlistConfig;
     jimport('joomla.filesystem.folder');
     jimport('joomla.filesystem.file');
     require_once JPATH_COMPONENT . '/helpers/jdownloadshelper.php';
     jimport('joomla.html.pagination');
     $app = JFactory::getApplication('administrator');
     $mainframe = JFactory::getApplication();
     $option = 'com_jdownloads';
     // Lets load the file data if it doesn't already exist
     if (empty($this->_data)) {
         // get all file names from upload root dir
         $files_dir = $jlistConfig['files.uploaddir'] . DS;
         $filenames = JFolder::files($jlistConfig['files.uploaddir'], $filter = '.', $recurse = false, $fullpath = false, $exclude = array('index.htm', 'index.html', '.htaccess'));
         $files_info = array();
         // build data array for files list
         for ($i = 0; $i < count($filenames); $i++) {
             $files_info[$i]['id'] = $i + 1;
             $files_info[$i]['name'] = $filenames[$i];
             $date_format = JDownloadsHelper::getDateFormat();
             $files_info[$i]['date'] = date($date_format['long'], filemtime($files_dir . $filenames[$i]));
             $files_info[$i]['size'] = JDownloadsHelper::fsize($files_dir . $filenames[$i]);
         }
         // search in file names
         $search = $this->getState('filter.search');
         if ($search) {
             $search_result = JDownloadsHelper::arrayRegexSearch('/' . $search . '/i', $files_info, TRUE, TRUE);
             foreach ($search_result as $result) {
                 $files_info_result[] = $files_info[$result];
             }
             $files_info = $files_info_result;
         }
         // build pagination data
         $limitstart = $this->getState('list.start');
         $limit = $this->getState('list.limit');
         $pageNav = new JPagination(count($files_info), $limitstart, $limit);
         $this->_pagination = $pageNav;
         $items = array_splice($files_info, $limitstart, $limit);
         $this->_data = $items;
     }
     return $this->_data;
 }