00001 <?php
00002
00016 import('lib.pkp.classes.controllers.grid.GridDataProvider');
00017
00018 class FilesGridDataProvider extends GridDataProvider {
00019
00020
00021 var $_uploaderRoles;
00022
00024 var $_viewableOnly = false;
00025
00029 function FilesGridDataProvider() {
00030 parent::GridDataProvider();
00031 }
00032
00033
00034
00035
00036
00043 function setUploaderRoles($roleAssignments) {
00044 $this->_uploaderRoles = array_keys($roleAssignments);
00045 }
00046
00051 function getUploaderRoles() {
00052 assert(is_array($this->_uploaderRoles) && !empty($this->_uploaderRoles));
00053 return $this->_uploaderRoles;
00054 }
00055
00060 function setViewableOnly($viewableOnly) {
00061 $this->_viewableOnly = $viewableOnly;
00062 }
00063
00064
00065
00066
00067
00077 function &getAddFileAction($request) {
00078 assert(false);
00079 }
00080
00090 function &getSelectAction($request) {
00091 assert(false);
00092 }
00093
00094
00095
00096
00097
00102 function &getMonograph() {
00103 return $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00104 }
00105
00114 function &prepareSubmissionFileData(&$revisions, $viewableOnly = false) {
00115
00116 $submissionFileData = array();
00117 foreach ($revisions as $revision) {
00118 if ($viewableOnly && !$revision->getViewable()) continue;
00119
00120 $submissionFileData[$revision->getFileId()] = array(
00121 'submissionFile' => $revision
00122 );
00123 unset($revision);
00124 }
00125 return $submissionFileData;
00126 }
00127 }
00128
00129 ?>