作者:spabha
项目:pdfliste
/**
* action initialize
*
* @return void
*/
protected function initializeAction()
{
//print_r($this->settings);
$this->folderPath = str_replace('1:', '', $this->settings['flex_startingpoint']);
$this->folderCombinedId = $this->settings['flex_startingpoint'];
//$fac = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory'); // create instance to storage repository
$this->storageObj = $this->resourceFactory->getStorageObjectFromCombinedIdentifier($this->folderCombinedId);
$this->folderObj = $this->storageObj->getFolder($this->folderPath);
$files = $this->folderObj->getFiles();
foreach ($files as $file) {
$this->filesList[$file->getUid()]['name'] = $file->getName();
$this->filesList[$file->getUid()]['identifier'] = $file->getIdentifier();
}
}
作者:viso
项目:html5videoplaye
/**
* @param $status
* @param $table
* @param $id
* @param $fieldArray
* @param $self
*/
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$self)
{
if ($table == 'tx_html5videoplayer_domain_model_video') {
$data = $fieldArray;
if ($status == 'update') {
$data = array_merge($GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow('*', 'tx_html5videoplayer_domain_model_video', 'uid=' . (int) $id), $data);
}
$vimeoUrl = $data['vimeo'];
if (($status == 'update' || $status == 'new') && $vimeoUrl != '' && GeneralUtility::isValidUrl($vimeoUrl)) {
if (preg_match('/https?:\\/\\/(?:www\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^\\/]*)\\/videos\\/|album\\/(\\d+)\\/video\\/|)(\\d+)(?:$|\\/|\\?)/i', $vimeoUrl, $matches)) {
$videoId = $matches[3];
$videoData = unserialize(GeneralUtility::getUrl('http://vimeo.com/api/v2/video/' . $videoId . '.php'));
if (is_array($videoData)) {
// We're only interested in index zero.
$videoData = $videoData[0];
if (!isset($data['title']) || trim($data['title']) == '') {
$fieldArray['title'] = $videoData['title'];
}
if (!isset($data['description']) || trim($data['description']) == '') {
$fieldArray['description'] = $videoData['description'];
}
if (!isset($data['posterimage']) || trim($data['posterimage']) == '') {
$resourceFactory = ResourceFactory::getInstance();
$folder = $resourceFactory->retrieveFileOrFolderObject($this->getUploadFolder());
$thumbnailData = GeneralUtility::getUrl($videoData['thumbnail_large']);
$file = $folder->createFile(basename($videoData['thumbnail_large']) . '.jpg');
$file->setContents($thumbnailData);
$fieldArray['posterimage'] = 'file:' . $file->getUid();
}
}
}
}
}
}
作者:Mr-Robot
项目:TYPO3.CM
/**
* Returns a processed image to be displayed on the Frontend.
*
* @param string $content Content input (not used).
* @param array $conf TypoScript configuration
* @return string HTML output
*/
public function renderImageAttributes($content = '', $conf)
{
$imageAttributes = $this->getImageAttributes();
// It is pretty rare to be in presence of an external image as the default behaviour
// of the RTE is to download the external image and create a local image.
// However, it may happen if the RTE has the flag "disable"
if (!$this->isExternalImage()) {
$fileUid = (int) $imageAttributes['data-htmlarea-file-uid'];
if ($fileUid) {
try {
$file = Resource\ResourceFactory::getInstance()->getFileObject($fileUid);
if ($imageAttributes['src'] !== $file->getPublicUrl()) {
// Source file is a processed image
$imageConfiguration = array('width' => (int) $imageAttributes['width'], 'height' => (int) $imageAttributes['height']);
$processedFile = $this->getMagicImageService()->createMagicImage($file, $imageConfiguration);
$additionalAttributes = array('src' => $processedFile->getPublicUrl(), 'title' => $imageAttributes['title'] ?: $file->getProperty('title'), 'alt' => $imageAttributes['alt'] ?: $file->getProperty('alternative'), 'width' => $processedFile->getProperty('width'), 'height' => $processedFile->getProperty('height'));
$imageAttributes = array_merge($imageAttributes, $additionalAttributes);
}
} catch (Resource\Exception\FileDoesNotExistException $fileDoesNotExistException) {
// Log the fact the file could not be retrieved.
$message = sprintf('I could not find file with uid "%s"', $fileUid);
$this->getLogger()->error($message);
}
}
}
return '<img ' . GeneralUtility::implodeAttributes($imageAttributes, TRUE, TRUE) . ' />';
}
作者:nicksergi
项目:TYPO3v4-Cor
/**
* Constructor for initializing the class
*
* @return void
* @todo Define visibility
*/
public function init()
{
// Initialize GPvars:
$this->target = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('target');
$this->returnUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::sanitizeLocalUrl(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('returnUrl'));
if (!$this->returnUrl) {
$this->returnUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('TYPO3_SITE_URL') . TYPO3_mainDir . \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('file_list') . '&id=' . rawurlencode($this->target);
}
// Create the folder object
if ($this->target) {
$this->folderObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($this->target);
}
// Cleaning and checking target directory
if (!$this->folderObject) {
$title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:paramError', TRUE);
$message = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:targetNoDir', TRUE);
throw new \RuntimeException($title . ': ' . $message, 1294586843);
}
// Setting the title and the icon
$icon = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('apps-filetree-root');
$this->title = $icon . htmlspecialchars($this->folderObject->getStorage()->getName()) . ': ' . htmlspecialchars($this->folderObject->getIdentifier());
// Setting template object
$this->doc = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Template\\DocumentTemplate');
$this->doc->setModuleTemplate('templates/file_upload.html');
$this->doc->backPath = $GLOBALS['BACK_PATH'];
$this->doc->form = '<form action="tce_file.php" method="post" name="editform" enctype="' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['form_enctype'] . '">';
}
作者:camrun9
项目:fal_securedownloa
/**
* Generate album add/edit buttons for click menu or toolbar
*
* @param string $combinedIdentifier
* @return array
*/
protected function generateButtons($combinedIdentifier)
{
$buttons = array();
// In some folder copy/move actions in file list a invalid id is passed
try {
/** @var $file \TYPO3\CMS\Core\Resource\Folder */
$folder = ResourceFactory::getInstance()->retrieveFileOrFolderObject($combinedIdentifier);
} catch (ResourceDoesNotExistException $exception) {
$folder = NULL;
} catch (InsufficientFolderAccessPermissionsException $exception) {
$folder = NULL;
}
if ($folder && $folder instanceof Folder && !$folder->getStorage()->isPublic() && in_array($folder->getRole(), array(Folder::ROLE_DEFAULT, Folder::ROLE_USERUPLOAD))) {
/** @var \BeechIt\FalSecuredownload\Service\Utility $utility */
$utility = GeneralUtility::makeInstance('BeechIt\\FalSecuredownload\\Service\\Utility');
$folderRecord = $utility->getFolderRecord($folder);
$menuItems[] = 'spacer';
if ($folderRecord) {
$buttons[] = $this->createLink($this->sL('clickmenu.folderpermissions'), $this->sL('clickmenu.folderpermissions'), IconUtility::getSpriteIcon('extensions-fal_securedownload-folder', array(), array('status-overlay-access-restricted' => '')), "alt_doc.php?edit[tx_falsecuredownload_folder][" . $folderRecord['uid'] . "]=edit");
} else {
$buttons[] = $this->createLink($this->sL('clickmenu.folderpermissions'), $this->sL('clickmenu.folderpermissions'), IconUtility::getSpriteIcon('extensions-fal_securedownload-folder', array(), array('extensions-fal_securedownload-overlay-permissions' => '')), "alt_doc.php?edit[tx_falsecuredownload_folder][0]=new&defVals[tx_falsecuredownload_folder][folder_hash]=" . $folder->getHashedIdentifier() . "&defVals[tx_falsecuredownload_folder][storage]=" . $folder->getStorage()->getUid() . "&defVals[tx_falsecuredownload_folder][folder]=" . $folder->getIdentifier());
}
}
return $buttons;
}
作者:mcm
项目:focuspoin
/**
* Processing the focus point crop (fallback to LocalCropScaleMaskHelper)
*
* @param TaskInterface $task
*
* @return array|NULL
*/
public function process(TaskInterface $task)
{
$configuration = $task->getConfiguration();
$crop = $configuration['crop'] ? json_decode($configuration['crop']) : null;
if ($crop instanceof \stdClass && isset($crop->x)) {
// if crop is enable release the process
return parent::process($task);
}
$sourceFile = $task->getSourceFile();
try {
if (self::$deepCheck === false) {
self::$deepCheck = true;
$ratio = $this->getCurrentRatioConfiguration();
$this->dimensionService->getRatio($ratio);
$newFile = $this->focusCropService->getCroppedImageSrcByFile($sourceFile, $ratio);
$file = ResourceFactory::getInstance()->retrieveFileOrFolderObject($newFile);
$targetFile = $task->getTargetFile();
ObjectAccess::setProperty($targetFile, 'originalFile', $file, true);
ObjectAccess::setProperty($targetFile, 'originalFileSha1', $file->getSha1(), true);
ObjectAccess::setProperty($targetFile, 'storage', $file->getStorage(), true);
ObjectAccess::setProperty($task, 'sourceFile', $file, true);
ObjectAccess::setProperty($task, 'targetFile', $targetFile, true);
}
} catch (\Exception $ex) {
}
self::$deepCheck = false;
return parent::process($task);
}
作者:Mr-Robot
项目:TYPO3.CM
/**
* Initialize the storage repository.
*/
public function init()
{
$this->storageRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\StorageRepository');
$this->storages = $this->storageRepository->findAll();
// Add default storage for core files
$this->storages[] = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getStorageObject(0);
}
作者:rickymathe
项目:TYPO3.CM
/**
* Entry method for use as TCEMain "inline" field filter
*
* @param array $parameters
* @param \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain
* @return array
*/
public function filterInlineChildren(array $parameters, \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain)
{
$values = $parameters['values'];
if ($parameters['allowedFileExtensions']) {
$this->setAllowedFileExtensions($parameters['allowedFileExtensions']);
}
if ($parameters['disallowedFileExtensions']) {
$this->setDisallowedFileExtensions($parameters['disallowedFileExtensions']);
}
$cleanValues = array();
if (is_array($values)) {
foreach ($values as $value) {
if (empty($value)) {
continue;
}
$parts = \TYPO3\CMS\Core\Utility\GeneralUtility::revExplode('_', $value, 2);
$fileReferenceUid = $parts[count($parts) - 1];
$fileReference = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($fileReferenceUid);
$file = $fileReference->getOriginalFile();
if ($this->isAllowed($file->getName())) {
$cleanValues[] = $value;
} else {
// Remove the erroneously created reference record again
$tceMain->deleteAction('sys_file_reference', $fileReferenceUid);
}
}
}
return $cleanValues;
}
作者:plan2ne
项目:TYPO3.CM
/**
* @return \TYPO3\CMS\Core\Resource\FileReference
*/
public function getOriginalResource()
{
if ($this->originalResource === NULL) {
$this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($this->getUid());
}
return $this->originalResource;
}
作者:dachcom-digita
项目:typo3-faltranslation
/**
* @return \TYPO3\CMS\Core\Resource\FileReference
*/
public function getOriginalResource()
{
if ($this->originalResource === null) {
$this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($this->_localizedUid);
}
return $this->originalResource;
}
作者:nicksergi
项目:TYPO3v4-Cor
/**
* Initialize script class
*
* @return void
* @todo Define visibility
*/
public function init()
{
// Setting target, which must be a file reference to a file within the mounts.
$this->target = $this->origTarget = $fileIdentifier = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('target');
$this->returnUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::sanitizeLocalUrl(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('returnUrl'));
// create the file object
if ($fileIdentifier) {
$this->fileObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($fileIdentifier);
}
// Cleaning and checking target directory
if (!$this->fileObject) {
$title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:paramError', TRUE);
$message = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:targetNoDir', TRUE);
throw new \RuntimeException($title . ': ' . $message, 1294586841);
}
// Setting the title and the icon
$icon = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('apps-filetree-root');
$this->title = $icon . htmlspecialchars($this->fileObject->getStorage()->getName()) . ': ' . htmlspecialchars($this->fileObject->getIdentifier());
// ***************************
// Setting template object
// ***************************
$this->doc = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Template\\DocumentTemplate');
$this->doc->setModuleTemplate('templates/file_edit.html');
$this->doc->backPath = $GLOBALS['BACK_PATH'];
$this->doc->JScode = $this->doc->wrapScriptTags('
function backToList() { //
top.goToModule("file_list");
}
');
$this->doc->form = '<form action="tce_file.php" method="post" name="editform">';
}
作者:khanhdeu
项目:typo3tes
/**
* Override default constructor to make it possible to instantiate this
* class for rendering an offset table not in content object context
*
* @param \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj
*/
public function __construct(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj = NULL)
{
if (!is_null($cObj)) {
$this->cObj = $cObj;
$this->fileFactory = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance();
}
}
作者:TYPO3Incubato
项目:TYPO3.CM
/**
* Initialize
*
* @throws InsufficientFolderAccessPermissionsException
*/
protected function init()
{
// Initialize GPvars:
$this->target = GeneralUtility::_GP('target');
$this->returnUrl = GeneralUtility::sanitizeLocalUrl(GeneralUtility::_GP('returnUrl'));
if (!$this->returnUrl) {
$this->returnUrl = GeneralUtility::getIndpEnv('TYPO3_SITE_URL') . TYPO3_mainDir . BackendUtility::getModuleUrl('file_list') . '&id=' . rawurlencode($this->target);
}
// Create the folder object
if ($this->target) {
$this->folderObject = ResourceFactory::getInstance()->retrieveFileOrFolderObject($this->target);
}
if ($this->folderObject->getStorage()->getUid() === 0) {
throw new InsufficientFolderAccessPermissionsException('You are not allowed to access folders outside your storages', 1375889834);
}
// Cleaning and checking target directory
if (!$this->folderObject) {
$title = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_mod_file_list.xlf:paramError', true);
$message = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_mod_file_list.xlf:targetNoDir', true);
throw new \RuntimeException($title . ': ' . $message, 1294586843);
}
// Setting up the context sensitive menu
$this->moduleTemplate->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Backend/ClickMenu');
// building pathInfo for metaInformation
$pathInfo = ['combined_identifier' => $this->folderObject->getCombinedIdentifier()];
$this->moduleTemplate->getDocHeaderComponent()->setMetaInformation($pathInfo);
}
作者:werner
项目:t3ext-dam_falmigratio
/**
* initializes this object
*/
protected function init()
{
$this->objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$this->database = $GLOBALS['TYPO3_DB'];
$this->fileRepository = $this->objectManager->get('TYPO3\\CMS\\Core\\Resource\\FileRepository');
$fileFactory = ResourceFactory::getInstance();
$this->storageObject = $fileFactory->getStorageObject($this->storageUid);
}
作者:TYPO3Incubato
项目:TYPO3.CM
/**
* User function for sys_file_meta (element)
*
* @param array $propertyArray the array with additional configuration options.
* @return string The HTML code for the TCEform field
*/
public function renderFileMetadataInfo(array $propertyArray)
{
$fileMetadataRecord = $propertyArray['row'];
$fileObject = null;
if (!empty($fileMetadataRecord['file']) && $fileMetadataRecord['file'][0] > 0) {
$fileObject = ResourceFactory::getInstance()->getFileObject((int) $fileMetadataRecord['file'][0]);
}
return $this->renderFileInformationContent($fileObject);
}
作者:viso
项目:medi
/**
* Render a file upload field.
*
* @throws \Fab\Media\Exception\EmptyPropertyException
* @return string
*/
public function render()
{
// Instantiate the file object for the whole class if possible.
if ($this->getValue()) {
$this->file = ResourceFactory::getInstance()->getFileObject($this->getValue());
}
$result = sprintf($this->template, $this->getInlineStyle(), $this->getThumbnail(), $this->getFileInfo(), $this->elementId, $this->getJavaScriptTemplate(), $this->getJavaScript());
return $result;
}
作者:khanhdeu
项目:typo3tes
/**
* User function for sys_file_meta (element)
*
* @param array $propertyArray the array with additional configuration options.
* @param \TYPO3\CMS\Backend\Form\FormEngine $tceformsObj the TCEforms parent object
* @return string The HTML code for the TCEform field
*/
public function renderFileMetadataInfo(array $propertyArray, \TYPO3\CMS\Backend\Form\FormEngine $tceformsObj)
{
$fileMetadataRecord = $propertyArray['row'];
$fileObject = NULL;
if ($fileMetadataRecord['file'] > 0) {
$fileObject = ResourceFactory::getInstance()->getFileObject((int) $fileMetadataRecord['file']);
}
return $this->renderFileInformationContent($fileObject);
}
作者:s-nune
项目:fal_securedownloa
/**
* Render file tree
*/
public function treeAction()
{
$resourceFactory = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance();
try {
$folder = $resourceFactory->getFolderObjectFromCombinedIdentifier($this->settings['storage'] . ':' . $this->settings['folder']);
} catch (\TYPO3\CMS\Core\Resource\Exception\FolderDoesNotExistException $exception) {
// folder not found
}
$this->view->assign('folder', $folder);
}
作者:rickymathe
项目:TYPO3.CM
/**
* Validate additional fields
*
* @param array $submittedData Reference to the array containing the data submitted by the user
* @param \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $parentObject Reference to the calling object (Scheduler's BE module)
* @return bool True if validation was ok (or selected class is not relevant), false otherwise
*/
public function validateAdditionalFields(array &$submittedData, \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $parentObject)
{
$value = $submittedData['scheduler_fileStorageIndexing_storage'];
if (!\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($value)) {
return false;
} elseif (\TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getStorageObject($submittedData['scheduler_fileStorageIndexing_storage']) !== null) {
return true;
}
return false;
}
作者:khanhdeu
项目:typo3tes
/**
* Populates the content-entries of the collection
*
* @return void
*/
public function loadContents()
{
$resource = $this->getDatabaseConnection()->exec_SELECT_mm_query('sys_file_metadata.file', 'sys_category', 'sys_category_record_mm', 'sys_file_metadata', 'AND sys_category.uid=' . (int) $this->getItemsCriteria() . ' AND sys_category_record_mm.tablenames = \'sys_file_metadata\'');
$resourceFactory = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance();
if ($resource) {
while (($record = $this->getDatabaseConnection()->sql_fetch_assoc($resource)) !== FALSE) {
$this->add($resourceFactory->getFileObject((int) $record['file']));
}
$this->getDatabaseConnection()->sql_free_result($resource);
}
}