/** * * @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; }
/** * @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); }
/** * 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'); }
/** * 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'); }