update to v1.3 and new folder

This commit is contained in:
Marat 2014-08-20 04:09:21 +02:00
bovenliggende 8fc7f06162
commit 74fa09ab1f
117 gewijzigde bestanden met toevoegingen van 481 en 756 verwijderingen

10
README.md Normal file → Executable file
Bestand weergeven

@ -1,14 +1,14 @@
## TinyMCE 4.1.2 for OXID eShop CE 4.7+
### hdi-tinymce module version 1.2.1 from 2014-07-28
## TinyMCE 4.1.3 for OXID eShop
### hdi-tinymce module version 1.3 from 2014-08-20
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
## more info here: http://bit.ly/hdi-TinyMCE
## more info here: http://bit.ly/bla-TinyMCE
### LICENSE AGREEMENT
HDI TinyMCE
Copyright (C) 2012-2014 bestlife AG
bestlife AG - TinyMCE for OXID eShop
Copyright (C) 2014 bestlife AG
info: oxid@bestlife.ag
This program is free software;

Bestand weergeven

@ -0,0 +1,15 @@
## [bla] TinyMCE for OXID eShop 4.7 & 4.8
#### raw module branch, also contains development files
### installation
* navigate into modules/ directory of your shop
* $ git clone https://github.com/vanilla-thunder/bla.git
* $ cd bla
* $ git clone -b module https://github.com/vanilla-thunder/bla-tinymce.git
### development / updating (node.js required)
* nagivate into bla-tinymce/ directory
* $ npm install
* $ node update.js- will update tinymce and language files
* $ node update.js version 1.5 - will get new update.jpg for version 1.5

Bestand weergeven

Voor

Breedte:  |  Hoogte:  |  Grootte: 5.7 KiB

Na

Breedte:  |  Hoogte:  |  Grootte: 5.7 KiB

Bestand weergeven

