コード例 #1
0
 /**
  * Checks whether the current user is authorized to perform a certain
  * action on an object.
  *
  * @param AccessibleInterface $object The object for which the access is to be checked.
  * @param string $action The action for which the access check is to be performed.
  * @return boolean TRUE, when the user is authorized, otherwise FALSE.
  */
 public function checkAuthorization(AccessibleInterface $object, $action)
 {
     // ACLs can be disabled for debugging. Also, in Backend mode, the ACL
     // mechanism does not work (no fe_users!).
     if (isset($this->settings) && $this->settings['debug']['disableACLs'] || TYPO3_MODE === 'BE' && $this->implicitAdministratorInBackend === TRUE) {
         return TRUE;
     }
     $cacheIdentifier = $this->getCacheIdentifier($object, $action);
     if ($this->cache->has($cacheIdentifier)) {
         $value = $this->cache->get($cacheIdentifier);
     } else {
         $this->cache->set($cacheIdentifier, $value = $object->checkAccess($this->getUser(), $action));
     }
     return $value;
 }
コード例 #2
0
    /**
     * Loads the editor configuration
     *
     * @param string $configurationPath The typoscript setup path in which the
     *                                   editor configuration is stored.
     *
     * @return string
     * @throws \TYPO3\CMS\Extbase\Object\InvalidClassException
     */
    protected function initializeJavascriptSetupFromConfiguration($configurationPath)
    {
        $this->configuration = $this->typoscriptReader->loadTyposcriptFromPath($configurationPath);
        if ($this->cache->has('bbcodeeditor-jsonconfig')) {
            return $this->javascriptSetup = $this->cache->get('bbcodeeditor-jsonconfig');
        }
        foreach ($this->configuration['panels.'] as $key => $panelConfiguration) {
            $panel = $this->objectManager->get($panelConfiguration['className']);
            if (!$panel instanceof \Mittwald\Typo3Forum\TextParser\Panel\PanelInterface) {
                throw new \TYPO3\CMS\Extbase\Object\InvalidClassException('Expected an implementation of the \\Mittwald\\Typo3Forum\\TextParser\\Panel\\PanelInterface interface!', 1315835842);
            }
            $panel->setSettings($panelConfiguration);
            $this->panels[] = $panel;
        }
        $this->javascriptSetup = '
		<script language="javascript">
		' . 'var bbcodeSettings = ' . json_encode($this->getPanelSettings()) . ';' . '$(document).ready(function()	{' . '$(\'#' . $this->arguments['id'] . '\').markItUp(bbcodeSettings);' . '}); </script>';
        $this->cache->set('bbcodeeditor-jsonconfig', $this->javascriptSetup);
        return $this->javascriptSetup;
    }