/**
  * Hook-function: inject t3editor JavaScript code before the page is compiled
  * called in typo3/template.php:startPage
  *
  * @param array $parameters
  * @param template $pObj
  */
 public function preStartPageHook($parameters, $pObj)
 {
     // enable editor in Template-Modul
     if (preg_match('/sysext\\/tstemplate\\/ts\\/index\\.php/', $_SERVER['SCRIPT_NAME'])) {
         $t3editor = $this->getT3editor();
         // insert javascript code in document header
         $pObj->JScode .= $t3editor->getJavascriptCode($pObj);
         $pObj->loadJavascriptLib(t3lib_extmgm::extRelPath('t3editor') . 'res/jslib/tx_tstemplateinfo/tx_tstemplateinfo.js');
     }
 }
コード例 #2
0
 /**
  * Hook-function: inject t3editor JavaScript code before the page is compiled
  * called in typo3/template.php:startPage
  *
  * @param array $parameters
  * @param \TYPO3\CMS\Backend\Template\DocumentTemplate $pObj
  */
 public function preStartPageHook($parameters, $pObj)
 {
     if (preg_match('/typo3\\/file_edit\\.php/', $_SERVER['SCRIPT_NAME'])) {
         $t3editor = $this->getT3editor();
         if (!$t3editor->isEnabled()) {
             return;
         }
         $pObj->JScode .= $t3editor->getJavascriptCode($pObj);
         $pObj->loadJavascriptLib(\t3lib_extmgm::extRelPath('t3editor') . 'res/jslib/fileedit.js');
     }
 }
コード例 #3
0
 /**
  * Retrieves JavaScript code (header part) for editor
  *
  * @param 	template	$doc
  * @return	string		JavaScript code
  */
 public function getJavascriptCode($doc)
 {
     $content = '';
     if ($this->isEnabled()) {
         $path_t3e = t3lib_extmgm::extRelPath('t3editor');
         // include needed javascript-frameworks
         /** @var $pageRenderer t3lib_PageRenderer */
         $pageRenderer = $doc->getPageRenderer();
         $pageRenderer->loadPrototype();
         $pageRenderer->loadScriptaculous();
         // include editor-css
         $content .= '<link href="' . t3lib_div::createVersionNumberedFilename($GLOBALS['BACK_PATH'] . t3lib_extmgm::extRelPath('t3editor') . 'res/css/t3editor.css') . '" type="text/css" rel="stylesheet" />';
         // include editor-js-lib
         $doc->loadJavascriptLib($path_t3e . 'res/jslib/codemirror/codemirror.js');
         $doc->loadJavascriptLib($path_t3e . 'res/jslib/t3editor.js');
         if ($this->mode == self::MODE_TYPOSCRIPT) {
             $doc->loadJavascriptLib($path_t3e . 'res/jslib/ts_codecompletion/tsref.js');
             $doc->loadJavascriptLib($path_t3e . 'res/jslib/ts_codecompletion/completionresult.js');
             $doc->loadJavascriptLib($path_t3e . 'res/jslib/ts_codecompletion/tsparser.js');
             $doc->loadJavascriptLib($path_t3e . 'res/jslib/ts_codecompletion/tscodecompletion.js');
         }
         $content .= t3lib_div::wrapJS('T3editor = T3editor || {};' . 'T3editor.lang = ' . json_encode($this->getJavaScriptLabels()) . ';' . LF . 'T3editor.PATH_t3e = "' . $GLOBALS['BACK_PATH'] . t3lib_extmgm::extRelPath('t3editor') . '"; ' . LF . 'T3editor.URL_typo3 = "' . htmlspecialchars(t3lib_div::getIndpEnv('TYPO3_SITE_URL') . TYPO3_mainDir) . '"; ' . LF . 'T3editor.template = ' . $this->getPreparedTemplate() . ';' . LF . 'T3editor.parserfile = ' . $this->getParserfileByMode($this->mode) . ';' . LF . 'T3editor.stylesheet = ' . $this->getStylesheetByMode($this->mode) . ';');
     }
     return $content;
 }
コード例 #4
0
ファイル: T3Editor.php プロジェクト: noxludo/TYPO3v4-Core
 /**
  * Determine the correct parser js file for given mode
  *
  * @param string $mode
  * @return string Parser file name
  */
 protected function getParserfileByMode($mode)
 {
     switch ($mode) {
         case self::MODE_TYPOSCRIPT:
             $relPath = ($GLOBALS['BACK_PATH'] ? $GLOBALS['BACK_PATH'] : '../../../') . \t3lib_extmgm::extRelPath('t3editor') . 'res/jslib/parse_typoscript/';
             $parserfile = '["' . $relPath . 'tokenizetyposcript.js", "' . $relPath . 'parsetyposcript.js"]';
             break;
         case self::MODE_JAVASCRIPT:
             $parserfile = '["tokenizejavascript.js", "parsejavascript.js"]';
             break;
         case self::MODE_CSS:
             $parserfile = '"parsecss.js"';
             break;
         case self::MODE_XML:
             $parserfile = '"parsexml.js"';
             break;
         case self::MODE_SPARQL:
             $parserfile = '"parsesparql.js"';
             break;
         case self::MODE_HTML:
             $parserfile = '["tokenizejavascript.js", "parsejavascript.js", "parsecss.js", "parsexml.js", "parsehtmlmixed.js"]';
             break;
         case self::MODE_PHP:
         case self::MODE_MIXED:
             $parserfile = '[' . '"tokenizejavascript.js", ' . '"parsejavascript.js", ' . '"parsecss.js", ' . '"parsexml.js", ' . '"../contrib/php/js/tokenizephp.js", ' . '"../contrib/php/js/parsephp.js", ' . '"../contrib/php/js/parsephphtmlmixed.js"' . ']';
             break;
     }
     return $parserfile;
 }