@ -0,0 +1,243 @@
<?php
/*
* bestlife AG - TinyMCE for OXID eShop
* Copyright (C) 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;
* 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 <http://www.gnu.org/licenses/>
*/
class blaTinyMceOxViewConfig extends blaTinyMceOxViewConfig_parent
{
public function loadTinyMce()
{
$cfg = oxRegistry::getConfig();
$blEnabled = in_array( $this->getActiveClassName(), $cfg->getConfigParam( "aTinyMCE_classes" ) );
$blPlainCms = in_array( $cfg->getActiveView()->getViewDataElement( "edit" )->oxcontents__oxloadid->value, $cfg->getConfigParam( "aTinyMCE_plaincms" ) );
if (!$blEnabled) return;
if ($blPlainCms) return oxRegistry::getLang()->translateString( "hdi_tinymce_plaincms" );
// processind editor config & other stuff
$sLang = oxRegistry::getLang()->getLanguageAbbr( oxRegistry::getLang()->getTplLanguage() );
// array to assign shops lang abbreviations to lang file names of tinymce: shopLangAbbreviation => fileName (without .js )
$aLang = array(
"cs" => "cs",
"da" => "da",
"de" => "de",
"fr" => "fr_FR",
"it" => "it",
"nl" => "nl",
"ru" => "ru"
);
$aConfig = array(
'browser_spellcheck' => ( $cfg->getConfigParam( "bTinyMCE_browser_spellcheck" ) ? 'true' : 'false' ),
'language' => '"'.( in_array( $sLang, $aLang ) ? $aLang[$sLang] : 'en' ).'"',
'height' => $cfg->getConfigParam( "sTinyMCE_height" ),
'nowrap' => 'true',
'selector' => '"textarea"',
'relative_urls' => 'false',
'document_base_url' => '"'.$this->getBaseDir().'"',
'menubar' => 'false',
'plugin_preview_width' => 'window.innerWidth',
'plugin_preview_height' => 'window.innerHeight-90',
'code_dialog_width' => 'window.innerWidth-50',
'code_dialog_height' => 'window.innerHeight-130',
'image_advtab' => 'true',
'moxiemanager_fullscreen' => 'true',
'insertdatetime_formats' => '[ "%d.%m.%Y", "%H:%M" ]',
'nonbreaking_force_tab' => 'true', // http://www.tinymce.com/wiki.php/Plugin:nonbreaking
'autoresize_max_height' => '400'
);
//merging with custom config
$aConfig = ( $aCustCfg = $this->_getTinyCustConfig() ) ? array_merge( $aConfig, $aCustCfg ) : $aConfig;
// plugins and their buttons
$aPlugins = array(
"textcolor" => "forecolor backcolor",
"advlist" => false,
"anchor" => "anchor",
"autolink" => false,
"autoresize" => false,
"autosave" => false , // http://www.tinymce.com/wiki.php/Plugin:autosave
//"bbcode" => ,
"charmap" => "charmap",
"colorpicker" => false,
//"compat3x" => ,
//"contextmenu" => , // http://www.tinymce.com/wiki.php/Plugin:contextmenu
//"directionality" => "ltr rtl",
"emoticons" => "emoticons",
//"example" => ,
//"example_dependency" => ,
//"fullpage" => , // nein! http://www.tinymce.com/wiki.php/Plugin:fullpage
"hr" => "hr",
"image" => "image", // http://www.tinymce.com/wiki.php/Plugin:image
"insertdatetime" => "insertdatetime",
//"layer" => , // This plugin adds some layer controls. Only works on some browsers. Will probably be removed in the future. http://www.tinymce.com/wiki.php/Plugin:layer
"legacyoutput" => false,
"link" => "link unlink",
"lists" => false,
//"importcss" => false, // http://www.tinymce.com/wiki.php/Plugin:importcss
"media" => "media",
"nonbreaking" => "nonbreaking",
//"noneditable" => false, // http://www.tinymce.com/wiki.php/Plugin:noneditable
"pagebreak" => "pagebreak",
"paste" => "pastetext",
//"print" => "print",
//"save" => "save cancel",
"searchreplace" => "searchreplace",
//"spellchecker" => "spellchecker", // http://www.tinymce.com/wiki.php/Plugin:spellchecker
// "tabfocus" => false, // http://www.tinymce.com/wiki.php/Plugin:tabfocus
"table" => "table",
//"template" => "template",
// "textpattern" => false, // sowas wie markdown http://www.tinymce.com/wiki.php/Plugin:textpattern
"visualblocks" => "visualblocks",
"visualchars" => "visualchars",
"wordcount" => false,
"code" => "code",
"fullscreen" => "fullscreen",
"preview" => "preview"
);
if ($this->getActiveClassName()=="newsletter_main") $aPlugins[] = "legacyoutput";
// plugin override
if($aOverride = $cfg->getConfigParam("aTinyMCE_plugins_override"))
{
foreach( $aOverride AS $key => $value)
{
unset($aPlugins[$value]);
}
}
$aConfig['plugins'] = '"'.implode( ' ', array_keys($aPlugins)).'"';
// external plugins
if ($aExtPlugins = $this->_getTinyExtPlugins())
{
$aConfig['external_plugins'] = '{ ';
foreach ($aExtPlugins AS $plugin => $file)
{
$aConfig['external_plugins'] .= '"'.$plugin.'": "'.$file.'", ';
}
$aConfig['external_plugins'] .= ' }';
}
// default tollbar buttons
$aButtons = array(
//"newdocument",
"undo redo",
"bold italic underline strikethrough",
"alignleft aligncenter alignright alignjustify",
//"styleselect",
//"cut copy paste",
"bullist numlist",
"outdent indent",
"blockquote",
"removeformat",
"subscript",
"superscript",
"formatselect",
"fontselect",
"fontsizeselect"
);
// buttons for plugins, enable only if plugin is active
$aButtons = array_merge($aButtons, array_filter(array_values($aPlugins)));
// custom buttons
$aButtons[] = $this->_getTinyCustControls();
$aConfig['toolbar'] = '"'.implode( " | ", $aButtons ).'"';
/*
$aConfig['toolbar1'] = '"undo redo searchreplace preview print fullscreen code paste | image media emoticons table inserttable bullist numlist outdent indent | ';
$aConfig['toolbar1'] .= 'ltr rtl | blockquote subscript superscript '.( $cfg->getConfigParam( "bTinyMCE_charmap" ) ? 'charmap' : '' ).' hr nonbreaking anchor link unlink ';
$aConfig['toolbar1'] .= $this->_getTinyCustControls().'"';
$aConfig['toolbar2'] = '"bold italic underline strikethrough | forecolor backcolor | alignleft aligncenter alignright alignjustify | fontselect fontsizeselect formatselect | removeformat | spellchecker visualchars | insertdatetime"';
*/
// compile the whole config stuff
$sConfig = '';
foreach ($aConfig AS $param => $value)
{
$sConfig .= "$param: $value, ";
}
// add init script
$sInit = 'tinymce.init({ '.$sConfig.' });';
$sCopyLongDescFromTinyMCE = 'function copyLongDescFromTinyMCE(sIdent)
{
var editor = tinymce.get("editor_"+sIdent);
if (editor && editor.isHidden() !== true)
{
console.log("copy content from tinymce");
var content = editor.getContent({format: "raw"}).replace(/\[{([^\]]*?)}\]/g, function(m) { return m.replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&amp;/g, "&") });
document.getElementsByName("editval[" + sIdent + "]").item(0).value = content;
return true;
}
return false;
}
var origCopyLongDesc = copyLongDesc;
copyLongDesc = function(sIdent)
{
if ( copyLongDescFromTinyMCE( sIdent ) ) return;
console.log("tinymce disabled, copy content from regular textarea");
origCopyLongDesc( sIdent );
}';
// adding scripts to template
$smarty = oxRegistry::get( "oxUtilsView" )->getSmarty();
$sSufix = ( $smarty->_tpl_vars["__oxid_include_dynamic"] ) ? '_dynamic' : '';
$aScript = (array) $cfg->getGlobalParameter( 'scripts'.$sSufix );
$aScript[] = $sCopyLongDescFromTinyMCE;
$aScript[] = $sInit;
$cfg->setGlobalParameter( 'scripts'.$sSufix, $aScript );
$aInclude = (array) $cfg->getGlobalParameter( 'includes'.$sSufix );
$aInclude[3][] = $this->getModuleUrl( 'bla-tinymce', 'tinymce/tinymce.min.js' );
$cfg->setGlobalParameter( 'includes'.$sSufix, $aInclude );
return '<li style="margin-left: 50px;">
<button style="border: 1px solid #0089EE; color: #0089EE;padding: 3px 10px; margin-top: -10px; background: white;" onclick="tinymce.each(tinymce.editors, function(editor) { if(editor.isHidden()) { editor.show(); } else { editor.hide(); } });">
<span>TinyMCE zeigen/verstecken</span>
</button>
</li>';
// javascript:tinymce.execCommand(\'mceToggleEditor\',false,\'editor1\');
}
protected function _getTinyCustControls()
{
$sControls = oxRegistry::getConfig()->getConfigParam( "sTinyMCE_custom_controls" );
if (method_exists( get_parent_class( __CLASS__ ), __FUNCTION__ )) $sControls = parent::_getTinyCustControls()." ".$sControls;
return $sControls;
}
protected function _getTinyExtPlugins()
{
$aPlugins = oxRegistry::getConfig()->getConfigParam( "aTinyMCE_external_plugins" );
if (method_exists( get_parent_class( __CLASS__ ), __FUNCTION__ )) $aPlugins = array_merge( parent::_getTinyExtPlugins(), $aPlugins );
return $aPlugins;
}
protected function _getTinyCustConfig()
{
$aConfig = oxRegistry::getConfig()->getConfigParam( "aTinyMCE_custom_config" );
if (method_exists( get_parent_class( __CLASS__ ), __FUNCTION__ )) $aConfig = array_merge( parent::_getTinyCustConfig(), $aConfig );
return $aConfig;
}
}

