_oTemplate = $oTemplate; else $this->_oTemplate = BxDolTemplate::getInstance(); } /** * Attach editor to HTML element, in most cases - textarea. * @param $sSelector - jQuery selector to attach editor to. * @param $iViewMode - editor view mode: BX_EDITOR_STANDARD, BX_EDITOR_MINI, BX_EDITOR_FULL * @param $bDynamicMode - is AJAX mode or not, the HTML with editor area is loaded synamically. */ public function attachEditor ($sSelector, $iViewMode = BX_EDITOR_STANDARD, $bDynamicMode = false) { // set visual mode switch ($iViewMode) { case BX_EDITOR_MINI: $sToolsItems = self::$CONF_MINI; break; case BX_EDITOR_FULL: $sToolsItems = self::$CONF_FULL; break; case BX_EDITOR_STANDARD: default: $sToolsItems = self::$CONF_STANDARD; } // initialize editor $sInitEditor = $this->_replaceMarkers(self::$CONF_COMMON, array( 'bx_var_custom_init' => $sToolsItems, 'bx_var_selector' => bx_js_string($sSelector, BX_ESCAPE_STR_APOS), 'bx_var_css_path' => bx_js_string($this->_oTemplate->getCssUrl('editor.css'), BX_ESCAPE_STR_APOS), )); if ($bDynamicMode) { $sScript = $this->_oTemplate->addCss(BX_DOL_URL_PLUGINS . 'cleditor/jquery.cleditor.css', true); $sScript .= ""; } else { $sScript = ""; } return $this->_addJsCss($bDynamicMode) . $sScript; } /** * Add css/js files which are needed for editor display and functionality. */ protected function _addJsCss($bDynamicMode = false, $sInitEditor = '') { if ($bDynamicMode) return ''; if ($this->_bJsCssAdded) return ''; $this->_oTemplate->addCss(BX_DOL_URL_PLUGINS_PUBLIC . 'cleditor/jquery.cleditor.css'); $this->_oTemplate->addJs(array('cleditor/jquery.cleditor.min.js', 'editor.cleditor.js')); $this->_bJsCssAdded = true; return ''; } } /** @} */