00001 <?php 00014 // Import base class. 00015 import('classes.controllers.grid.files.SubmissionFilesGridHandlerImplementation'); 00016 00017 // Define file grid capabilities. 00018 define('FILE_GRID_MANAGE', 0x00000010); 00019 00020 class FileListGridHandlerImplementation extends SubmissionFilesGridHandlerImplementation { 00021 00023 var $_canManage; 00024 00032 function FileListGridHandlerImplementation(&$gridHandler, $stageId, $capabilities) { 00033 $this->_canManage = (boolean)($capabilities & FILE_GRID_MANAGE); 00034 00035 parent::SubmissionFilesGridHandlerImplementation($gridHandler, $stageId, $capabilities); 00036 } 00037 00038 00039 // 00040 // Getters/Setters 00041 // 00046 function canManage() { 00047 return $this->_canManage; 00048 } 00049 00050 00051 // 00052 // Public methods 00053 // 00057 function initialize(&$request) { 00058 parent::initialize($request); 00059 00060 $gridHandler =& $this->getGridHandler(); 00061 00062 // Add the "manage files" action if required. 00063 if($this->canManage()) { 00064 $dataProvider =& $gridHandler->getDataProvider(); 00065 $gridHandler->addAction($dataProvider->getSelectAction($request)); 00066 } 00067 00068 // The file list grid layout has an additional file genre column. 00069 import('controllers.grid.files.fileList.FileGenreGridColumn'); 00070 $gridHandler->addColumn(new FileGenreGridColumn()); 00071 } 00072 } 00073 00074 ?>
1.7.1