Bestand weergeven

@ -0,0 +1,116 @@
<?php
/**
* bestlife AG - TinyMCE for OXID eShop
* Copyright (C) 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;
* 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 <http://www.gnu.org/licenses/>
*/
$v = "https://raw.githubusercontent.com/vanilla-thunder/bla-tinymce/master/copy_this/modules/bla/bla-tinymce/version.jpg";
$sMetadataVersion = '1.1';
$aModule = array(
'id' => 'bla-tinymce',
'title' => '<strong style="color:#95b900;font-size:125%;">best</strong><strong style="color:#c4ca77;font-size:125%;">life</strong> <strong>TinyMCE</strong>',
'description' => 'TinyMCE 4.1.3 WYSIWYG Editor for OXID eShop 4.7 & 4.8<br/>visit <a href="http://www.tinymce.com/" target="_blank">http://www.tinymce.com/</a> for demo and more details<hr/><b style="display: inline-block; float:left;">newest version:</b><img src="' . $v . '" style=" float:left;"/><a style="display: inline-block; padding: 1px 25px; background: dodgerblue; border: 1px solid #585858; color: white;" href="http://bit.ly/bla-TinyMCE" target="_blank">info</a>&nbsp;<a style="display: inline-block; padding: 1px 25px; background: forestgreen; border: 1px solid #585858; color: white;" href="https://github.com/vanilla-thunder/bla-tinymce/archive/master.zip">download</a>',
'thumbnail' => 'tinymce.png',
'version' => '1.3.0 (2014-08-20)',
'author' => 'Marat Bedoev, bestlife AG',
'email' => 'oxid@bestlife.ag',
'url' => 'http://www.bestlife.ag',
'extend' => array(
'oxviewconfig' => 'bla/bla-tinymce/core/blatinymceoxviewconfig'
),
'templates' => array(
'tinymce.tpl' => 'bla/bla-tinymce/views/tinymce.tpl',
),
'blocks' => array(
array(
'template' => 'bottomnaviitem.tpl',
'block' => 'admin_bottomnaviitem',
'file' => '/views/blocks/admin/bottomnaviitem_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' => 'tinyMceSettings',
'name' => 'sTinyMCE_height',
'type' => 'str',
'value' => '300',
'position' => 0
),
array(
'group' => 'tinyMceSettings',
'name' => 'aTinyMCE_plugins_override',
'type' => 'arr',
'value' => null,
'position' => 1
),
array(
'group' => 'tinyMceSettings',
'name' => 'aTinyMCE_external_plugins',
'type' => 'arr',
'value' => null,
'position' => 2
),
array(
'group' => 'tinyMceSettings',
'name' => 'sTinyMCE_custom_controls',
'type' => 'str',
'value' => '',
'position' => 3
),
array(
'group' => 'tinyMceSettings',
'name' => 'aTinyMCE_custom_config',
'type' => 'aarr',
'value' => null,
'position' => 4
),
)
);

