Example #1
0
 /**
  * @return void
  */
 public function welcomeAction()
 {
     $items = array();
     $tools = ToolRegistry::getInstance()->getTools($this->getModuleLoader()->getDataType());
     foreach ($tools as $index => $tool) {
         $item = array();
         $item['title'] = $tool->getTitle();
         $item['description'] = $tool->getDescription();
         $items[] = $item;
     }
     $this->view->assign('items', $items);
 }
Example #2
0
 /**
  * Renders a dropdown menu for storage.
  *
  * @return string
  */
 public function render()
 {
     $result = '';
     // Compute the additional parameters.
     $additionalParameters = array($this->getModuleLoader()->getParameterPrefix() => array('controller' => 'Tool', 'action' => 'welcome'));
     // Get current data type and tell whether there are registered tools.
     $dataType = $this->getModuleLoader()->getDataType();
     if (ToolRegistry::getInstance()->hasAnyTools($dataType)) {
         $result = sprintf('<a href="%s&returnUrl=%s" class="btn btn-default btn-sm btn-doc-header" title="%s"><span class="t3-icon fa fa-cog" aria-hidden="true"></span></a>', $this->getModuleLoader()->getModuleUrl($additionalParameters), urlencode($this->getModuleLoader()->getModuleUrl()), $this->getLanguageService()->sL('LLL:EXT:vidi/Resources/Private/Language/locallang.xlf:open_tools'));
     }
     return $result;
 }
Example #3
0
 /**
  * Check whether $tool is valid.
  *
  * @param string $tool
  * @return void
  */
 public function isValid($tool)
 {
     $dataType = $this->getModuleLoader()->getDataType();
     $isValid = ToolRegistry::getInstance()->isAllowed($dataType, $tool);
     if (!$isValid) {
         $message = sprintf('This Tool "%s" is not allowed for the current data type.', $tool);
         $this->addError($message, 1409041510);
     }
     if (!class_exists($tool)) {
         $message = sprintf('I could not find class "%s"', $tool);
         $this->addError($message, 1409041511);
     }
 }
