dbFields = array(
'toolbar1' => 'formatselect bold italic forecolor backcolor removeformat | bullist numlist table | blockquote alignleft aligncenter alignright | link unlink pagebreak image code',
'toolbar2' => '',
'plugins' => 'code autolink image link pagebreak advlist lists textpattern table',
'codesampleLanguages' => 'HTML/XML markup|JavaScript javascript|CSS css|PHP php|Ruby ruby|Python python|Java java|C c|C# sharp|C++ cpp'
);
}
public function form()
{
global $L;
$html = '
';
$html .= $this->description();
$html .= '
';
$html .= '';
$html .= '';
$html .= '';
$html .= '
';
$html .= '';
$html .= '';
$html .= '';
$html .= '
';
$html .= '';
$html .= '';
$html .= '';
$html .= '
';
if (strpos($this->getValue('plugins'), 'codesample') !== false) {
$html .= '';
$html .= '';
$html .= '';
$html .= '' . $L->get('codesample-supported-laguages') . '';
$html .= '
';
}
return $html;
}
public function adminHead()
{
// Load the plugin only in the controllers setted in $this->loadOnController
if (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) {
return false;
}
$html = '' . PHP_EOL;
$html .= '';
return $html;
}
public function adminBodyEnd()
{
global $L;
// Load the plugin only in the controllers setted in $this->loadOnController
if (!in_array($GLOBALS['ADMIN_CONTROLLER'], $this->loadOnController)) {
return false;
}
$toolbar1 = $this->getValue('toolbar1');
$toolbar2 = $this->getValue('toolbar2');
$content_css = $this->htmlPath() . 'css/tinymce_content.css';
$plugins = $this->getValue('plugins');
$version = $this->version();
if (strpos($this->getValue('plugins'), 'codesample') !== false) {
$codesampleConfig = '';
$codesampleLanguages = explode("|", $this->getValue('codesampleLanguages'));
foreach ($codesampleLanguages as $codesampleLang) {
$values = explode(" ", $codesampleLang);
$codesampleConfig .= "{ text: '" . $values[0] . "', value: '" . $values[1] . "' },";
}
}
$lang = 'en';
if (file_exists($this->phpPath() . 'tinymce' . DS . 'langs' . DS . $L->currentLanguage() . '.js')) {
$lang = $L->currentLanguage();
} elseif (file_exists($this->phpPath() . 'tinymce' . DS . 'langs' . DS . $L->currentLanguageShortVersion() . '.js')) {
$lang = $L->currentLanguageShortVersion();
}
if (IMAGE_RELATIVE_TO_ABSOLUTE) {
$document_base_url = 'document_base_url: "' . DOMAIN_UPLOADS . '",';
} else {
$document_base_url = '';
}
$html = <<
// Insert an image in the editor at the cursor position
// Function required for Bludit
function editorInsertMedia(filename) {
tinymce.activeEditor.insertContent("");
}
// Insert a linked image in the editor at the cursor position
// Function required for Bludit
function editorInsertLinkedMedia(filename, link) {
tinymce.activeEditor.insertContent("");
}
// Returns the content of the editor
// Function required for Bludit
function editorGetContent() {
return tinymce.get('jseditor').getContent();
}
tinymce.init({
selector: "#jseditor",
auto_focus: "jseditor",
element_format : "html",
entity_encoding : "raw",
skin: "oxide",
schema: "html5",
statusbar: false,
menubar:false,
branding: false,
browser_spellcheck: true,
pagebreak_separator: PAGE_BREAK,
paste_as_text: true,
remove_script_host: false,
convert_urls: true,
relative_urls: false,
valid_elements: "*[*]",
cache_suffix: "?version=$version",
$document_base_url
plugins: ["$plugins"],
toolbar1: "$toolbar1",
toolbar2: "$toolbar2",
language: "$lang",
content_css: "$content_css",
codesample_languages: [$codesampleConfig],
});
EOF;
return $html;
}
}