Пример #1
0
 /**
  *
  * @param Tx_Feupload_Domain_Model_File $file            
  */
 protected function _getFileType($file)
 {
     switch ($file->getFileExt()) {
         case 'jpg':
         case 'png':
         case 'gif':
         case 'tiff':
             $ret = 'picture';
             break;
         case 'doc':
         case 'docx':
             $ret = 'doc';
             break;
         case 'html':
         case 'htm':
             $ret = 'html';
             break;
         case 'pdf':
             $ret = 'pdf';
             break;
         case 'ppt':
         case 'pptx':
             $ret = 'ppt';
             break;
         case 'rar':
         case 'zip':
         case 'gz':
             return 'zip';
             break;
         default:
             $ret = 'file';
             break;
     }
     return $ret;
 }
Пример #2
0
 /**
  * @param		Tx_Feupload_Domain_Model_File		$file			File object
  */
 public function render($file)
 {
     $currentConf['labelStdWrap.']['cObject'] = 'TEXT';
     $currentConf['labelStdWrap.']['cObject.']['value'] = $file->getTitle();
     $conf = array_merge($GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_feupload.']['file.'], $currentConf);
     $conf['ATagParams'] = 'class="file download ' . $file->getFileExt() . '"';
     return $GLOBALS['TSFE']->cObj->filelink($file->getFile(), $conf);
 }
Пример #3
0
 /**
  * Processes uploads
  *
  * @param mixed $file            
  * @return void
  */
 public function createAction(Tx_Feupload_Domain_Model_File $file)
 {
     $ffunc = t3lib_div::makeInstance('t3lib_basicFileFunctions');
     $path = $ffunc->getUniqueName($_FILES['tx_feupload_upload']['name']['file']['file'], t3lib_div::getFileAbsFileName('uploads/feupload/'));
     t3lib_div::upload_copy_move($_FILES['tx_feupload_upload']['tmp_name']['file']['file'], $path);
     $file->setFile(basename($path));
     if ($GLOBALS['TSFE']->fe_user->user) {
         // This is because $GLOBALS['TSFE']->fe_user is of type
         // tslib_feUserAuth
         // and $GLOBALS['TSFE']->fe_user->user is an array.
         $owner = $this->frontendUserRepository->findByUid($GLOBALS["TSFE"]->fe_user->user['uid']);
         $file->setOwner($owner);
     }
     $visibility = $_POST['tx_feupload_upload']['visibility'];
     $extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['feupload']);
     $defaultVisibility = $extConf['defaultFileVisibility'];
     // globalVisibilty set? ignore user preference
     if (!empty($defaultVisibility) and in_array($defaultVisibility, array('public', 'login', 'groups'))) {
         $visibility = $defaultVisibility;
     }
     switch ($visibility) {
         case 'public':
             $file->setVisibility(0);
             break;
         case 'login':
             $file->setVisibility(-2);
             break;
         case 'groups':
             $file->setVisibility(1);
             foreach ($_POST['tx_feupload_upload']['groups'] as $groupId) {
                 $group = $this->frontendUserGroupRepository->findByUid($groupId);
                 if ($group) {
                     $file->addFrontendUserGroup($group);
                 }
             }
             break;
     }
     if ((bool) $this->userTS['appendGroups']) {
         $groupIds = explode(',', $this->userTS['appendGroups']);
         foreach ($groupIds as $groupId) {
             $group = $this->frontendUserGroupRepository->findByUid($groupId);
             if ($group) {
                 $file->addFrontendUserGroup($group);
             }
         }
     }
     /* @var $sessionHandler Tx_Feupload_Session_Folder */
     $sessionHandler = t3lib_div::makeInstance('Tx_Feupload_Session_Folder');
     $file->setFolder($sessionHandler->getCurrentFolder());
     $this->fileRepository->add($file);
     $this->flashMessageContainer->add(Tx_Extbase_Utility_Localization::translate('LLL:EXT:feupload/Resources/Private/Language/locallang.xml:flash.ok.file.uploaded.content'), Tx_Extbase_Utility_Localization::translate('LLL:EXT:feupload/Resources/Private/Language/locallang.xml:flash.ok.file.uploaded.title'), t3lib_FlashMessage::OK);
     $this->redirect('new');
 }
Пример #4
0
 /**
  * Deletes a file
  *
  * @param Tx_Feupload_Domain_Model_File $file
  *            $file
  * @return void
  */
 public function deleteAction(Tx_Feupload_Domain_Model_File $file)
 {
     if ($file->getDeletable()) {
         $this->fileRepository->remove($file);
         $this->flashMessageContainer->add(Tx_Extbase_Utility_Localization::translate('LLL:EXT:feupload/Resources/Private/Language/locallang.xml:flash.ok.file.deleted.content'), Tx_Extbase_Utility_Localization::translate('LLL:EXT:feupload/Resources/Private/Language/locallang.xml:flash.ok.file.deleted.title'), t3lib_FlashMessage::OK);
     } else {
         $this->flashMessageContainer->add(Tx_Extbase_Utility_Localization::translate('LLL:EXT:feupload/Resources/Private/Language/locallang.xml:flash.error.file.not_deleted.content'), Tx_Extbase_Utility_Localization::translate('LLL:EXT:feupload/Resources/Private/Language/locallang.xml:flash.error.file.not_deleted.title', array($file->getTitle())), t3lib_FlashMessage::ERROR);
     }
     $this->redirect('index');
 }