Index: typo3/sysext/t3editor/classes/class.tx_t3editor.php =================================================================== --- typo3/sysext/t3editor/classes/class.tx_t3editor.php (revision 10278) +++ typo3/sysext/t3editor/classes/class.tx_t3editor.php (working copy) @@ -41,6 +41,8 @@ const MODE_CSS = 'css'; const MODE_XML = 'xml'; const MODE_HTML = 'html'; + const MODE_PHP = 'php'; + const MODE_MIXED = 'mixed'; protected $mode = ''; @@ -102,8 +104,13 @@ case 'ts': $mode = self::MODE_TYPOSCRIPT; break; + case 'php': + case 'phpsh': + case 'inc': + $mode = self::MODE_PHP; + break; default: - $mode = FALSE; + $mode = self::MODE_MIXED; } $this->setMode($mode); } @@ -197,14 +204,15 @@ return $content; } - public function getModeSpecificJavascriptCode() { - if (empty($this->mode)) { - return ''; - } + public function getModeSpecificJavascriptCode() { + if (empty($this->mode)) { + return ''; + } - $path_t3e = $GLOBALS['BACK_PATH'] . t3lib_extmgm::extRelPath('t3editor'); + $path_t3e = $GLOBALS['BACK_PATH'] . t3lib_extmgm::extRelPath('t3editor'); + $content = ''; - if ($this->mode == self::MODE_TYPOSCRIPT) { + if ($this->mode === self::MODE_TYPOSCRIPT) { $content .= ''; $content .= ''; $content .= ''; @@ -246,23 +254,36 @@ case tx_t3editor::MODE_TYPOSCRIPT: $relPath = $GLOBALS['BACK_PATH'] . t3lib_extmgm::extRelPath('t3editor') . 'res/jslib/parse_typoscript/'; $parserfile = '["' . $relPath . 'tokenizetyposcript.js", "' . $relPath . 'parsetyposcript.js"]'; - break; + break; case tx_t3editor::MODE_JAVASCRIPT: $parserfile = '["tokenizejavascript.js", "parsejavascript.js"]'; - break; + break; case tx_t3editor::MODE_CSS: $parserfile = '"parsecss.js"'; - break; + break; case tx_t3editor::MODE_XML: $parserfile = '"parsexml.js"'; - break; + break; case tx_t3editor::MODE_HTML: $parserfile = '["tokenizejavascript.js", "parsejavascript.js", "parsecss.js", "parsexml.js", "parsehtmlmixed.js"]'; - break; + break; + + case tx_t3editor::MODE_PHP: + case tx_t3editor::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; } @@ -292,9 +313,21 @@ break; case tx_t3editor::MODE_HTML: - $stylesheet = '"res/css/xmlcolors.css"'; - // FIXME add css and js files + $stylesheet = '"res/css/xmlcolors.css", ' . + 'T3editor.PATH_t3e + "res/css/jscolors.css", ' . + 'T3editor.PATH_t3e + "res/css/csscolors.css"'; break; + + case tx_t3editor::MODE_PHP: + $stylesheet = '"../../contrib/codemirror/contrib/php/css/phpcolors.css"'; + break; + + case tx_t3editor::MODE_MIXED: + $stylesheet = '"res/css/xmlcolors.css", ' . + 'T3editor.PATH_t3e + "res/css/jscolors.css", ' . + 'T3editor.PATH_t3e + "res/css/csscolors.css", ' . + 'T3editor.PATH_codemirror + "../contrib/php/css/phpcolors.css"'; + break; } return '[T3editor.PATH_t3e + ' . $stylesheet . ', T3editor.PATH_t3e + "res/css/t3editor_inner.css"]'; } @@ -473,4 +506,4 @@ include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/t3editor/classes/class.tx_t3editor.php']); } -?> \ No newline at end of file +?>