Example #4
0
    #			'Clipboard' => 'save, flush, show',
    #		), array(
    #			'access' => 'user,group',
    #			'icon' => 'EXT:vidi/Resources/Public/Images/list.png',
    #			'labels' => $labelFile,
    #		)
    #	);
    #}
    #if ($configuration['hide_module_list']['value']) {
    #
    #	// Default User TSConfig to be added in any case.
    #	TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig('
    #
    #		# Hide the module in the BE.
    #		options.hideModules.web := addToList(list)
    #	');
    #}
    /** @var \TYPO3\CMS\Extbase\Object\ObjectManager $objectManager */
    $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
    /** @var $signalSlotDispatcher \TYPO3\CMS\Extbase\SignalSlot\Dispatcher */
    $signalSlotDispatcher = $objectManager->get('TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher');
    // Connect "processContentData" signal slot with the "ContentObjectProcessor".
    $signalSlotDispatcher->connect('Fab\\Vidi\\Controller\\Backend\\ContentController', 'processContentData', 'Fab\\Vidi\\Processor\\ContentObjectProcessor', 'processRelations', TRUE);
    // Connect "processContentData" signal with the "MarkerProcessor".
    $signalSlotDispatcher->connect('Fab\\Vidi\\Controller\\Backend\\ContentController', 'processContentData', 'Fab\\Vidi\\Processor\\MarkerProcessor', 'processMarkers', TRUE);
    // Register default Tools for Vidi.
    \Fab\Vidi\Tool\ToolRegistry::getInstance()->register('*', 'Fab\\Vidi\\Tool\\ModulePreferencesTool');
    \Fab\Vidi\Tool\ToolRegistry::getInstance()->register('*', 'Fab\\Vidi\\Tool\\RelationAnalyserTool');
}
// Add new sprite icon.
\TYPO3\CMS\Backend\Sprite\SpriteManager::addSingleIcons(['go' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('vidi') . 'Resources/Public/Images/bullet_go.png', 'query' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('vidi') . 'Resources/Public/Images/drive_disk.png'], 'vidi');
Example #5
0
			RTE.default.showButtons := addToList(linkcreator,imageeditor)

			// Toolbar order
			// Must be completely reset
			RTE.default.toolbarOrder = formatblock, blockstyle, textstyle, linebreak, bold, italic, underline, strikethrough, bar, textcolor, bgcolor, bar, orderedlist, unorderedlist, bar, left, center, right, justifyfull, copy, cut, paste, bar, undo, redo, bar, findreplace, removeformat, bar, link, unlink, linkcreator, bar, imageeditor, bar, table, bar, line, bar, insertparagraphbefore, insertparagraphafter, bar, chMode, showhelp, about, linebreak, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter, columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge

			RTE.default.RTEHeightOverride = 700
			RTE.default.RTEWidthOverride = 700
		');
    }
    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule('Fab.media', 'user', 'm1', 'bottom', array('Asset' => 'create, update, download, editStorage', 'ImageEditor' => 'show', 'LinkCreator' => 'show', 'ProcessedFile' => 'create'), array('access' => 'user,group', 'icon' => 'EXT:media/ext_icon.gif', 'labels' => 'LLL:EXT:media/Resources/Private/Language/locallang_module.xlf'));
    $defaultMainModule = (bool) $configuration['has_folder_tree']['value'] ? 'file' : 'content';
    /** @var \Fab\Vidi\Module\ModuleLoader $moduleLoader */
    $moduleLoader = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Fab\\Vidi\\Module\\ModuleLoader', 'sys_file');
    $moduleLoader->setIcon('EXT:media/ext_icon.gif')->setModuleLanguageFile($moduleFileLanguage)->setMainModule($defaultMainModule)->addJavaScriptFiles(array('EXT:media/Resources/Public/JavaScript/Initialize.js', 'EXT:media/Resources/Public/JavaScript/Media.js', 'EXT:media/Resources/Public/JavaScript/Media.EditStorage.js', 'EXT:media/Resources/Public/JavaScript/Media.BrowseRecursively.js', 'EXT:media/Resources/Public/Libraries/Fineuploader/jquery.fineuploader-5.0.9.min.js'))->addStyleSheetFiles(array('EXT:media/Resources/Public/StyleSheets/media.css', 'EXT:media/Resources/Public/StyleSheets/fineuploader.css'))->setDocHeaderTopLeftComponents(array('Fab\\Media\\View\\Menu\\StorageMenu', 'Fab\\Media\\View\\Checkbox\\RecursiveCheckbox'))->setDocHeaderBottomLeftComponents(array('Fab\\Vidi\\View\\Button\\ClipboardButton', 'Fab\\Media\\View\\Button\\NewFolder', 'Fab\\Media\\View\\Button\\UploadButton'))->setGridTopComponents(array('Fab\\Media\\View\\InlineJavaScript', 'Fab\\Media\\View\\Warning\\ConfigurationWarning', 'Fab\\Media\\View\\Info\\SelectedFolderInfo'))->setGridBottomComponents(array('Fab\\Media\\View\\Plugin\\LinkCreatorPlugin', 'Fab\\Media\\View\\Plugin\\ImageEditorPlugin', 'Fab\\Media\\View\\Plugin\\FilePickerPlugin'))->setGridButtonsComponents(array('Fab\\Media\\View\\Button\\LinkCreatorButton', 'Fab\\Media\\View\\Button\\ImageEditorButton', 'Fab\\Media\\View\\Button\\FilePickerButton', 'Fab\\Media\\View\\Button\\EditButton', 'Fab\\Media\\View\\Button\\DownloadButton', 'Fab\\Media\\View\\Button\\DeleteButton'))->setMenuMassActionComponents(array('Fab\\Vidi\\View\\MenuItem\\ExportXlsMenuItem', 'Fab\\Vidi\\View\\MenuItem\\ExportXmlMenuItem', 'Fab\\Vidi\\View\\MenuItem\\ExportCsvMenuItem', 'Fab\\Vidi\\View\\MenuItem\\DividerMenuItem', 'Fab\\Vidi\\View\\MenuItem\\ClipboardMenuItem', 'Fab\\Media\\View\\MenuItem\\FilePickerMenuItem', 'Fab\\Media\\View\\MenuItem\\ChangeStorageMenuItem', 'Fab\\Vidi\\View\\MenuItem\\MassDeleteMenuItem'))->register();
    /** @var \TYPO3\CMS\Extbase\Object\ObjectManager $objectManager */
    $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
    /** @var $signalSlotDispatcher \TYPO3\CMS\Extbase\SignalSlot\Dispatcher */
    $signalSlotDispatcher = $objectManager->get('TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher');
    # Register some tool for Media.
    \Fab\Vidi\Tool\ToolRegistry::getInstance()->register('sys_file', 'Fab\\Media\\Tool\\ThumbnailGeneratorTool');
    \Fab\Vidi\Tool\ToolRegistry::getInstance()->register('sys_file', 'Fab\\Media\\Tool\\CacheWarmUpTool');
    \Fab\Vidi\Tool\ToolRegistry::getInstance()->register('sys_file', 'Fab\\Media\\Tool\\MissingFilesFinderTool');
    \Fab\Vidi\Tool\ToolRegistry::getInstance()->register('sys_file', 'Fab\\Media\\Tool\\DuplicateRecordsFinderTool');
    \Fab\Vidi\Tool\ToolRegistry::getInstance()->register('sys_file', 'Fab\\Media\\Tool\\DuplicateFilesFinderTool');
    // Connect some signals with slots.
    $signalSlotDispatcher->connect('Fab\\Vidi\\Controller\\Backend\\ContentController', 'postProcessMatcherObject', 'Fab\\Media\\Security\\FilePermissionsAspect', 'addFilePermissionsForFileStorages', TRUE);
    $signalSlotDispatcher->connect('Fab\\Vidi\\Domain\\Repository\\ContentRepository', 'postProcessConstraintsObject', 'Fab\\Media\\Security\\FilePermissionsAspect', 'addFilePermissionsForFileMounts', TRUE);
    $signalSlotDispatcher->connect('Fab\\Vidi\\Service\\ContentService', 'afterFindContentObjects', 'Fab\\Media\\Facet\\ActionPermissionFacet', 'modifyResultSet', TRUE);
}
\TYPO3\CMS\Backend\Sprite\SpriteManager::addSingleIcons(array('image-edit' => TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('media') . 'Resources/Public/Icons/image_edit.png', 'image-link' => TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('media') . 'Resources/Public/Icons/image_link.png', 'image-export' => TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('media') . 'Resources/Public/Icons/image_export.png', 'storage-change' => TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('media') . 'Resources/Public/Icons/folder_go.png'), 'media');