diff --git a/README.md b/README.md
index 6bc83c0..9a465b0 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-# TinyMCE 4.0.25 for OXID eShop CE 4.7+
-### hdi-tinymce module version 1.2.0 from 2014-05-02
+## TinyMCE 4.1.2 for OXID eShop CE 4.7+
+### hdi-tinymce module version 1.2.1 from 2014-07-28
TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL.
More information here: http://www.tinymce.com/
and here: https://github.com/tinymce
@@ -8,8 +8,8 @@ and here: https://github.com/tinymce
### LICENSE AGREEMENT
HDI TinyMCE
- Copyright (C) 2012-2014 HEINER DIRECT GmbH & Co. KG
- info: oxid@heiner-direct.com
+ Copyright (C) 2012-2014 bestlife AG
+ info: oxid@bestlife.ag
This program is free software;
you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;
diff --git a/copy_this/modules/hdi/hdi-tinymce/Jakefile.js b/copy_this/modules/hdi/hdi-tinymce/Jakefile.js
deleted file mode 100644
index c04ebce..0000000
--- a/copy_this/modules/hdi/hdi-tinymce/Jakefile.js
+++ /dev/null
@@ -1,226 +0,0 @@
-var r = require('request');
-var c = require('cheerio');
-var fs = require('fs');
-var AdmZip = require('adm-zip')
-
-
-
-desc("full update process (default task)");
-task("default", [], function() {
-
- var error = function(err) {
- console.log("something went wrong!");
- console.log("--------------------------------------------------------------------------------");
- console.log(err);
- console.log("--------------------------------------------------------------------------------");
- fail('task aborted');
- };
-
-
- var deleteFolderRecursive = function(path) {
- if (fs.existsSync(path)) {
- fs.readdirSync(path).forEach(function(file, index) {
- var curPath = path + "/" + file;
- if (fs.lstatSync(curPath).isDirectory()) { // recurse
- deleteFolderRecursive(curPath);
- } else { // delete file
- fs.unlinkSync(curPath);
- }
- });
- fs.rmdirSync(path);
- }
- };
-
- console.log("fetching newest tinymce version...");
- r("http://www.tinymce.com/download/download.php", function(err, res, body) {
-
- if (err || res.statusCode != 200) error(err);
-
- // (re)moving old tinymce files
- if (fs.existsSync("tinymce")) {
- fs.renameSync("tinymce", "old_tinymce");
- deleteFolderRecursive("old_tinymce");
- }
-
- var tinymceurl = c.load(body)('#twocolumns a.track-tinymce').eq(0).attr('href');
- console.log("downloading tinymce from: " + tinymceurl);
-
- r(tinymceurl).pipe(
- fs.createWriteStream('tmp_tinymce.zip')
- .on('close', function() {
- //console.log("tinymce download finished");
- console.log("extracting tinymce");
- var tinymce = new AdmZip('tmp_tinymce.zip');
- tinymce.getEntries().forEach(function(e) {
- if (e.entryName.indexOf("tinymce/js/tinymce/") === 0) {
- tinymce.extractEntryTo(e.entryName, e.entryName.replace("tinymce/js/tinymce", "tinymce").replace(e.name, ""), false, true);
- }
- });
- fs.unlink('tmp_tinymce.zip');
- })
- );
-
-
- console.log("downloading latest language files: CS, DA, DE, FR, IT, NL, RU")
- r("http://www.tinymce.com/i18n/download.php?download[]=cs&download[]=da&download[]=de&download[]=fr_FR&download[]=it&download[]=nl&download[]=ru").pipe(
- fs.createWriteStream('tmp_languages.zip')
- .on('close', function() {
- //console.log("language files download finished");
- console.log("extracting lamguage files");
- var languages = new AdmZip('tmp_languages.zip');
- languages.extractAllTo("tinymce/", true);
- fs.unlink('tmp_languages.zip');
- })
- );
-
-
- // update version.jpg
- var runner = require('child_process');
- runner.exec('php -r \'include("metadata.php"); print $aModule["version"];\'',
- function(err, stdout, stderr) {
- //console.log(stdout);
- var version = stdout.split(" ")[0];
- /*
- var aVersion = oldVersion.split(".");
- var patch = aVersion.pop();
- var newVersion = aVersion.join(".") + "." + (Math.abs(patch) + 1);
- */
- var url = "http://dev.marat.ws/v/?raw=1&v=" + version;
- r(url).pipe(fs.createWriteStream('version.jpg', true));
- }
- );
-
- });
-
-
-});
-//task("default", ['tinymce', 'languages', 'extract', 'cleanup', 'version'], function() {});
-
-
-desc("get latest tinymce version from website");
-task("tinymce", [], function() {
- r("http://www.tinymce.com/download/download.php", function(err, res, body) {
- console.log("fetching newest tinymce version...");
-
- if (err || res.statusCode != 200) {
- console.log("something went wrong!");
- console.log("--------------------------------------------------------------------------------");
- console.log(err);
- console.log("--------------------------------------------------------------------------------");
- }
-
- var url = require('cheerio').load(body)('#twocolumns a.track-tinymce').eq(0).attr('href');
- console.log("downloading from: " + url);
- r(url).pipe(fs.createWriteStream('tmp_tinymce.zip'));
- console.log("download finished");
- console.log("------------------------------");
- complete();
- });
-});
-
-desc("download latest language files for tinymce");
-task("languages", [], function() {
- console.log("downloading latest language files: CS, DA, DE, FR, IT, NL, RU")
- var url = "http://www.tinymce.com/i18n/download.php?download[]=cs&download[]=da&download[]=de&download[]=fr_FR&download[]=it&download[]=nl&download[]=ru";
- r(url).pipe(fs.createWriteStream('tmp_languages.zip'));
- console.log("download finished");
- console.log("------------------------------");
- complete();
-});
-
-desc("extracting archives and updating files");
-task("extract", [], function() {
- // lets (re)move old files first
- if (fs.existsSync("tinymce")) {
- fs.renameSync("tinymce", "old_tinymce");
- }
-
- console.log("extracting tinymce");
- var tinymce = new AdmZip('tmp_tinymce.zip');
- tinymce.getEntries().forEach(function(e) {
- if (e.entryName.indexOf("tinymce/js/tinymce/") === 0) {
- tinymce.extractEntryTo(e.entryName, "tinymce", false, true);
- }
- });
-
-
- console.log("extracting extra lamguages");
- var languages = new AdmZip('tmp_languages.zip');
- languages.extractAllTo("tinymce/", true);
-
- console.log("extracting finished");
- console.log("------------------------------");
- complete();
-});
-
-
-desc('removing temp files');
-task("cleanup", [], function() {
-
- console.log("removing temporary files");
-
- fs.unlink('tmp_tinymce.zip');
- fs.unlink('tmp_languages.zip');
-
- var deleteFolderRecursive = function(path) {
- if (fs.existsSync(path)) {
- fs.readdirSync(path).forEach(function(file, index) {
- var curPath = path + "/" + file;
- if (fs.lstatSync(curPath).isDirectory()) { // recurse
- deleteFolderRecursive(curPath);
- } else { // delete file
- fs.unlinkSync(curPath);
- }
- });
- fs.rmdirSync(path);
- }
- };
- deleteFolderRecursive("old_tinymce");
-
- console.log("cleanup finished");
- console.log("------------------------------");
- complete();
-});
-
-
-desc("updating module version");
-task("version", [], function() {
- // update version.jpg
- var runner = require('child_process');
- runner.exec('php -r \'include("metadata.php"); print $aModule["version"];\'',
- function(err, stdout, stderr) {
- //console.log(stdout);
- var version = stdout.split(" ")[0];
- /*
- var aVersion = oldVersion.split(".");
- var patch = aVersion.pop();
- var newVersion = aVersion.join(".") + "." + (Math.abs(patch) + 1);
- */
- var url = "http://dev.marat.ws/v/?raw=1&v=" + version;
- r(url).pipe(fs.createWriteStream('version.jpg', true));
- }
- );
-
-});
-
-
-desc("test function");
-task("test", [], function() {
-
- r("http://www.tinymce.com/download/download.php", function(err, res, body) {
-
- if (err || res.statusCode != 200) error(err);
-
-
- var url = c.load(body)('#twocolumns a.track-tinymce').eq(0).attr('href');
- console.log("downloading tinymce from: " + url);
-
- r(url).pipe(fs.createWriteStream('doodle.zip').on('close', function() {
- console.log('file done');
- }));
- console.log("345");
- });
- console.log("123");
-
-
-});
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/README.md b/copy_this/modules/hdi/hdi-tinymce/README.md
new file mode 100644
index 0000000..d9b3301
--- /dev/null
+++ b/copy_this/modules/hdi/hdi-tinymce/README.md
@@ -0,0 +1,15 @@
+## [hdi] TinyMCE for OXID eShop 4.7 & 4.8
+#### raw module branch, also contains development files
+
+### installation
+* navigate into modules/ directory of your shop
+* mkdir hdi & cd hdi
+* echo " vendormetadata.php
+* git clone -b module https://github.com/vanilla-thunder/hdi-tinymce.git
+
+
+### development (node.js required)
+* nagivate into hdi-tinymce/ directory
+* npm install
+* "node update.js" will update tinymce and language files
+* "node update.js version x.y" will get new update.jpg for version x.y
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/bestlife.png b/copy_this/modules/hdi/hdi-tinymce/bestlife.png
new file mode 100644
index 0000000..160dd30
Binary files /dev/null and b/copy_this/modules/hdi/hdi-tinymce/bestlife.png differ
diff --git a/copy_this/modules/hdi/hdi-tinymce/hdi.png b/copy_this/modules/hdi/hdi-tinymce/hdi.png
deleted file mode 100644
index 171a7a7..0000000
Binary files a/copy_this/modules/hdi/hdi-tinymce/hdi.png and /dev/null differ
diff --git a/copy_this/modules/hdi/hdi-tinymce/metadata.php b/copy_this/modules/hdi/hdi-tinymce/metadata.php
index b86b674..cf4decf 100644
--- a/copy_this/modules/hdi/hdi-tinymce/metadata.php
+++ b/copy_this/modules/hdi/hdi-tinymce/metadata.php
@@ -1,123 +1,400 @@
- */
-
+ /**
+ * HDI TinyMCE
+ * Copyright (C) 2012-2014 HEINER DIRECT GmbH & Co. KG
+ * info: oxid@heiner-direct.com
+ *
+ * This program is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;
+ * either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License along with this program; if not, see
+ */
$v = "https://raw.githubusercontent.com/vanilla-thunder/hdi-tinymce/master/copy_this/modules/hdi/hdi-tinymce/version.jpg";
- $vm = "https://raw.githubusercontent.com/vanilla-thunder/hdi-tinymce/module/version.jpg";
+ //$update = (ini_get( 'allow_url_fopen' ) && (md5_file($v) != md5_file(dirname( __FILE__ ).DIRECTORY_SEPARATOR."version.jpg"))) ? true : false;
- $sMetadataVersion = '1.1';
- $aModule = array(
- 'id' => 'hdi-tinymce',
- 'title' => 'HDI TinyMCE 4.0.25',
- 'description' => 'backend implementation of TinyMCE Editor
visit http://www.tinymce.com/ for demo and more details'.
- ( md5_file($v) != md5_file(dirname(__FILE__).DIRECTORY_SEPARATOR."version.jpg") ?
- '
New Version available:
-
- info
- download' : '')
- ,
-
- 'thumbnail' => 'hdi.png',
- 'version' => '1.2.0 (2014-05-02)', //'',
- 'author' => 'Marat Bedoev, HEINER DIRECT GmbH & Co. KG',
- 'email' => 'oxid@heiner-direct.com',
- 'url' => 'http://www.heiner-direct.com',
- 'extend' => array(
- 'article_main' => 'hdi/hdi-tinymce/extend/tinymce',
- 'category_text' => 'hdi/hdi-tinymce/extend/tinymce',
- 'content_main' => 'hdi/hdi-tinymce/extend/tinymce',
- 'newsletter_main' => 'hdi/hdi-tinymce/extend/tinymce',
- 'news_text' => 'hdi/hdi-tinymce/extend/tinymce',
+ $sMetadataVersion = '1.1';
+ $aModule = array(
+ 'id' => 'hdi-tinymce',
+ 'title' => 'bestlife TinyMCE',
+ 'description' => 'TinyMCE 4.1.2 WYSIWYG Editor for OXID eShop backend 4.7 & 4.8
visit http://www.tinymce.com/ for demo and more details
newest version:info download',
+ 'thumbnail' => 'tinymce.png',
+ 'version' => '1.2.1 (2014-07-28)',
+ 'author' => 'Marat Bedoev, bestlife AG',
+ 'email' => 'oxid@bestlife.ag',
+ 'url' => 'http://www.bestlife.ag',
+ 'extend' => array(
+ 'article_main' => 'hdi/hdi-tinymce/extend/tinymce',
+ 'category_text' => 'hdi/hdi-tinymce/extend/tinymce',
+ 'content_main' => 'hdi/hdi-tinymce/extend/tinymce',
+ 'newsletter_main' => 'hdi/hdi-tinymce/extend/tinymce',
+ 'news_text' => 'hdi/hdi-tinymce/extend/tinymce',
'oxviewconfig' => 'hdi/hdi-tinymce/extend/oxviewconfig_hditinymce'
- //'your_class' => 'hdi/hdi-tinymce/tinymce' // <= insert here your own class
- ),
- 'templates' => array(
- 'tinymce.tpl' => 'hdi/hdi-tinymce/views/tinymce.tpl',
- ),
- 'blocks' => array(
- array('template' => 'bottomnaviitem.tpl', 'block' => 'admin_bottomnaviitem', 'file' => '/views/blocks/admin_bottomnaviitem.tpl')
- ),
- 'settings' => array(
- /* enabling tinyMCE for this classes */
- array('group' => 'tinyMceMain', 'name' => 'aTinyMCE_classes', 'type' => 'arr', 'value' => array("article_main", "category_text","content_main","newsletter_main","news_text"), 'position' => 0),
- array('group' => 'tinyMceMain', 'name' => 'aTinyMCE_plaincms','type' => 'arr', 'value' => array(
- "oxadminorderplainemail","oxadminordernpplainemail", // bestellbenachrichtigung admin + fremdländer
- "oxuserorderplainemail", "oxuserordernpplainemail", "oxuserorderemailendplain", // bestellbenachrichtigung user + fremdländer + abschluss
- "oxordersendplainemail", // versandbestätigung
- "oxregisterplainemail", "oxregisterplainaltemail", // registrierung
- "oxupdatepassinfoplainemail", // passwort update
- "oxnewsletterplainemail", // newsletter
- "oxemailfooterplain", // email fußtext
- "oxrighttocancellegend", "oxrighttocancellegend2", // widerrufsrecht
- "oxstartmetadescription", "oxstartmetakeywords" // META Tags
- ), 'position' => 1),
- array('group' => 'tinyMceMain', 'name' => 'sTinyMCE_height', 'type' => 'str', 'value' => '300', 'position' => 2),
- array('group' => 'tinyMceMain', 'name' => 'bTinyMCE_smallui', 'type' => 'bool', 'value' => true, 'position' => 3),
- array('group' => 'tinyMceMain', 'name' => 'bTinyMCE_legacyoutput', 'type' => 'bool', 'value' => true, 'position' => 4),
- array('group' => 'tinyMceMain', 'name' => 'sTinyMCE_cssfile', 'type' => 'str', 'value' => '/weiss/ich/noch/nicht.css', 'position' => 5),
+ //'your_class' => 'hdi/hdi-tinymce/tinymce' // <= insert here your own class
+ ),
+ 'templates' => array(
+ 'tinymce.tpl' => 'hdi/hdi-tinymce/views/tinymce.tpl',
+ ),
+ 'blocks' => array(
+ array(
+ 'template' => 'bottomnaviitem.tpl',
+ 'block' => 'admin_bottomnaviitem',
+ 'file' => '/views/blocks/admin_bottomnaviitem.tpl'
+ )
+ ),
+ 'settings' => array(
+ /* enabling tinyMCE for this classes */
+ array(
+ 'group' => 'tinyMceMain',
+ 'name' => 'aTinyMCE_classes',
+ 'type' => 'arr',
+ 'value' => array(
+ "article_main",
+ "category_text",
+ "content_main",
+ "newsletter_main",
+ "news_text"
+ ),
+ 'position' => 0
+ ),
+ array(
+ 'group' => 'tinyMceMain',
+ 'name' => 'aTinyMCE_plaincms',
+ 'type' => 'arr',
+ 'value' => array(
+ "oxadminorderplainemail",
+ "oxadminordernpplainemail", // bestellbenachrichtigung admin + fremdländer
+ "oxuserorderplainemail",
+ "oxuserordernpplainemail",
+ "oxuserorderemailendplain", // bestellbenachrichtigung user + fremdländer + abschluss
+ "oxordersendplainemail", // versandbestätigung
+ "oxregisterplainemail",
+ "oxregisterplainaltemail", // registrierung
+ "oxupdatepassinfoplainemail", // passwort update
+ "oxnewsletterplainemail", // newsletter
+ "oxemailfooterplain", // email fußtext
+ "oxrighttocancellegend",
+ "oxrighttocancellegend2", // widerrufsrecht
+ "oxstartmetadescription",
+ "oxstartmetakeywords" // META Tags
+ ),
+ 'position' => 1
+ ),
+ array(
+ 'group' => 'tinyMceMain',
+ 'name' => 'sTinyMCE_height',
+ 'type' => 'str',
+ 'value' => '300',
+ 'position' => 2
+ ),
+ array(
+ 'group' => 'tinyMceMain',
+ 'name' => 'bTinyMCE_smallui',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 3
+ ),
+ array(
+ 'group' => 'tinyMceMain',
+ 'name' => 'bTinyMCE_legacyoutput',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 4
+ ),
+ array(
+ 'group' => 'tinyMceMain',
+ 'name' => 'sTinyMCE_cssfile',
+ 'type' => 'str',
+ 'value' => '/weiss/ich/noch/nicht.css',
+ 'position' => 5
+ ),
+ /* TinyMCE Settings */
- /* TinyMCE Settings */
-
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_relative_urls', 'type' => 'bool', 'value' => false, 'position' => 0),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_browser_spellcheck', 'type' => 'bool', 'value' => true, 'position' => 1),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_autolink', 'type' => 'bool', 'value' => true, 'position' => 1),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_advlist', 'type' => 'bool', 'value' => true, 'position' => 2),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_anchor', 'type' => 'bool', 'value' => true, 'position' => 3),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_autolink', 'type' => 'bool', 'value' => true, 'position' => 4),
- //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_autoresize', 'type' => 'bool', 'value' => true, 'position' => 5), // autoresizing editor. causes problems with the height
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_autosave', 'type' => 'bool', 'value' => false, 'position' => 6),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_bbcode', 'type' => 'bool', 'value' => false, 'position' => 7),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_charmap', 'type' => 'bool', 'value' => true, 'position' => 8),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_code', 'type' => 'bool', 'value' => true, 'position' => 9),
- //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_compat3x', 'type' => 'bool', 'value' => true, 'position' => 10), //bug
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_contextmenu', 'type' => 'bool', 'value' => true, 'position' => 11),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_directionality', 'type' => 'bool', 'value' => true, 'position' => 12), // rtl support
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_emoticons', 'type' => 'bool', 'value' => false, 'position' => 13),
- //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_example', 'type' => 'bool', 'value' => true, 'position' => 14), // example plugin
- //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_example_dependency', 'type' => 'bool', 'value' => true, 'position' => 15), // example plugin
- //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_fullpage', 'type' => 'bool', 'value' => true, 'position' => 16), // adds doctype, html,head, body and other page tags
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_fullscreen', 'type' => 'bool', 'value' => true, 'position' => 17),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_hr', 'type' => 'bool', 'value' => true, 'position' => 18),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_image', 'type' => 'bool', 'value' => true, 'position' => 19),
-
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_insertdatetime', 'type' => 'bool', 'value' => true, 'position' => 20),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_relative_urls',
+ 'type' => 'bool',
+ 'value' => false,
+ 'position' => 0
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_browser_spellcheck',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 1
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_autolink',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 1
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_advlist',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 2
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_anchor',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 3
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_autolink',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 4
+ ),
+ //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_autoresize', 'type' => 'bool', 'value' => true, 'position' => 5), // autoresizing editor. causes problems with the height
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_autosave',
+ 'type' => 'bool',
+ 'value' => false,
+ 'position' => 6
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_bbcode',
+ 'type' => 'bool',
+ 'value' => false,
+ 'position' => 7
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_charmap',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 8
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_code',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 9
+ ),
+ //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_compat3x', 'type' => 'bool', 'value' => true, 'position' => 10), //bug
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_contextmenu',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 11
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_directionality',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 12
+ ),
+ // rtl support
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_emoticons',
+ 'type' => 'bool',
+ 'value' => false,
+ 'position' => 13
+ ),
+ //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_example', 'type' => 'bool', 'value' => true, 'position' => 14), // example plugin
+ //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_example_dependency', 'type' => 'bool', 'value' => true, 'position' => 15), // example plugin
+ //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_fullpage', 'type' => 'bool', 'value' => true, 'position' => 16), // adds doctype, html,head, body and other page tags
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_fullscreen',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 17
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_hr',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 18
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_image',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 19
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_insertdatetime',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 20
+ ),
//array('group' => 'tinyMceSettings', 'name' => 'sTinyMCE_datetimeformat', 'type' => 'select', 'value' => '0', 'constrains' => '0|1|2|3', 'position' => 3 ) // weiß noch nicht, wie ich das parsen soll...
- //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_layer', 'type' => 'bool', 'value' => true, 'position' => 21), // doenst really works, gonna be removed in the future
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_link', 'type' => 'bool', 'value' => true, 'position' => 23),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_lists', 'type' => 'bool', 'value' => true, 'position' => 24),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_media', 'type' => 'bool', 'value' => true, 'position' => 25),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_nonbreaking', 'type' => 'bool', 'value' => true, 'position' => 26),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_noneditable', 'type' => 'bool', 'value' => true, 'position' => 27),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_pagebreak', 'type' => 'bool', 'value' => true, 'position' => 28),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_paste', 'type' => 'bool', 'value' => true, 'position' => 29),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_preview', 'type' => 'bool', 'value' => true, 'position' => 30),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_print', 'type' => 'bool', 'value' => false, 'position' => 31),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_save', 'type' => 'bool', 'value' => false, 'position' => 32),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_searchreplace', 'type' => 'bool', 'value' => true, 'position' => 33),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_spellchecker', 'type' => 'bool', 'value' => true, 'position' => 34),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_tabfocus', 'type' => 'bool', 'value' => true, 'position' => 35),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_table', 'type' => 'bool', 'value' => true, 'position' => 36),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_template', 'type' => 'bool', 'value' => false, 'position' => 37),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_textcolor', 'type' => 'bool', 'value' => true, 'position' => 38),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_visualblocks', 'type' => 'bool', 'value' => true, 'position' => 39),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_visualchars', 'type' => 'bool', 'value' => true, 'position' => 40),
- array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_wordcount', 'type' => 'bool', 'value' => true, 'position' => 41),
- /* external plugins */
- array('group' => 'tinyMceExtPlugins', 'name' => 'aTinyMCE_external_plugins', 'type' => 'aarr', 'value' => null, 'position' => 0),
- array('group' => 'tinyMceExtPlugins', 'name' => 'sTinyMCE_external_controls', 'type' => 'str', 'value' => '', 'position' => 1),
- array('group' => 'tinyMceExtPlugins', 'name' => 'aTinyMCE_external_config','type' => 'arr', 'value' => null, 'position' => 2),
- )
- );
+ //array('group' => 'tinyMceSettings', 'name' => 'bTinyMCE_layer', 'type' => 'bool', 'value' => true, 'position' => 21), // doenst really works, gonna be removed in the future
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_link',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 23
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_lists',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 24
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_media',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 25
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_nonbreaking',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 26
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_noneditable',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 27
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_pagebreak',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 28
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_paste',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 29
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_preview',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 30
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_print',
+ 'type' => 'bool',
+ 'value' => false,
+ 'position' => 31
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_save',
+ 'type' => 'bool',
+ 'value' => false,
+ 'position' => 32
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_searchreplace',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 33
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_spellchecker',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 34
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_tabfocus',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 35
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_table',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 36
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_template',
+ 'type' => 'bool',
+ 'value' => false,
+ 'position' => 37
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_textcolor',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 38
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_visualblocks',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 39
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_visualchars',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 40
+ ),
+ array(
+ 'group' => 'tinyMceSettings',
+ 'name' => 'bTinyMCE_wordcount',
+ 'type' => 'bool',
+ 'value' => true,
+ 'position' => 41
+ ),
+ /* external plugins */
+ array(
+ 'group' => 'tinyMceExtPlugins',
+ 'name' => 'aTinyMCE_external_plugins',
+ 'type' => 'aarr',
+ 'value' => null,
+ 'position' => 0
+ ),
+ array(
+ 'group' => 'tinyMceExtPlugins',
+ 'name' => 'sTinyMCE_external_controls',
+ 'type' => 'str',
+ 'value' => '',
+ 'position' => 1
+ ),
+ array(
+ 'group' => 'tinyMceExtPlugins',
+ 'name' => 'aTinyMCE_external_config',
+ 'type' => 'arr',
+ 'value' => null,
+ 'position' => 2
+ ),
+ )
+ );
diff --git a/copy_this/modules/hdi/hdi-tinymce/package.json b/copy_this/modules/hdi/hdi-tinymce/package.json
index f551ce5..80d8f13 100644
--- a/copy_this/modules/hdi/hdi-tinymce/package.json
+++ b/copy_this/modules/hdi/hdi-tinymce/package.json
@@ -1,8 +1,8 @@
{
"name": "hdi-tinymce",
- "version": "1.1.7",
- "description": "TinyMCE integration for OXID eShop CE Backend",
- "author": "Marat Bedoev, HEINER DIRECT GmbH & Co. KG ",
+ "version": "1.2.1",
+ "description": "TinyMCE integration for OXID eShop CE",
+ "author": "Marat Bedoev, bestlife AG ",
"license": "GPLv3",
"repository": {
"type": "git",
@@ -16,10 +16,10 @@
"oxid",
"oxid",
"eshop",
- "editor"
+ "editor",
+ "wysiwyg"
],
"devDependencies": {
- "jake": "*",
"request": "*",
"cheerio": "*",
"adm-zip": "*"
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce.png b/copy_this/modules/hdi/hdi-tinymce/tinymce.png
new file mode 100644
index 0000000..dd19bba
Binary files /dev/null and b/copy_this/modules/hdi/hdi-tinymce/tinymce.png differ
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/cs.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/cs.js
index a13ed19..1bd64ce 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/cs.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/cs.js
@@ -66,6 +66,7 @@ tinymce.addI18n('cs',{
"Restore last draft": "Obnovit posledn\u00ed koncept",
"Special character": "Speci\u00e1ln\u00ed znak",
"Source code": "Zdrojov\u00fd k\u00f3d",
+"Color": "Barva",
"Right to left": "Zprava doleva",
"Left to right": "Zleva doprava",
"Emoticons": "Emotikony",
@@ -128,6 +129,7 @@ tinymce.addI18n('cs',{
"Finish": "Ukon\u010dit",
"Ignore all": "Ignorovat v\u0161e",
"Ignore": "Ignorovat",
+"Add to Dictionary": "P\u0159idat do slovn\u00edku",
"Insert row before": "Vlo\u017eit \u0159\u00e1dek nad",
"Rows": "\u0158\u00e1dek",
"Height": "V\u00fd\u0161ka",
@@ -176,6 +178,9 @@ tinymce.addI18n('cs',{
"Insert template": "Vlo\u017eit \u0161ablonu",
"Templates": "\u0160ablony",
"Background color": "Barva pozad\u00ed",
+"Custom...": "Vlastn\u00ed...",
+"Custom color": "Vlastn\u00ed barva",
+"No color": "Bez barvy",
"Text color": "Barva p\u00edsma",
"Show blocks": "Uk\u00e1zat bloky",
"Show invisible characters": "Zobrazit speci\u00e1ln\u00ed znaky",
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/da.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/da.js
index 79c7e4f..7fe99e2 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/da.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/da.js
@@ -66,6 +66,7 @@ tinymce.addI18n('da',{
"Restore last draft": "Genopret sidste kladde",
"Special character": "Specielle tegn",
"Source code": "Kildekode",
+"Color": "Farve",
"Right to left": "H\u00f8jre til venstre",
"Left to right": "Venstre til h\u00f8jre",
"Emoticons": "Emot-ikoner",
@@ -128,11 +129,13 @@ tinymce.addI18n('da',{
"Finish": "F\u00e6rdig",
"Ignore all": "Ignorer alt",
"Ignore": "Ignorer",
+"Add to Dictionary": "Tilf\u00f8j til ordbog",
"Insert row before": "Inds\u00e6t r\u00e6kke f\u00f8r",
"Rows": "R\u00e6kker",
"Height": "H\u00f8jde",
"Paste row after": "Inds\u00e6t r\u00e6kke efter",
"Alignment": "Tilpasning",
+"Border color": "Kant farve",
"Column group": "Kolonne gruppe",
"Row": "R\u00e6kke",
"Insert column before": "Inds\u00e6t kolonne f\u00f8r",
@@ -148,15 +151,20 @@ tinymce.addI18n('da',{
"Paste row before": "Inds\u00e6t r\u00e6kke f\u00f8r",
"Scope": "Anvendelsesomr\u00e5de",
"Delete table": "Slet tabel",
+"H Align": "H juster",
+"Top": "Top",
"Header cell": "Sidehoved celle",
"Column": "Kolonne",
+"Row group": "R\u00e6kke gruppe",
"Cell": "Celle",
-"Header": "Sidehoved",
+"Middle": "Midt",
"Cell type": "Celle type",
"Copy row": "Kopier r\u00e6kke",
"Row properties": "R\u00e6kke egenskaber",
"Table properties": "Tabel egenskaber",
-"Row group": "R\u00e6kke gruppe",
+"Bottom": "Bund",
+"V Align": "V juster",
+"Header": "Sidehoved",
"Right": "H\u00f8jre",
"Insert column after": "Inds\u00e6t kolonne efter",
"Cols": "Kolonne",
@@ -171,6 +179,9 @@ tinymce.addI18n('da',{
"Insert template": "Inds\u00e6t skabelon",
"Templates": "Skabeloner",
"Background color": "Baggrunds farve",
+"Custom...": "Brugerdefineret...",
+"Custom color": "Brugerdefineret farve",
+"No color": "Ingen farve",
"Text color": "Tekst farve",
"Show blocks": "Vis klokke",
"Show invisible characters": "Vis usynlige tegn",
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/de.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/de.js
index 2bc94d7..ef3142d 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/de.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/de.js
@@ -66,6 +66,7 @@ tinymce.addI18n('de',{
"Restore last draft": "Letzten Entwurf wiederherstellen",
"Special character": "Sonderzeichen",
"Source code": "Quelltext",
+"Color": "Farbe",
"Right to left": "Von rechts nach links",
"Left to right": "Von links nach rechts",
"Emoticons": "Emoticons",
@@ -128,11 +129,13 @@ tinymce.addI18n('de',{
"Finish": "Ende",
"Ignore all": "Alles Ignorieren",
"Ignore": "Ignorieren",
+"Add to Dictionary": "Zum W\u00f6rterbuch hinzuf\u00fcgen",
"Insert row before": "Neue Zeile davor einf\u00fcgen ",
"Rows": "Zeilen",
"Height": "H\u00f6he",
"Paste row after": "Zeile danach einf\u00fcgen",
"Alignment": "Ausrichtung",
+"Border color": "Rahmenfarbe",
"Column group": "Spaltengruppe",
"Row": "Zeile",
"Insert column before": "Neue Spalte davor einf\u00fcgen",
@@ -176,6 +179,9 @@ tinymce.addI18n('de',{
"Insert template": "Vorlage einf\u00fcgen ",
"Templates": "Vorlagen",
"Background color": "Hintergrundfarbe",
+"Custom...": "Benutzerdefiniert...",
+"Custom color": "Benutzerdefinierte Farbe",
+"No color": "Keine Farbe",
"Text color": "Textfarbe",
"Show blocks": " Bl\u00f6cke anzeigen",
"Show invisible characters": "Unsichtbare Zeichen anzeigen",
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/ru.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/ru.js
index 30de752..fdd3821 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/ru.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/langs/ru.js
@@ -66,6 +66,7 @@ tinymce.addI18n('ru',{
"Restore last draft": "\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430",
"Special character": "\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b",
"Source code": "\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434",
+"Color": "\u0426\u0432\u0435\u0442",
"Right to left": "\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430 \u043d\u0430\u043b\u0435\u0432\u043e",
"Left to right": "\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e",
"Emoticons": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043c\u0430\u0439\u043b",
@@ -128,6 +129,7 @@ tinymce.addI18n('ru',{
"Finish": "\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c",
"Ignore all": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435",
"Ignore": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c",
+"Add to Dictionary": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c",
"Insert row before": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u0432\u0435\u0440\u0445\u0443",
"Rows": "\u0421\u0442\u0440\u043e\u043a\u0438",
"Height": "\u0412\u044b\u0441\u043e\u0442\u0430",
@@ -176,6 +178,9 @@ tinymce.addI18n('ru',{
"Insert template": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d",
"Templates": "\u0428\u0430\u0431\u043b\u043e\u043d\u044b",
"Background color": "\u0426\u0432\u0435\u0442 \u0444\u043e\u043d\u0430",
+"Custom...": "\u0412\u044b\u0431\u0440\u0430\u0442\u044c\u2026",
+"Custom color": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0446\u0432\u0435\u0442",
+"No color": "\u0411\u0435\u0437 \u0446\u0432\u0435\u0442\u0430",
"Text color": "\u0426\u0432\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u0430",
"Show blocks": "\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438",
"Show invisible characters": "\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u0432\u0438\u0434\u0438\u043c\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b",
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/advlist/plugin.min.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/advlist/plugin.min.js
index fb605c0..e734b1a 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/advlist/plugin.min.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/advlist/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("advlist",function(e){function t(e,t){var n=[];return tinymce.each(t.split(/[ ,]/),function(e){n.push({text:e.replace(/\-/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),data:"default"==e?"":e})}),n}function n(t,n){var r,i=e.dom,o=e.selection;r=i.getParent(o.getNode(),"ol,ul"),r&&r.nodeName==t&&n!==!1||e.execCommand("UL"==t?"InsertUnorderedList":"InsertOrderedList"),n=n===!1?a[t]:n,a[t]=n,r=i.getParent(o.getNode(),"ol,ul"),r&&(i.setStyle(r,"listStyleType",n),r.removeAttribute("data-mce-style")),e.focus()}function r(t){var n=e.dom.getStyle(e.dom.getParent(e.selection.getNode(),"ol,ul"),"listStyleType")||"";t.control.items().each(function(e){e.active(e.settings.data===n)})}var i,o,a={};i=t("OL",e.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman")),o=t("UL",e.getParam("advlist_bullet_styles","default,circle,disc,square")),e.addButton("numlist",{type:"splitbutton",tooltip:"Numbered list",menu:i,onshow:r,onselect:function(e){n("OL",e.control.settings.data)},onclick:function(){n("OL",!1)}}),e.addButton("bullist",{type:"splitbutton",tooltip:"Bullet list",menu:o,onshow:r,onselect:function(e){n("UL",e.control.settings.data)},onclick:function(){n("UL",!1)}})});
\ No newline at end of file
+tinymce.PluginManager.add("advlist",function(t){function e(t,e){var n=[];return tinymce.each(e.split(/[ ,]/),function(t){n.push({text:t.replace(/\-/g," ").replace(/\b\w/g,function(t){return t.toUpperCase()}),data:"default"==t?"":t})}),n}function n(e,n){var o,l=t.dom,a=t.selection;o=l.getParent(a.getNode(),"ol,ul"),o&&o.nodeName==e&&n!==!1||t.execCommand("UL"==e?"InsertUnorderedList":"InsertOrderedList"),n=n===!1?i[e]:n,i[e]=n,o=l.getParent(a.getNode(),"ol,ul"),o&&n&&(l.setStyle(o,"listStyleType",n),o.removeAttribute("data-mce-style")),t.focus()}function o(e){var n=t.dom.getStyle(t.dom.getParent(t.selection.getNode(),"ol,ul"),"listStyleType")||"";e.control.items().each(function(t){t.active(t.settings.data===n)})}var l,a,i={};l=e("OL",t.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman")),a=e("UL",t.getParam("advlist_bullet_styles","default,circle,disc,square")),t.addButton("numlist",{type:"splitbutton",tooltip:"Numbered list",menu:l,onshow:o,onselect:function(t){n("OL",t.control.settings.data)},onclick:function(){n("OL",!1)}}),t.addButton("bullist",{type:"splitbutton",tooltip:"Bullet list",menu:a,onshow:o,onselect:function(t){n("UL",t.control.settings.data)},onclick:function(){n("UL",!1)}})});
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/anchor/plugin.min.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/anchor/plugin.min.js
index 6a3fd79..fec2a76 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/anchor/plugin.min.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/anchor/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("anchor",function(e){function t(){var t=e.selection.getNode();e.windowManager.open({title:"Anchor",body:{type:"textbox",name:"name",size:40,label:"Name",value:t.name||t.id},onsubmit:function(t){e.execCommand("mceInsertContent",!1,e.dom.createHTML("a",{id:t.data.name}))}})}e.addButton("anchor",{icon:"anchor",tooltip:"Anchor",onclick:t,stateSelector:"a:not([href])"}),e.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",onclick:t})});
\ No newline at end of file
+tinymce.PluginManager.add("anchor",function(n){function e(){var e=n.selection.getNode(),t="";"A"==e.tagName&&(t=e.name||e.id||""),n.windowManager.open({title:"Anchor",body:{type:"textbox",name:"name",size:40,label:"Name",value:t},onsubmit:function(e){n.execCommand("mceInsertContent",!1,n.dom.createHTML("a",{id:e.data.name}))}})}n.addButton("anchor",{icon:"anchor",tooltip:"Anchor",onclick:e,stateSelector:"a:not([href])"}),n.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",onclick:e})});
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autolink/plugin.min.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autolink/plugin.min.js
index c49c679..10bc717 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autolink/plugin.min.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autolink/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("autolink",function(t){function n(t){o(t,-1,"(",!0)}function e(t){o(t,0,"",!0)}function i(t){o(t,-1,"",!1)}function o(t,n,e){function i(t,n){if(0>n&&(n=0),3==t.nodeType){var e=t.data.length;n>e&&(n=e)}return n}function o(t,n){f.setStart(t,i(t,n))}function r(t,n){f.setEnd(t,i(t,n))}var f,d,a,s,c,l,u,g,h;if(f=t.selection.getRng(!0).cloneRange(),f.startOffset<5){if(g=f.endContainer.previousSibling,!g){if(!f.endContainer.firstChild||!f.endContainer.firstChild.nextSibling)return;g=f.endContainer.firstChild.nextSibling}if(h=g.length,o(g,h),r(g,h),f.endOffset<5)return;d=f.endOffset,s=g}else{if(s=f.endContainer,3!=s.nodeType&&s.firstChild){for(;3!=s.nodeType&&s.firstChild;)s=s.firstChild;3==s.nodeType&&(o(s,0),r(s,s.nodeValue.length))}d=1==f.endOffset?2:f.endOffset-1-n}a=d;do o(s,d>=2?d-2:0),r(s,d>=1?d-1:0),d-=1;while(" "!=f.toString()&&""!==f.toString()&&160!=f.toString().charCodeAt(0)&&d-2>=0&&f.toString()!=e);f.toString()==e||160==f.toString().charCodeAt(0)?(o(s,d),r(s,a),d+=1):0===f.startOffset?(o(s,0),r(s,a)):(o(s,d),r(s,a)),l=f.toString(),"."==l.charAt(l.length-1)&&r(s,a-1),l=f.toString(),u=l.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i),u&&("www."==u[1]?u[1]="http://www.":/@$/.test(u[1])&&!/^mailto:/.test(u[1])&&(u[1]="mailto:"+u[1]),c=t.selection.getBookmark(),t.selection.setRng(f),t.execCommand("createlink",!1,u[1]+u[2]),t.selection.moveToBookmark(c),t.nodeChanged())}var r;return t.on("keydown",function(n){return 13==n.keyCode?i(t):void 0}),tinymce.Env.ie?void t.on("focus",function(){if(!r){r=!0;try{t.execCommand("AutoUrlDetect",!1,!0)}catch(n){}}}):(t.on("keypress",function(e){return 41==e.keyCode?n(t):void 0}),void t.on("keyup",function(n){return 32==n.keyCode?e(t):void 0}))});
\ No newline at end of file
+tinymce.PluginManager.add("autolink",function(n){function t(n){o(n,-1,"(",!0)}function e(n){o(n,0,"",!0)}function i(n){o(n,-1,"",!1)}function o(n,t,e){function i(n,t){if(0>t&&(t=0),3==n.nodeType){var e=n.data.length;t>e&&(t=e)}return t}function o(n,t){f.setStart(n,i(n,t))}function r(n,t){f.setEnd(n,i(n,t))}var f,d,a,s,c,l,u,g,h,C;if(f=n.selection.getRng(!0).cloneRange(),f.startOffset<5){if(g=f.endContainer.previousSibling,!g){if(!f.endContainer.firstChild||!f.endContainer.firstChild.nextSibling)return;g=f.endContainer.firstChild.nextSibling}if(h=g.length,o(g,h),r(g,h),f.endOffset<5)return;d=f.endOffset,s=g}else{if(s=f.endContainer,3!=s.nodeType&&s.firstChild){for(;3!=s.nodeType&&s.firstChild;)s=s.firstChild;3==s.nodeType&&(o(s,0),r(s,s.nodeValue.length))}d=1==f.endOffset?2:f.endOffset-1-t}a=d;do o(s,d>=2?d-2:0),r(s,d>=1?d-1:0),d-=1,C=f.toString();while(" "!=C&&""!==C&&160!=C.charCodeAt(0)&&d-2>=0&&C!=e);f.toString()==e||160==f.toString().charCodeAt(0)?(o(s,d),r(s,a),d+=1):0===f.startOffset?(o(s,0),r(s,a)):(o(s,d),r(s,a)),l=f.toString(),"."==l.charAt(l.length-1)&&r(s,a-1),l=f.toString(),u=l.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i),u&&("www."==u[1]?u[1]="http://www.":/@$/.test(u[1])&&!/^mailto:/.test(u[1])&&(u[1]="mailto:"+u[1]),c=n.selection.getBookmark(),n.selection.setRng(f),n.execCommand("createlink",!1,u[1]+u[2]),n.selection.moveToBookmark(c),n.nodeChanged())}var r;return n.on("keydown",function(t){return 13==t.keyCode?i(n):void 0}),tinymce.Env.ie?void n.on("focus",function(){if(!r){r=!0;try{n.execCommand("AutoUrlDetect",!1,!0)}catch(t){}}}):(n.on("keypress",function(e){return 41==e.keyCode?t(n):void 0}),void n.on("keyup",function(t){return 32==t.keyCode?e(n):void 0}))});
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autoresize/plugin.min.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autoresize/plugin.min.js
index fed1d4f..dc88d85 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autoresize/plugin.min.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/autoresize/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("autoresize",function(e){function t(){return e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen()}function i(n){var s,r,g,u,l,m,h,d,f=tinymce.DOM;if(r=e.getDoc()){if(g=r.body,u=r.documentElement,l=o.autoresize_min_height,!g||n&&"setcontent"===n.type&&n.initial||t())return void(g&&u&&(g.style.overflowY="auto",u.style.overflowY="auto"));h=e.dom.getStyle(g,"margin-top",!0),d=e.dom.getStyle(g,"margin-bottom",!0),m=g.offsetHeight+parseInt(h,10)+parseInt(d,10),(isNaN(m)||0>=m)&&(m=tinymce.Env.ie?g.scrollHeight:tinymce.Env.webkit&&0===g.clientHeight?0:g.offsetHeight),m>o.autoresize_min_height&&(l=m),o.autoresize_max_height&&m>o.autoresize_max_height?(l=o.autoresize_max_height,g.style.overflowY="auto",u.style.overflowY="auto"):(g.style.overflowY="hidden",u.style.overflowY="hidden",g.scrollTop=0),l!==a&&(s=l-a,f.setStyle(f.get(e.id+"_ifr"),"height",l+"px"),a=l,tinymce.isWebKit&&0>s&&i(n))}}function n(e,t,o){setTimeout(function(){i({}),e--?n(e,t,o):o&&o()},t)}var o=e.settings,a=0;e.settings.inline||(o.autoresize_min_height=parseInt(e.getParam("autoresize_min_height",e.getElement().offsetHeight),10),o.autoresize_max_height=parseInt(e.getParam("autoresize_max_height",0),10),e.on("init",function(){var t=e.getParam("autoresize_overflow_padding",1);e.dom.setStyles(e.getBody(),{paddingBottom:e.getParam("autoresize_bottom_margin",50),paddingLeft:t,paddingRight:t})}),e.on("nodechange setcontent keyup FullscreenStateChanged",i),e.getParam("autoresize_on_init",!0)&&e.on("init",function(){n(20,100,function(){n(5,1e3)})}),e.addCommand("mceAutoResize",i))});
\ No newline at end of file
+tinymce.PluginManager.add("autoresize",function(e){function t(){return e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen()}function i(o){var r,s,g,m,l,d,u,h,f,c,_,p,y=tinymce.DOM;if(s=e.getDoc()){if(g=s.body,m=s.documentElement,l=n.autoresize_min_height,!g||o&&"setcontent"===o.type&&o.initial||t())return void(g&&m&&(g.style.overflowY="auto",m.style.overflowY="auto"));u=e.dom.getStyle(g,"margin-top",!0),h=e.dom.getStyle(g,"margin-bottom",!0),f=e.dom.getStyle(g,"padding-top",!0),c=e.dom.getStyle(g,"padding-bottom",!0),_=e.dom.getStyle(g,"border-top-width",!0),p=e.dom.getStyle(g,"border-bottom-width",!0),d=g.offsetHeight+parseInt(u,10)+parseInt(h,10)+parseInt(f,10)+parseInt(c,10)+parseInt(_,10)+parseInt(p,10),(isNaN(d)||0>=d)&&(d=tinymce.Env.ie?g.scrollHeight:tinymce.Env.webkit&&0===g.clientHeight?0:g.offsetHeight),d>n.autoresize_min_height&&(l=d),n.autoresize_max_height&&d>n.autoresize_max_height?(l=n.autoresize_max_height,g.style.overflowY="auto",m.style.overflowY="auto"):(g.style.overflowY="hidden",m.style.overflowY="hidden",g.scrollTop=0),l!==a&&(r=l-a,y.setStyle(e.iframeElement,"height",l+"px"),a=l,tinymce.isWebKit&&0>r&&i(o))}}function o(e,t,n){setTimeout(function(){i({}),e--?o(e,t,n):n&&n()},t)}var n=e.settings,a=0;e.settings.inline||(n.autoresize_min_height=parseInt(e.getParam("autoresize_min_height",e.getElement().offsetHeight),10),n.autoresize_max_height=parseInt(e.getParam("autoresize_max_height",0),10),e.on("init",function(){var t=e.getParam("autoresize_overflow_padding",1);e.dom.setStyles(e.getBody(),{paddingBottom:e.getParam("autoresize_bottom_margin",50),paddingLeft:t,paddingRight:t})}),e.on("nodechange setcontent keyup FullscreenStateChanged",i),e.getParam("autoresize_on_init",!0)&&e.on("init",function(){o(20,100,function(){o(5,1e3)})}),e.addCommand("mceAutoResize",i))});
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/code/plugin.min.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/code/plugin.min.js
index 9e7e898..6aaecd9 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/code/plugin.min.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/code/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("code",function(e){function o(){e.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:e.getParam("code_dialog_width",600),minHeight:e.getParam("code_dialog_height",Math.min(tinymce.DOM.getViewPort().h-200,500)),value:e.getContent({source_view:!0}),spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(o){e.focus(),e.undoManager.transact(function(){e.setContent(o.data.code)}),e.selection.setCursorLocation(),e.nodeChanged()}})}e.addCommand("mceCodeEditor",o),e.addButton("code",{icon:"code",tooltip:"Source code",onclick:o}),e.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:o})});
\ No newline at end of file
+tinymce.PluginManager.add("code",function(e){function o(){var o=e.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:e.getParam("code_dialog_width",600),minHeight:e.getParam("code_dialog_height",Math.min(tinymce.DOM.getViewPort().h-200,500)),spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(o){e.focus(),e.undoManager.transact(function(){e.setContent(o.data.code)}),e.selection.setCursorLocation(),e.nodeChanged()}});o.find("#code").value(e.getContent({source_view:!0}))}e.addCommand("mceCodeEditor",o),e.addButton("code",{icon:"code",tooltip:"Source code",onclick:o}),e.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:o})});
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/colorpicker/plugin.min.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/colorpicker/plugin.min.js
new file mode 100644
index 0000000..d50c7cc
--- /dev/null
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/colorpicker/plugin.min.js
@@ -0,0 +1 @@
+tinymce.PluginManager.add("colorpicker",function(e){function n(n,a){function i(e){var n=new tinymce.util.Color(e),a=n.toRgb();l.fromJSON({r:a.r,g:a.g,b:a.b,hex:n.toHex().substr(1)}),t(n.toHex())}function t(e){l.find("#preview")[0].getEl().style.background=e}var l=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:a,onchange:function(){var e=this.rgb();l&&(l.find("#r").value(e.r),l.find("#g").value(e.g),l.find("#b").value(e.b),l.find("#hex").value(this.value().substr(1)),t(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,n,a=l.find("colorpicker")[0];return e=this.name(),n=this.value(),"hex"==e?(n="#"+n,i(n),void a.value(n)):(n={r:l.find("#r").value(),g:l.find("#g").value(),b:l.find("#b").value()},a.value(n),void i(n))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){n("#"+this.toJSON().hex)}});i(a)}e.settings.color_picker_callback||(e.settings.color_picker_callback=n)});
\ No newline at end of file
diff --git a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/contextmenu/plugin.min.js b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/contextmenu/plugin.min.js
index 06f0d4b..e21978e 100644
--- a/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/contextmenu/plugin.min.js
+++ b/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/contextmenu/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("contextmenu",function(e){var n,t=e.settings.contextmenu_never_use_native;e.on("contextmenu",function(i){var o;if(!i.ctrlKey||t){if(i.preventDefault(),o=e.settings.contextmenu||"link image inserttable | cell row column deletetable",n)n.show();else{var c=[];tinymce.each(o.split(/[ ,]/),function(n){var t=e.menuItems[n];"|"==n&&(t={text:n}),t&&(t.shortcut="",c.push(t))});for(var a=0;a"),n=a.getAll("title")[0],n&&n.firstChild&&(r.title=n.firstChild.value),s(a.getAll("meta"),function(e){var t,n=e.attr("name"),l=e.attr("http-equiv");n?r[n.toLowerCase()]=e.attr("content"):"Content-Type"==l&&(t=/charset\s*=\s*(.*)\s*/gi.exec(e.attr("content")),t&&(r.docencoding=t[1]))}),n=a.getAll("html")[0],n&&(r.langcode=t(n,"lang")||t(n,"xml:lang")),r.stylesheets=[],tinymce.each(a.getAll("link"),function(e){"stylesheet"==e.attr("rel")&&r.stylesheets.push(e.attr("href"))}),n=a.getAll("body")[0],n&&(r.langdir=t(n,"dir"),r.style=t(n,"style"),r.visited_color=t(n,"vlink"),r.link_color=t(n,"link"),r.active_color=t(n,"alink")),r}function l(t){function n(e,t,n){e.attr(t,n?n:void 0)}function l(e){r.firstChild?r.insert(e,r.firstChild):r.append(e)}var a,r,o,c,u,f=e.dom;a=i(),r=a.getAll("head")[0],r||(c=a.getAll("html")[0],r=new m("head",1),c.firstChild?c.insert(r,c.firstChild,!0):c.append(r)),c=a.firstChild,t.xml_pi?(u='version="1.0"',t.docencoding&&(u+=' encoding="'+t.docencoding+'"'),7!=c.type&&(c=new m("xml",7),a.insert(c,a.firstChild,!0)),c.value=u):c&&7==c.type&&c.remove(),c=a.getAll("#doctype")[0],t.doctype?(c||(c=new m("#doctype",10),t.xml_pi?a.insert(c,a.firstChild):l(c)),c.value=t.doctype.substring(9,t.doctype.length-1)):c&&c.remove(),c=null,s(a.getAll("meta"),function(e){"Content-Type"==e.attr("http-equiv")&&(c=e)}),t.docencoding?(c||(c=new m("meta",1),c.attr("http-equiv","Content-Type"),c.shortEnded=!0,l(c)),c.attr("content","text/html; charset="+t.docencoding)):c.remove(),c=a.getAll("title")[0],t.title?(c?c.empty():(c=new m("title",1),l(c)),c.append(new m("#text",3)).value=t.title):c&&c.remove(),s("keywords,description,author,copyright,robots".split(","),function(e){var n,i,r=a.getAll("meta"),o=t[e];for(n=0;n"))}function i(){return new tinymce.html.DomParser({validate:!1,root_name:"#document"}).parse(d)}function a(t){function n(e){return e.replace(/<\/?[A-Z]+/g,function(e){return e.toLowerCase()})}var l,a,o,m,u=t.content,f="",g=e.dom;if(!t.selection&&!("raw"==t.format&&d||t.source_view&&e.getParam("fullpage_hide_in_source_view"))){u=u.replace(/<(\/?)BODY/gi,"<$1body"),l=u.indexOf("",l),d=n(u.substring(0,l+1)),a=u.indexOf("\n