00001 <?php
00002
00015 import('lib.pkp.classes.controllers.grid.GridHandler');
00016
00017 class SetupGridHandler extends GridHandler {
00021 function SetupGridHandler() {
00022 parent::GridHandler();
00023 $this->addRoleAssignment(
00024 array(ROLE_ID_PRESS_MANAGER),
00025 array('uploadImage')
00026 );
00027 }
00028
00032 function initialize(&$request) {
00033 parent::initialize($request);
00034
00035 AppLocale::requireComponents(LOCALE_COMPONENT_OMP_MANAGER);
00036 }
00037
00044 function authorize(&$request, $args, $roleAssignments) {
00045 import('classes.security.authorization.OmpPressAccessPolicy');
00046 $this->addPolicy(new OmpPressAccessPolicy($request, $roleAssignments));
00047 return parent::authorize($request, $args, $roleAssignments);
00048 }
00049
00055 function uploadImage($args, &$request) {
00056 $router =& $request->getRouter();
00057 $context = $request->getContext();
00058 $user =& $request->getUser();
00059
00060 import('classes.file.TemporaryFileManager');
00061 $temporaryFileManager = new TemporaryFileManager();
00062 $temporaryFile = $temporaryFileManager->handleUpload('uploadedFile', $user->getId());
00063 if ($temporaryFile) {
00064 $json = new JSONMessage(true);
00065 $json->setAdditionalAttributes(array(
00066 'temporaryFileId' => $temporaryFile->getId()
00067 ));
00068 } else {
00069 $json = new JSONMessage(false, __('common.uploadFailed'));
00070 }
00071
00072 return $json->getString();
00073 }
00074 }
00075
00076 ?>