示例#1
0
文件: files.php 项目: ratbird/hope
 /**
  * Displays the files in a speicfic folder.
  *
  * @param mixed $dir_id Directory entry id of the folder (default to root)
  */
 public function index_action($dir_id = null, $page = 1)
 {
     $dir_id = $dir_id ?: $this->context_id;
     try {
         $directory = new DirectoryEntry($dir_id);
         $this->directory = $directory->file;
         $this->parent_id = FileHelper::getParentId($directory->id) ?: $this->context_id;
         $this->folder_id = $directory->parent_id;
         $parent_index = $directory->indexInParent();
     } catch (Exception $e) {
         $this->directory = new RootDirectory($GLOBALS['perm']->have_perm('root') ? $dir_id : $this->context_id);
         $this->parent_id = null;
         $this->folder_id = $this->context_id;
         $parent_index = false;
     }
     $this->directory->checkAccess();
     $this->filecount = $this->directory->countFiles();
     $this->maxpages = ceil($this->filecount / $this->limit);
     $this->page = min($page, $this->maxpages);
     $this->parent_page = $this->getPageForIndex($parent_index);
     $this->files = $this->directory->listFiles(($this->page - 1) * $this->limit, $this->limit);
     $this->dir_id = $dir_id;
     $this->marked = $this->flash['marked-ids'] ?: array();
     $this->breadcrumbs = FileHelper::getBreadCrumbs($dir_id);
     $config = DocUsergroupConfig::getUserConfig($this->context_id);
     $this->space_used = DiskFileStorage::getQuotaUsage($this->context_id);
     $this->space_total = $config['quota'];
     $this->setupSidebar($dir_id, $this->directory->id, $this->page);
 }