Пример #1
0
 public function getList()
 {
     if (!isset($this->_list)) {
         $state = $this->_state;
         if (!$state->basepath) {
             throw new KModelException('Basepath is not a valid folder');
         }
         $basepath = $state->basepath;
         $path = $basepath;
         if (!empty($state->folder) && $state->folder != '/') {
             $path .= '/' . ltrim($state->folder, '/');
         }
         if (!is_dir($path)) {
             throw new KModelException('Basepath is not a valid folder');
         }
         $name = $state->path ? $state->path : null;
         if (is_string($name)) {
             $files[] = $name;
         } else {
             if (is_array($name)) {
                 $files = array();
                 foreach ($name as $n) {
                     $files[] = $n;
                 }
             } else {
                 $files = ComFilesIteratorDirectory::getFiles(array('path' => $path, 'exclude' => array('.svn', '.htaccess', '.git', 'CVS', 'index.html', '.DS_Store', 'Thumbs.db', 'Desktop.ini'), 'filter' => array($this, 'iteratorFilter'), 'map' => array($this, 'iteratorMap')));
             }
         }
         $this->_total = count($files);
         $files = array_slice($files, $state->offset, $state->limit ? $state->limit : $this->_total);
         if (strtolower($this->_state->direction) == 'desc') {
             $files = array_reverse($files);
         }
         $data = array();
         foreach ($files as $file) {
             $data[] = array('container' => $state->container, 'basepath' => $basepath, 'path' => $file);
         }
         $this->_list = $this->getService('com://admin/files.database.rowset.files', array('data' => $data));
     }
     return parent::getList();
 }
Пример #2
0
	public function getIcons()
	{
		static $path = 'media/com_files/images', $default, $icons16, $icons32;

		if (!isset($default)) {
			$default = $path.'/con_info.png';
		}
		if (!isset($icons16)) {
			$icons16 = ComFilesIteratorDirectory::getFiles(array(
            	'path' => JPATH_ROOT.'/'.$path.'/mime-icon-16',
				'filter' => array('png')
            ));
		}
		if (!isset($icons32)) {
			$icons32 = ComFilesIteratorDirectory::getFiles(array(
            	'path' => JPATH_ROOT.'/'.$path.'/mime-icon-32',
				'filter' => array('png')
            ));
		}

		$icons = array();

		$icons['16'] = in_array($this->extension.'.png', $icons16) ? $path.'/mime-icon-16/'.$this->extension.'.png' : $default;
		$icons['32'] = in_array($this->extension.'.png', $icons32) ? $path.'/mime-icon-32/'.$this->extension.'.png' : $default;

		return $icons;
	}