Bestand weergeven

@ -1,15 +1,15 @@
{
"name": "hdi-tinymce",
"version": "1.2.1",
"name": "bla-tinymce",
"version": "1.2.2",
"description": "TinyMCE integration for OXID eShop CE",
"author": "Marat Bedoev, bestlife AG <oxid@bestlife.ag>",
"license": "GPLv3",
"repository": {
"type": "git",
"url": "git://github.com/vanilla-thunder/hdi-tinymce.git"
"url": "git://github.com/vanilla-thunder/bla-tinymce.git"
},
"bugs": {
"url": "https://github.com/vanilla-thunder/hdi-tinymce/issues"
"url": "https://github.com/vanilla-thunder/bla-tinymce/issues"
},
"keywords": [
"tinymce",

Bestand weergeven

Voor

Breedte:  |  Hoogte:  |  Grootte: 4.7 KiB

Na

Breedte:  |  Hoogte:  |  Grootte: 4.7 KiB

Bestand weergeven

@ -1,8 +1,11 @@
tinymce.addI18n('it',{
"Cut": "Taglia",
"Heading 5": "Intestazione 5",
"Header 2": "Header 2",
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Il tuo browser non supporta l'accesso diretto negli Appunti. Per favore usa i tasti di scelta rapida Ctrl+X\/C\/V.",
"Heading 4": "Intestazione 4",
"Div": "Div",
"Heading 2": "Intestazione 2",
"Paste": "Incolla",
"Close": "Chiudi",
"Font Family": "Famiglia font",
@ -11,6 +14,8 @@ tinymce.addI18n('it',{
"New document": "Nuovo Documento",
"Blockquote": "Blockquote",
"Numbered list": "Elenchi Numerati",
"Heading 1": "Intestazione 1",
"Headings": "Intestazioni",
"Increase indent": "Aumenta Rientro",
"Formats": "Formattazioni",
"Headers": "Intestazioni",
@ -34,6 +39,8 @@ tinymce.addI18n('it',{
"Italic": "Corsivo",
"Align center": "Allinea al Cento",
"Header 5": "Intestazione 5",
"Heading 6": "Intestazione 6",
"Heading 3": "Intestazione 3",
"Decrease indent": "Riduci Rientro",
"Header 4": "Intestazione 4",
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Incolla \u00e8 in modalit\u00e0 testo normale. I contenuti sono incollati come testo normale se non disattivi l'opzione.",
@ -59,6 +66,7 @@ tinymce.addI18n('it',{
"Restore last draft": "Ripristina l'ultima bozza.",
"Special character": "Carattere Speciale",
"Source code": "Codice Sorgente",
"Color": "Colore",
"Right to left": "Da Destra a Sinistra",
"Left to right": "Da Sinistra a Destra",
"Emoticons": "Emoction",
@ -121,11 +129,13 @@ tinymce.addI18n('it',{
"Finish": "Termina",
"Ignore all": "Ignora Tutto",
"Ignore": "Ignora",
"Add to Dictionary": "Aggiungi al Dizionario",
"Insert row before": "Inserisci una Riga Prima",
"Rows": "Righe",
"Height": "Altezza",
"Paste row after": "Incolla una Riga Dopo",
"Alignment": "Allineamento",
"Border color": "Colore bordo",
"Column group": "Gruppo di Colonne",
"Row": "Riga",
"Insert column before": "Inserisci una Colonna Prima",
@ -141,15 +151,20 @@ tinymce.addI18n('it',{
"Paste row before": "Incolla una Riga Prima",
"Scope": "Campo",
"Delete table": "Cancella Tabella",
"H Align": "Allineamento H",
"Top": "In alto",
"Header cell": "cella d'intestazione",
"Column": "Colonna",
"Row group": "Gruppo di Righe",
"Cell": "Cella",
"Header": "Header",
"Middle": "In mezzo",
"Cell type": "Tipo di Cella",
"Copy row": "Copia Riga",
"Row properties": "Propriet\u00e0 della Riga",
"Table properties": "Propiet\u00e0 della Tabella",
"Row group": "Gruppo di Righe",
"Bottom": "In fondo",
"V Align": "Allineamento V",
"Header": "Header",
"Right": "Destra",
"Insert column after": "Inserisci una Colonna Dopo",
"Cols": "Colonne",
@ -164,6 +179,9 @@ tinymce.addI18n('it',{
"Insert template": "Inserisci Template",
"Templates": "Template",
"Background color": "Colore Background",
"Custom...": "Personalizzato...",
"Custom color": "Colore personalizzato",
"No color": "Nessun colore",
"Text color": "Colore Testo",
"Show blocks": "Mostra Blocchi",
"Show invisible characters": "Mostra Caratteri Invisibili",

Bestand weergeven

@ -66,6 +66,7 @@ tinymce.addI18n('nl',{
"Restore last draft": "Herstel het laatste concept",
"Special character": "Speciale karakters",
"Source code": "Broncode",
"Color": "Kleur",
"Right to left": "Rechts naar links",
"Left to right": "Links naar rechts",
"Emoticons": "Emoticons",
@ -128,11 +129,13 @@ tinymce.addI18n('nl',{
"Finish": "Einde",
"Ignore all": "Alles negeren",
"Ignore": "Negeren",
"Add to Dictionary": "Toevoegen aan woordenlijst",
"Insert row before": "Voeg rij boven toe",
"Rows": "Rijen",
"Height": "Hoogte",
"Paste row after": "Plak rij onder",
"Alignment": "Uitlijning",
"Border color": "Lijnkleur",
"Column group": "Kolomgroep",
"Row": "Rij",
"Insert column before": "Voeg kolom in voor",
@ -176,6 +179,9 @@ tinymce.addI18n('nl',{
"Insert template": "Sjabloon invoegen",
"Templates": "Sjablonen",
"Background color": "Achtergrondkleur",
"Custom...": "Eigen...",
"Custom color": "Eigen kleur",
"No color": "Geen kleur",
"Text color": "Tekstkleur",
"Show blocks": "Blokken tonen",
"Show invisible characters": "Onzichtbare karakters tonen",

Bestand weergeven

@ -135,6 +135,7 @@ tinymce.addI18n('ru',{
"Height": "\u0412\u044b\u0441\u043e\u0442\u0430",
"Paste row after": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043d\u0438\u0437\u0443",
"Alignment": "\u0412\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435",
"Border color": "\u0426\u0432\u0435\u0442 \u0440\u0430\u043c\u043a\u0438",
"Column group": "\u0413\u0440\u0443\u043f\u043f\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u043a",
"Row": "\u0421\u0442\u0440\u043e\u043a\u0430",
"Insert column before": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441\u043b\u0435\u0432\u0430",

Bestand weergeven

@ -0,0 +1 @@
tinymce._beforeUnloadHandler=function(){var e;return tinymce.each(tinymce.editors,function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&t.getParam("autosave_ask_before_unload",!0)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e},tinymce.PluginManager.add("autosave",function(e){function t(e,t){var n={s:1e3,m:6e4};return e=/^(\d+)([ms]?)$/.exec(""+(e||t)),(e[2]?n[e[2]]:1)*parseInt(e,10)}function n(){var e=parseInt(v.getItem(c+"time"),10)||0;return(new Date).getTime()-e>m.autosave_retention?(a(!1),!1):!0}function a(t){v.removeItem(c+"draft"),v.removeItem(c+"time"),t!==!1&&e.fire("RemoveDraft")}function r(){!f()&&e.isDirty()&&(v.setItem(c+"draft",e.getContent({format:"raw",no_events:!0})),v.setItem(c+"time",(new Date).getTime()),e.fire("StoreDraft"))}function o(){n()&&(e.setContent(v.getItem(c+"draft"),{format:"raw"}),e.fire("RestoreDraft"))}function i(){d||(setInterval(function(){e.removed||r()},m.autosave_interval),d=!0)}function s(){var t=this;t.disabled(!n()),e.on("StoreDraft RestoreDraft RemoveDraft",function(){t.disabled(!n())}),i()}function u(){e.undoManager.beforeChange(),o(),a(),e.undoManager.add()}function f(t){var n=e.settings.forced_root_block;return t=tinymce.trim("undefined"==typeof t?e.getBody().innerHTML:t),""===t||new RegExp("^<"+n+"[^>]*>(( |&nbsp;|[ ]|<br[^>]*>)+?|)</"+n+">|<br>$","i").test(t)}var c,d,m=e.settings,v=tinymce.util.LocalStorage;c=m.autosave_prefix||"tinymce-autosave-{path}{query}-{id}-",c=c.replace(/\{path\}/g,document.location.pathname),c=c.replace(/\{query\}/g,document.location.search),c=c.replace(/\{id\}/g,e.id),m.autosave_interval=t(m.autosave_interval,"30s"),m.autosave_retention=t(m.autosave_retention,"20m"),e.addButton("restoredraft",{title:"Restore last draft",onclick:u,onPostRender:s}),e.addMenuItem("restoredraft",{text:"Restore last draft",onclick:u,onPostRender:s,context:"file"}),e.settings.autosave_restore_when_empty!==!1&&(e.on("init",function(){n()&&f()&&o()}),e.on("saveContent",function(){a()})),window.onbeforeunload=tinymce._beforeUnloadHandler,this.hasDraft=n,this.storeDraft=r,this.restoreDraft=o,this.removeDraft=a,this.isEmpty=f});

Bestand weergeven

@ -0,0 +1 @@
tinymce.PluginManager.add("nonbreaking",function(n){var e=n.getParam("nonbreaking_force_tab");if(n.addCommand("mceNonBreaking",function(){n.insertContent(n.plugins.visualchars&&n.plugins.visualchars.state?'<span class="mce-nbsp">&nbsp;</span>':"&nbsp;"),n.dom.setAttrib(n.dom.select("span.mce-nbsp"),"data-mce-bogus","1")}),n.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),n.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"}),e){var a=+e>1?+e:3;n.on("keydown",function(e){if(9==e.keyCode){if(e.shiftKey)return;e.preventDefault();for(var t=0;a>t;t++)n.execCommand("mceNonBreaking")}})}});

Bestand-diff onderdrukt omdat een of meer regels te lang zijn

Bestand-diff onderdrukt omdat een of meer regels te lang zijn

Sommige bestanden werden niet getoond omdat er teveel bestanden zijn veranderd in deze diff Meer weergeven