diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index de4ecc7ea..c98f5f68c 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -1,5 +1,6 @@ 6.5.0 - Added content prototypes. + - Updated TinyMCE to 1.43. - Fixed a bug in the Collaboration post where the post end date was set to the start date. - fix [ 1157202 ] users can add themselves to Admins group @@ -8,6 +9,10 @@ - fix [ 1158117 ] Help Index Unavailable from RWG - fix [ 1157453 ] Error on Edit Template / Save and Cancel - fix [ 1157434 ] [CVS 6.5]edit question controls have incorrect URL in Survey + - fix [ 1157418 ] "Display the title?" not shown in Layout tab + - fix [ 1157210 ] users added notification e-mail doesn't show correct url + - Fixed a bug that wouldn't allow the HTTP Proxy wobject to rewrite the URLs + of SSL enabled sites. - Using the International Macro in Help to simplify management and translation. diff --git a/docs/upgrades/upgrade_6.4.0-6.5.0.pl b/docs/upgrades/upgrade_6.4.0-6.5.0.pl new file mode 100644 index 000000000..b878316c3 --- /dev/null +++ b/docs/upgrades/upgrade_6.4.0-6.5.0.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl + +use lib "../../lib"; +use FileHandle; +use File::Path; +use File::Copy; +use Getopt::Long; +use strict; +use WebGUI::Group; +use WebGUI::HTML; +use WebGUI::Id; +use WebGUI::Session; +use WebGUI::SQL; +use WebGUI::URL; + + +my $configFile; +my $quiet; + +GetOptions( + 'configFile=s'=>\$configFile, + 'quiet'=>\$quiet +); + +WebGUI::Session::open("../..",$configFile); + +#-------------------------------------------- +print "\tUpdating config file.\n" unless ($quiet); +my $pathToConfig = '../../etc/'.$configFile; +my $conf = Parse::PlainConfig->new('DELIM' => '=', 'FILE' => $pathToConfig); +my $macros = $conf->get("macros"); +$macros->{"International"} = "International"; +$conf->set("macros"=>$macros); +$conf->write; + + + + +WebGUI::Session::close(); + + diff --git a/lib/WebGUI/Asset/Wobject/HttpProxy/Parse.pm b/lib/WebGUI/Asset/Wobject/HttpProxy/Parse.pm index a46ef4b48..27e3b8b22 100644 --- a/lib/WebGUI/Asset/Wobject/HttpProxy/Parse.pm +++ b/lib/WebGUI/Asset/Wobject/HttpProxy/Parse.pm @@ -130,7 +130,7 @@ sub start { } else { $val = URI::URL::url($val)->abs($self->{Url},1); # make absolute } - if ($val->scheme eq "http") { + if ($val->scheme eq "http" || $val->scheme eq "https") { if ($self->{rewriteUrls} && lc($tag) ne "iframe") { if (lc($tag) eq "form" && lc($_) eq "action") { # Found FORM ACTION $self->{FormActionIsDefined}=1; diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm index 0e0531ab9..45f334d83 100644 --- a/lib/WebGUI/Auth/WebGUI.pm +++ b/lib/WebGUI/Auth/WebGUI.pm @@ -166,11 +166,13 @@ sub createAccount { $vars->{'create.message'} = $_[0] if ($_[0]); my $storage = WebGUI::Storage::Image->createTemp; my ($filename, $challenge) = $storage->addFileFromCaptcha; - $vars->{'create.form.captcha'} = WebGUI::Form::text({"name"=>"authWebGUI.captcha", size=>6, maxlength=>6}) - .WebGUI::Form::hidden({name=>"authWebGUI.captcha.validation", value=>Digest::MD5::md5_base64(lc($challenge))}) - .'captcha'; - $vars->{'create.form.captcha.label'} = WebGUI::International::get("captcha label","AuthWebGUI"); $vars->{useCaptcha} = $session{setting}{webguiUseCaptcha}; + if ($vars->{useCaptcha}) { + $vars->{'create.form.captcha'} = WebGUI::Form::text({"name"=>"authWebGUI.captcha", size=>6, maxlength=>6}) + .WebGUI::Form::hidden({name=>"authWebGUI.captcha.validation", value=>Digest::MD5::md5_base64(lc($challenge))}) + .'captcha'; + $vars->{'create.form.captcha.label'} = WebGUI::International::get("captcha label","AuthWebGUI"); + } $vars->{'create.form.username'} = WebGUI::Form::text({"name"=>"authWebGUI.username","value"=>$session{form}{"authWebGUI.username"}}); $vars->{'create.form.username.label'} = WebGUI::International::get(50); $vars->{'create.form.password'} = WebGUI::Form::password({"name"=>"authWebGUI.identifier","value"=>$session{form}{"authWebGUI.identifier"}}); diff --git a/lib/WebGUI/HTMLForm.pm b/lib/WebGUI/HTMLForm.pm index bedd2da0b..bfa90de48 100644 --- a/lib/WebGUI/HTMLForm.pm +++ b/lib/WebGUI/HTMLForm.pm @@ -213,7 +213,7 @@ sub _tableFormRow { unless ($_[0]->{_noTable}) { my $class = $_[0]->{_class}; $class = qq| class="$class" | if($class); - return ''.$_[1].''.$_[2]."\n"; + return ''.$_[1].''.$_[2]."\n"; } else { return $_[2]; } diff --git a/lib/WebGUI/MessageLog.pm b/lib/WebGUI/MessageLog.pm index 973c2677f..ca9add75d 100644 --- a/lib/WebGUI/MessageLog.pm +++ b/lib/WebGUI/MessageLog.pm @@ -121,10 +121,10 @@ sub addEntry { $subject = $_[2]; $message = $_[3]; $url = $_[4]; - unless ($url =~ /^http/ || !defined $url) { + if ($url && !$url =~ /^http/) { $url = WebGUI::URL::getSiteURL().$url; } - unless ($url =~ /func=/ || $url =~ /op=/ || !defined $url) { + if ($url && !($url =~ /func=/ || $url =~ /op=/)) { $url = WebGUI::URL::append($url, "op=viewMessageLogMessage"); } $status = $_[5]; @@ -189,10 +189,10 @@ sub addInternationalizedEntry { $userId = $_[0]; $groupId = $_[1]; $url = $_[2]; - unless ($url =~ /^http/ || !defined $url) { + if ($url && !$url =~ /^http/) { $url = WebGUI::URL::getSiteURL().$url; } - unless ($url =~ /func=/ || $url =~ /op=/ || !defined $url) { + if ($url && !($url =~ /func=/ || $url =~ /op=/)) { $url = WebGUI::URL::append($url, "op=viewMessageLogMessage"); } $internationalId = $_[3]; diff --git a/www/extras/tabs/tabs.js b/www/extras/tabs/tabs.js index cfba2659c..ed3a3ceb1 100644 --- a/www/extras/tabs/tabs.js +++ b/www/extras/tabs/tabs.js @@ -18,7 +18,7 @@ function toggleTab(i){ document.getElementById('tab'+i).className = 'tab tabActive'; document.getElementById('tab'+i).onmouseover = ''; document.getElementById('tab'+i).onmouseout = ''; - fixFckEditor(); +// fixFckEditor(); } } @@ -38,20 +38,4 @@ function fixFckEditor() { } } -function fixFckEditor1 () { - for (i=0;i';}return "";}function TinyMCE_advhr_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=270;template['height']=180;var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'
');}else{tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;}function TinyMCE_advhr_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonNormal');do{if(node.nodeName.toLowerCase()=="hr")tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonSelected');}while((node=node.parentNode));return true;} \ No newline at end of file +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('advhr','en,de,sv,zh_cn,cs,fa,fr_ca,fr');function TinyMCE_advhr_getControlHTML(control_name){switch(control_name){case "advhr":return '';}return "";}function TinyMCE_advhr_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=270;template['height']=180;var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'
');}else{tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;}function TinyMCE_advhr_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonNormal');if(node==null)return;do{if(node.nodeName.toLowerCase()=="hr")tinyMCE.switchClassSticky(editor_id+'_advhr','mceButtonSelected');}while((node=node.parentNode));return true;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js index c25287751..35178b115 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js @@ -1,5 +1,5 @@ -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('advhr', 'en,de,sv,zh_cn,cs'); +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('advhr', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr'); function TinyMCE_advhr_getControlHTML(control_name) { switch (control_name) { @@ -46,6 +46,9 @@ function TinyMCE_advhr_execCommand(editor_id, element, command, user_interface, function TinyMCE_advhr_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { tinyMCE.switchClassSticky(editor_id + '_advhr', 'mceButtonNormal'); + if (node == null) + return; + do { if (node.nodeName.toLowerCase() == "hr") tinyMCE.switchClassSticky(editor_id + '_advhr', 'mceButtonSelected'); diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fa.js new file mode 100644 index 000000000..934c8bac9 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fa.js @@ -0,0 +1,11 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_dir'] = 'rtl'; +tinyMCELang['lang_insert_advhr_desc'] = 'درج و ویرایش خط افقی' +tinyMCELang['lang_insert_advhr_width'] = 'عرض'; +tinyMCELang['lang_insert_advhr_size'] = 'ارتفاع'; +tinyMCELang['lang_insert_advhr_noshade'] = 'بدون سایه'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fr.js new file mode 100644 index 000000000..ae30fe303 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fr.js @@ -0,0 +1,6 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_insert_advhr_desc'] = 'Insérer / éditer une Rčgle Horizontale' +tinyMCELang['lang_insert_advhr_width'] = 'Largeur'; +tinyMCELang['lang_insert_advhr_size'] = 'Hauteur'; +tinyMCELang['lang_insert_advhr_noshade'] = 'Sans ombre'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fr_ca.js new file mode 100644 index 000000000..77e74adcd --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/fr_ca.js @@ -0,0 +1,6 @@ +// CA_FR lang variables + +tinyMCELang['lang_insert_advhr_desc'] = 'Insrer / Modifier Sparateur Horizontal'; +tinyMCELang['lang_insert_advhr_width'] = 'Largeur'; +tinyMCELang['lang_insert_advhr_size'] = 'Hauteur'; +tinyMCELang['lang_insert_advhr_noshade'] = 'Sans ombrage'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/sv.js index 9a04982df..70667160c 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/sv.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/langs/sv.js @@ -1,6 +1,6 @@ // SE lang variables -tinyMCELang['lang_insert_advhr_desc'] = 'Skapa / uppdatera Horizontell linie' +tinyMCELang['lang_insert_advhr_desc'] = 'Skapa/Redigera horisontell linje' tinyMCELang['lang_insert_advhr_width'] = 'Bredd'; tinyMCELang['lang_insert_advhr_size'] = 'Hjd'; tinyMCELang['lang_insert_advhr_noshade'] = 'Ingen skugga'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm index 77616dba8..6aa56b70d 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm @@ -1,6 +1,4 @@ - - - + {$lang_insert_link_title} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js index 05b14bbd8..6cb71474c 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js @@ -1,2 +1,2 @@ -/* Import theme specific language pack */ - tinyMCE.importPluginLanguagePack('advimage','en,de,sv,zh_cn,cs');function TinyMCE_advimage_getInsertImageTemplate(){var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=380;template['height']=380;template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);return template;} \ No newline at end of file +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('advimage','en,de,sv,zh_cn,cs,fa,fr_ca,fr');function TinyMCE_advimage_getInsertImageTemplate(){var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=430;template['height']=380;template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);return template;}function TinyMCE_advimage_handleEvent(editor_id,body,doc){alert(editor_id+","+body.innerHTML);} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js index 5be698584..32d69ac1d 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js @@ -1,5 +1,5 @@ -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('advimage', 'en,de,sv,zh_cn,cs'); +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('advimage', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr'); /** * Insert image template function. @@ -8,7 +8,7 @@ function TinyMCE_advimage_getInsertImageTemplate() { var template = new Array(); template['file'] = '../../plugins/advimage/image.htm'; - template['width'] = 380; + template['width'] = 430; template['height'] = 380; // Language specific width and height addons @@ -16,4 +16,13 @@ function TinyMCE_advimage_getInsertImageTemplate() { template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0); return template; -} +} + +/** + * Setup content function. + */ +function TinyMCE_advimage_handleEvent(editor_id, body, doc) { + // Convert all links to absolute + + alert(editor_id + "," + body.innerHTML); +} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm index 21cafd09f..a5132846e 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm @@ -1,6 +1,4 @@ - - - + {$lang_insert_image_title} @@ -11,7 +9,6 @@ if (url != null) - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - -
{$lang_insert_image_title}
{$lang_insert_image_src}: - - - - -
{$lang_insert_image_alt}:
{$lang_insert_image_alt2}:
{$lang_insert_image_dimensions}: - x - px + document.write(html); + } + + +
{$lang_insert_image_alt}:
{$lang_insert_image_alt2}:
{$lang_insert_image_dimensions}: + x + px
{$lang_insert_image_border}:
{$lang_insert_image_align}: -
{$lang_insert_image_vspace}:
{$lang_insert_image_hspace}:
{$lang_insert_image_mouseover}:
{$lang_insert_image_mouseout}:
{$lang_insert_image_mouseout}:
-
- - + document.write(html); + } + + + + +   + + + + + + + + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa.js new file mode 100644 index 000000000..685a49f6b --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa.js @@ -0,0 +1,11 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_dir'] = 'rtl'; +tinyMCELang['lang_insert_image_alt2'] = 'عنوان عکس'; +tinyMCELang['lang_insert_image_onmousemove'] = 'عکس جایگزین' +tinyMCELang['lang_insert_image_mouseover'] = 'عکس جایگزین هنگام ورود نشانگر ماوس'; +tinyMCELang['lang_insert_image_mouseout'] = 'عکس جایگزین هنگام خروج نشانگر ماوس'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_ca.js new file mode 100644 index 000000000..32e8af79b --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fa_ca.js @@ -0,0 +1,6 @@ +// CA_FR lang variables + +tinyMCELang['lang_insert_image_alt2'] = 'Titre de l\'image'; +tinyMCELang['lang_insert_image_onmousemove'] = 'Image alternative'; +tinyMCELang['lang_insert_image_mouseover'] = 'pour le mouse over'; +tinyMCELang['lang_insert_image_mouseout'] = 'pour le mouse out'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr.js new file mode 100644 index 000000000..588ab3ccc --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/fr.js @@ -0,0 +1,6 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_insert_image_alt2'] = 'Titre de l\'image'; +tinyMCELang['lang_insert_image_onmousemove'] = 'Image alternative' +tinyMCELang['lang_insert_image_mouseover'] = 'Pour la souris au dessus'; +tinyMCELang['lang_insert_image_mouseout'] = 'Pour la souris en dehors'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv.js index a2c62bbfe..f901dbdb6 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advimage/langs/sv.js @@ -1,6 +1,6 @@ // SE lang variables -tinyMCELang['lang_insert_image_alt2'] = 'Bildens titel'; +tinyMCELang['lang_insert_image_alt2'] = 'Bildentitel'; tinyMCELang['lang_insert_image_onmousemove'] = 'Alternativ bild' tinyMCELang['lang_insert_image_mouseover'] = 'när pekaren är över'; tinyMCELang['lang_insert_image_mouseout'] = 'när pekaren är utanför'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js index dee396450..afd7c63db 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js @@ -1,2 +1,2 @@ -/* Import theme specific language pack */ - tinyMCE.importPluginLanguagePack('advlink','en,de,sv,zh_cn,cs');function TinyMCE_advlink_getInsertLinkTemplate(){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=440;template['height']=420;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;} \ No newline at end of file +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('advlink','en,de,sv,zh_cn,cs,fa,fr_ca,fr');function TinyMCE_advlink_getInsertLinkTemplate(){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=440;template['height']=420;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);return template;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js index 1173e37e7..2aad61704 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js @@ -1,5 +1,5 @@ -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('advlink', 'en,de,sv,zh_cn,cs'); +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('advlink', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr'); /** * Insert link template function. diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de.js index 525686365..14af22a4b 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/de.js @@ -17,4 +17,4 @@ tinyMCELang['lang_insert_link_popup_location']= 'Adresszeile anzeigen'; tinyMCELang['lang_insert_link_popup_resizable'] = 'Größe änderbar'; tinyMCELang['lang_insert_link_popup_size']= 'Größe'; tinyMCELang['lang_insert_link_popup_position']= 'Position (X/Y)'; -tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Please insert a name for the target or choose another option.'; +tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Bitte geben Sie einen Namen für das Ziel an oder wählen Sie eine andere Option.'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa.js new file mode 100644 index 000000000..f126461f3 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fa.js @@ -0,0 +1,25 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_dir'] = 'rtl'; +tinyMCELang['lang_insert_link_target_same'] = 'در همین صفحه / فریم باز کن'; +tinyMCELang['lang_insert_link_target_parent'] = 'در صفحه / فریم اصلی باز کن'; +tinyMCELang['lang_insert_link_target_top'] = 'در فریم اصلی باز کن (همه فریمها نادیده گرفته میشود)'; +tinyMCELang['lang_insert_link_target_blank'] = 'در صفحه جدید باز کن'; +tinyMCELang['lang_insert_link_target_named'] = 'در پنجره باز کن'; +tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; +tinyMCELang['lang_insert_link_popup_url'] = 'URL پنجره'; +tinyMCELang['lang_insert_link_popup_name'] = 'نام پنجره'; +tinyMCELang['lang_insert_link_popup_return'] = 'افزودن \'return false\''; +tinyMCELang['lang_insert_link_popup_scrollbars'] = 'نمایش scrollbars'; +tinyMCELang['lang_insert_link_popup_statusbar'] = 'نمایش statusbar'; +tinyMCELang['lang_insert_link_popup_toolbar'] = 'نمایش toolbars'; +tinyMCELang['lang_insert_link_popup_menubar'] = 'نمایش menubar'; +tinyMCELang['lang_insert_link_popup_location'] = 'نمایش locationbar'; +tinyMCELang['lang_insert_link_popup_resizable'] = 'قابل تغییر اندازه باشد'; +tinyMCELang['lang_insert_link_popup_size'] = 'اندازه'; +tinyMCELang['lang_insert_link_popup_position'] = 'موقعیت (X/Y)'; +tinyMCELang['lang_insert_link_popup_missingtarget'] = 'لطفا یک نام برای مقصد انتخاب کنید در غیر این صورت گزینه دیگری را انتخاب نمایید.'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr.js new file mode 100644 index 000000000..b0ddca838 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr.js @@ -0,0 +1,20 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_insert_link_target_same'] = 'Ouvre dans la fenętre / Cadre(frame)'; +tinyMCELang['lang_insert_link_target_parent'] = 'Ouvre dans fenętre parente / Cadres(frame)'; +tinyMCELang['lang_insert_link_target_top'] = 'Ouvre dans le Top frame (remplace toutes les cadres(frames))'; +tinyMCELang['lang_insert_link_target_blank'] = 'Ouvre dans la fenętre'; +tinyMCELang['lang_insert_link_target_named'] = 'Ouvre dans la fenętre'; +tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; +tinyMCELang['lang_insert_link_popup_url'] = 'URL de la Popup'; +tinyMCELang['lang_insert_link_popup_name'] = 'Nom de la fenętre'; +tinyMCELang['lang_insert_link_popup_return'] = 'Insert \'return false\''; +tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Montrer la barre de défilement '; +tinyMCELang['lang_insert_link_popup_statusbar'] = 'Montrer la barre d\'état'; +tinyMCELang['lang_insert_link_popup_toolbar'] = 'Montrer la barre d\'outils'; +tinyMCELang['lang_insert_link_popup_menubar'] = 'Montrer la barre du menu'; +tinyMCELang['lang_insert_link_popup_location'] = 'Montre la barre d\'adresse'; +tinyMCELang['lang_insert_link_popup_resizable'] = 'Fabriquer une fenętre redimensionnable'; +tinyMCELang['lang_insert_link_popup_size'] = 'Taille'; +tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)'; +tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Veuillez insérer un nom pour la cible ou choisissez une autre option.'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_ca.js new file mode 100644 index 000000000..b40dfbc66 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/fr_ca.js @@ -0,0 +1,20 @@ +// CA_FR lang variables + +tinyMCELang['lang_insert_link_target_same'] = 'Ouvrir dans la mme fentre'; +tinyMCELang['lang_insert_link_target_parent'] = 'Ouvrir dans la fentre parent'; +tinyMCELang['lang_insert_link_target_top'] = 'Ouvrir dans le cadre suprieur'; +tinyMCELang['lang_insert_link_target_blank'] = 'Ouvrir dans une nouvelle fentre'; +tinyMCELang['lang_insert_link_target_named'] = 'Ouvrir la destination'; +tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; +tinyMCELang['lang_insert_link_popup_url'] = 'URL du popup'; +tinyMCELang['lang_insert_link_popup_name'] = 'Nom de la fentre'; +tinyMCELang['lang_insert_link_popup_return'] = 'Insrer le script \'return false\''; +tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Barres de dfilement'; +tinyMCELang['lang_insert_link_popup_statusbar'] = 'Barre de statut'; +tinyMCELang['lang_insert_link_popup_toolbar'] = 'Barres d\'outils'; +tinyMCELang['lang_insert_link_popup_menubar'] = 'Barre de menu'; +tinyMCELang['lang_insert_link_popup_location'] = 'Barre d\'adresse'; +tinyMCELang['lang_insert_link_popup_resizable'] = 'Fentre redimensionnable'; +tinyMCELang['lang_insert_link_popup_size'] = 'Dimensions'; +tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)'; +tinyMCELang['lang_insert_link_popup_missingtarget'] = 'S.v.p., entrer un nom de destination ou choisir une autre option.'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv.js index cc5ab725d..d029a1c14 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/langs/sv.js @@ -2,13 +2,13 @@ tinyMCELang['lang_insert_link_target_same'] = 'Öppna i samma fönster / ram'; tinyMCELang['lang_insert_link_target_parent'] = 'Öppna i underliggande fönster / ram'; -tinyMCELang['lang_insert_link_target_top'] = 'Öppna i topp ramen (ersätter alla ramar)'; +tinyMCELang['lang_insert_link_target_top'] = 'Öppna i toppramen (ersätter alla ramar)'; tinyMCELang['lang_insert_link_target_blank'] = 'Öppna i ett nytt fönster'; tinyMCELang['lang_insert_link_target_named'] = 'Öppna i ett specifikt fönster'; tinyMCELang['lang_insert_link_popup'] = 'JS-Popup'; tinyMCELang['lang_insert_link_popup_url'] = 'Popup URL'; tinyMCELang['lang_insert_link_popup_name'] = 'Fönstrets namn'; -tinyMCELang['lang_insert_link_popup_return'] = 'Sättin \'return false\''; +tinyMCELang['lang_insert_link_popup_return'] = 'Sätt in \'return false\''; tinyMCELang['lang_insert_link_popup_scrollbars'] = 'Visa scrollbars'; tinyMCELang['lang_insert_link_popup_statusbar'] = 'Visa statusbar'; tinyMCELang['lang_insert_link_popup_toolbar'] = 'Visa toolbars'; @@ -17,4 +17,4 @@ tinyMCELang['lang_insert_link_popup_location'] = 'Visa locationbar'; tinyMCELang['lang_insert_link_popup_resizable'] = 'Gör fönstret skalbart'; tinyMCELang['lang_insert_link_popup_size'] = 'Storlek'; tinyMCELang['lang_insert_link_popup_position'] = 'Position (X/Y)'; -tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Var god skriv ett namn fr mlet eller vlj ett annat val.'; +tinyMCELang['lang_insert_link_popup_missingtarget'] = 'Var god skriv ett namn fr fnstret eller vlj ett annat val.'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm index 5b5835dcc..859389b0e 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm @@ -1,6 +1,4 @@ - - - + {$lang_insert_link_title} @@ -33,6 +31,7 @@ if (url != null) break; } } + if (strOnClick!='') { for (var i=0; i'; document.getElementById('browser').innerHTML = html; } + // Auto select link in list + if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { + for (var i=0; i';}return "";}function TinyMCE_emotions_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=150;template['height']=180;tinyMCE.openWindow(template,{editor_id:editor_id});return true;}return false;} \ No newline at end of file +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('emotions','en,sv,zh_cn,cs,fa,fr_ca,fr,de');function TinyMCE_emotions_getControlHTML(control_name){switch(control_name){case "emotions":return '';}return "";}function TinyMCE_emotions_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=150;template['height']=180;tinyMCE.openWindow(template,{editor_id:editor_id});return true;}return false;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js index 515af0ef0..2448e9f5e 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js @@ -1,5 +1,5 @@ -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('emotions', 'en,sv,zh_cn,cs'); +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('emotions', 'en,sv,zh_cn,cs,fa,fr_ca,fr,de'); /** * Returns the HTML contents of the emotions control. diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de.js new file mode 100644 index 000000000..e828c7603 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/de.js @@ -0,0 +1,6 @@ +// DE lang variables + + +tinyMCELang['lang_insert_emotions_title'] = 'Emotion einfügen'; +tinyMCELang['lang_emotions_desc'] = 'Emotion'; + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa.js new file mode 100644 index 000000000..fe7db9e6d --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fa.js @@ -0,0 +1,10 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_dir'] = 'rtl'; +tinyMCELang['lang_insert_emotions_title'] = 'افزودن شکلک'; +tinyMCELang['lang_emotions_desc'] = 'شکلکها'; + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr.js new file mode 100644 index 000000000..b2dbedb0d --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr.js @@ -0,0 +1,5 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_insert_emotions_title'] = 'Insèrer un émoticon'; +tinyMCELang['lang_emotions_desc'] = 'Émoticons'; + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_ca.js index c22c8fa66..1e8d362da 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_ca.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/fr_ca.js @@ -1,5 +1,5 @@ // CAN_FR lang variables -tinyMCELang['lang_insert_emotions_title'] = 'Insèrer un émoticon'; -tinyMCELang['lang_emotions_desc'] = 'Émoticons'; +tinyMCELang['lang_insert_emotions_title'] = 'Insrer un moticon'; +tinyMCELang['lang_emotions_desc'] = 'moticons'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv.js index cbde20f26..82e1ba330 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/emotions/langs/sv.js @@ -1,4 +1,4 @@ // SE lang variables -tinyMCELang['lang_insert_emotions_title'] = 'Klistain knnsla'; -tinyMCELang['lang_emotions_desc'] = 'Knnslor'; +tinyMCELang['lang_insert_emotions_title'] = 'Klistra in knsla'; +tinyMCELang['lang_emotions_desc'] = 'Knslor'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js index 5c1633d5f..05afbcfd8 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js @@ -1,2 +1,2 @@ -/* Import theme specific language pack */ - tinyMCE.importPluginLanguagePack('flash','en,de,sv,zh_cn,cs');function TinyMCE_flash_getControlHTML(control_name){switch(control_name){case "flash":return '';}return "";}function TinyMCE_flash_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceFlash":var template=new Array();template['file']='../../plugins/flash/flash.htm';template['width']=400;template['height']=180;var name="",swffile="",swfwidth="",swfheight="",mceDo="insert";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){tinyMCE.flashElement=tinyMCE.selectedElement;if(tinyMCE.flashElement){name=tinyMCE.flashElement.getAttribute('name')?tinyMCE.flashElement.getAttribute('name'):"";if(name!='mce_plugin_flash')return;swfwidth=tinyMCE.flashElement.getAttribute('width')?tinyMCE.flashElement.getAttribute('width'):"";swfheight=tinyMCE.flashElement.getAttribute('height')?tinyMCE.flashElement.getAttribute('height'):"";swffile=tinyMCE.flashElement.getAttribute('alt')?tinyMCE.flashElement.getAttribute('alt'):"";mceDo="update";}}tinyMCE.openWindow(template,{editor_id:editor_id,swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,mceDo:mceDo});return true;}return false;}function TinyMCE_flash_cleanup(type,content){switch(type){case "insert_to_editor":return TinyMCE_flash_mkCodeCleanup('insertToEditor',content);case "get_from_editor":return TinyMCE_flash_mkCodeCleanup('getFromEditor',content);}return content;}function TinyMCE_flash_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonNormal');do{if(node.nodeName.toLowerCase()=="img"&&getAttrib(node,'name').indexOf('mce_plugin_flash')==0)tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonSelected');}while((node=node.parentNode));return true;}function TinyMCE_flash_mkCodeCleanup(action,content){switch(action){case 'insertToEditor':content=replace(content);break;case 'getFromEditor':content=restore(content);break;}return content;}function TagObject(){this.tagName="";this.attributeNames=new Array();this.attributeValues=new Array();this.spaceRemoveRegex=new RegExp('[ ]*','g');this.newLineRemoveRegex=new RegExp('[\n]*','g');};TagObject.prototype.setTagName=function(name){this.tagName=name;};TagObject.prototype.getTagName=function(){return this.tagName;};TagObject.prototype.addAttribute=function(name,value){this.attributeNames[this.attributeNames.length]=name;this.attributeValues[this.attributeValues.length]=value;};TagObject.prototype.getAttributeNames=function(){return this.attributeNames;};TagObject.prototype.getAttributeValues=function(){return this.attributeValues;};TagObject.prototype.populate=function(tag){var stIndex=0;while(tag.charAt(stIndex)!='<')stIndex++;stIndex++;this.tagName=tag.substring(stIndex,tag.indexOf(" "));stIndex=tag.indexOf(" ");var endIndex;while(true){endIndex=tag.indexOf("=",stIndex);if(endIndex==-1)break;var attrName=tag.substring(stIndex,endIndex);attrName=attrName.replace(this.spaceRemoveRegex,"");attrName=attrName.replace(this.newLineRemoveRegex,"");attrName=attrName.toLowerCase();stIndex=endIndex+1;endIndex=tag.indexOf(" ",stIndex);if(endIndex==-1){endIndex=tag.indexOf(">",stIndex);if(endIndex==-1)endIndex=tag.length;}var attrValue=tag.substring(stIndex,endIndex);attrValue=attrValue.replace("/>","");attrValue=attrValue.replace(">","");this.addAttribute(attrName,attrValue);stIndex=endIndex;}};TagObject.prototype.getAttributeValue=function(attribName){for(var i=0;i',stImgIndex);if(endImgIndex==-1)break;stIndex=endImgIndex+"/>".length;imgString=content.substring(stImgIndex,stIndex);var tagObj=new TagObject();tagObj.populate(imgString);if(tagObj.getAttributeValue("name")=='"mce_plugin_flash"'){var width=tagObj.getAttributeValue("width");var height=tagObj.getAttributeValue("height");var src=tagObj.getAttributeValue("alt");var objTags=decodeAttributes(tagObj);var obj=getTagByName(objTags,"object");obj.setAttributeValue("width",width);obj.setAttributeValue("height",height);var embed=getTagByName(objTags,"embed");embed.setAttributeValue("width",width);embed.setAttributeValue("height",height);embed.setAttributeValue("src",src);newContent=newContent.concat(objectTagsToHTML(objTags));}else{newContent=newContent.concat(imgString);}}newContent=newContent.concat(content.substring(stIndex,content.length));return newContent;}function replace(content){content=content.replace(new RegExp('<[ ]*object','gi'),'','gi'),'');var newContent="";var startString;var stObjIndex;var endObjIndex;var objString;var stIndex=0;var tagObjs;while((stObjIndex=content.indexOf('',stIndex);if(endObjIndex==-1)break;stIndex=endObjIndex+"".length;objString=content.substring(stObjIndex,stIndex);tagObjs=getObjectTags(objString);if(tagObjs.length>0){var objTag=getTagByName(tagObjs,"object");var height=objTag.getAttributeValue("height");var width=objTag.getAttributeValue("width");var embedTag=getTagByName(tagObjs,"embed");var src=embedTag.getAttributeValue("src");var imgAttr=encodeObjectTags(tagObjs);var imgTag='+src+');newContent=newContent.concat(imgTag);}else{newContent=newContent.concat(objString);}}newContent=newContent.concat(content.substring(stIndex,content.length));return newContent;}function getObjectTags(objStr){var tagObjs=new Array();var tagObject;var stIndex=0;var endIndex=0;stIndex=objStr.indexOf("");tagObject=new TagObject();tagObject.populate(objStr.substring(stIndex,endIndex+1));if(tagObject.getAttributeValue("classid")!="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000")return tagObjs;tagObjs[tagObjs.length]=tagObject;objStr=objStr.replace(new RegExp('<[ ]*param','gi'),'','gi'),'');objStr=objStr.replace(new RegExp('<[ ]*embed','gi'),'','gi'),'');stIndex=endIndex;while((endIndex=objStr.indexOf("",stIndex);tagObject=new TagObject();tagObject.populate(objStr.substring(stIndex,endIndex+1));tagObjs[tagObjs.length]=tagObject;stIndex=endIndex;}endIndex=objStr.indexOf("",stIndex);tagObject=new TagObject();tagObject.populate(objStr.substring(stIndex,endIndex+1));tagObjs[tagObjs.length]=tagObject;stIndex=endIndex;}return tagObjs;}function objectTagsToHTML(objTags){var htmlStr="";for(var i=0;i\n');else htmlStr=htmlStr.concat('>\n');}htmlStr=htmlStr.concat('\n');htmlStr=htmlStr.concat('\n');return htmlStr;}function encodeObjectTags(objTags){var equal="&eqs;";var quote=""";var question="?";var equalReplace=new RegExp('=','g');var quoteReplace=new RegExp('"','g');var questionReplace=new RegExp("[\?]",'g');var objAttr='obj="';var paramAttr='param="';var embedAttr='embed="';for(var i=0;i';}return "";}function TinyMCE_flash_parseAttributes(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i','gi'),'');content=content.replace(new RegExp('<[ ]*object','gi'),'','gi'),'');while((startPos=content.indexOf('',startPos);var attribs=TinyMCE_flash_parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs;}var index=0;while((startPos=content.indexOf('',startPos);endPos=content.indexOf('/>',endPos);if(endPos==-1){endPos=content.indexOf('',endPos);endPos+=8;}else endPos+=2;if(index>=embedList.length)break;var attribs=embedList[index];var contentAfter=content.substring(endPos+1);content=content.substring(0,startPos);content+=''+content.substring(endPos+1);content+=contentAfter;index++;startPos++;}break;case "get_from_editor":var startPos=0;while((startPos=content.indexOf('',startPos);var attribs=TinyMCE_flash_parseAttributes(content.substring(startPos+4,endPos));if(attribs['name']!="mce_plugin_flash")break;endPos+=2;var embedHTML='';embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';content=content.substring(0,startPos)+embedHTML+content.substring(endPos+1);startPos++;}break;}return content;}function TinyMCE_flash_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonNormal');if(node==null)return;do{if(node.nodeName.toLowerCase()=="img"&&getAttrib(node,'name').indexOf('mce_plugin_flash')==0)tinyMCE.switchClassSticky(editor_id+'_flash','mceButtonSelected');}while((node=node.parentNode));return true;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js index 9ba54070a..b832b979c 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js @@ -1,58 +1,193 @@ -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('flash', 'en,de,sv,zh_cn,cs'); +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('flash', 'en,de,sv,zh_cn,cs,fa,fr_ca,fr'); function TinyMCE_flash_getControlHTML(control_name) { switch (control_name) { case "flash": return ''; } + return ""; } -/** - * Executes the mceFlash command. - */ +function TinyMCE_flash_parseAttributes(attribute_string) { + var attributeName = ""; + var attributeValue = ""; + var withInName; + var withInValue; + var attributes = new Array(); + var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g'); + + if (attribute_string == null || attribute_string.length < 2) + return null; + + withInName = withInValue = false; + + for (var i=0; i','gi'),''); + content = content.replace(new RegExp('<[ ]*object','gi'),'','gi'),''); + + // Parse all embed tags + while ((startPos = content.indexOf('', startPos); + var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 6, endPos)); + embedList[embedList.length] = attribs; + } + + // Parse all object tags and replace them with images from the embed data + var index = 0; + while ((startPos = content.indexOf('', startPos); + + // Find end of embed + endPos = content.indexOf('/>', endPos); + if (endPos == -1) { + endPos = content.indexOf('', endPos); + endPos += 8; + } else + endPos += 2; + + if (index >= embedList.length) + break; + + var attribs = embedList[index]; + + // Insert image + var contentAfter = content.substring(endPos+1); + content = content.substring(0, startPos); + content += '' + content.substring(endPos+1); + content += contentAfter; + index++; + + startPos++; + } + break; - // Called when editor is pass out content case "get_from_editor": - return TinyMCE_flash_mkCodeCleanup('getFromEditor', content); + // Parse all img tags and replace them with object+embed + var startPos = 0; + while ((startPos = content.indexOf('', startPos); + var attribs = TinyMCE_flash_parseAttributes(content.substring(startPos + 4, endPos)); + + // Is not flash + if (attribs['name'] != "mce_plugin_flash") + break; + + endPos += 2; + + var embedHTML = ''; + + // Insert object + embed + embedHTML += ''; + embedHTML += ''; + embedHTML += ''; + embedHTML += ''; + embedHTML += ''; + +/* + + + + + + + +*/ + + content = content.substring(0, startPos) + embedHTML + content.substring(endPos+1); + + startPos++; + } + break; } // Pass through to next handler in chain @@ -66,6 +201,9 @@ function TinyMCE_flash_handleNodeChange(editor_id, node, undo_index, undo_levels tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonNormal'); + if (node == null) + return; + do { if (node.nodeName.toLowerCase() == "img" && getAttrib(node, 'name').indexOf('mce_plugin_flash') == 0) tinyMCE.switchClassSticky(editor_id + '_flash', 'mceButtonSelected'); @@ -73,612 +211,3 @@ function TinyMCE_flash_handleNodeChange(editor_id, node, undo_index, undo_levels return true; } - -/** - * function to convert flash object tags to img - * or img tags to flash object tags - */ -function TinyMCE_flash_mkCodeCleanup(action, content) { - switch(action) { - case 'insertToEditor': - content = replace(content); - break; - - case 'getFromEditor': - content = restore(content); - break; - } - return content; - -} - -/** - * object to manage a html tag. Maintains two lists of - * of attribute names and values and can parse a tag - * through the populate method. -**/ -function TagObject() { - this.tagName = ""; - this.attributeNames = new Array(); - this.attributeValues = new Array(); - this.spaceRemoveRegex = new RegExp('[ ]*','g'); - this.newLineRemoveRegex = new RegExp('[\n]*','g'); -}; - -/** - * set the name of the tag - */ -TagObject.prototype.setTagName = function(name) { - this.tagName = name; -}; - -/** - * get the name of the tag - */ -TagObject.prototype.getTagName = function() { - return this.tagName; -}; - -/** - * add a attribute name/value pair to the lists. - * does not check for duplicate attribute names - */ -TagObject.prototype.addAttribute = function(name,value) { - this.attributeNames[this.attributeNames.length] = name; - this.attributeValues[this.attributeValues.length] = value; -}; - -/** - * returns array of attribute names - */ -TagObject.prototype.getAttributeNames = function() { - return this.attributeNames; -}; - -/** - * returns array of attribute values - */ -TagObject.prototype.getAttributeValues = function() { - return this.attributeValues; -}; - -/** - * parses a html tag i.e. - * and sets the tag name and attribute name and value lists. All attribute - * names are converted to lowercase. - */ -TagObject.prototype.populate = function(tag) { - //look for starting angle bracket - var stIndex = 0; - while (tag.charAt(stIndex) != '<') - stIndex++; - - stIndex++; - this.tagName = tag.substring(stIndex,tag.indexOf(" ")); - stIndex = tag.indexOf(" "); - var endIndex; - - while(true) { - // hunt for first equals - endIndex = tag.indexOf("=",stIndex); - if ( endIndex == -1 ) - break; - - var attrName = tag.substring(stIndex,endIndex); - attrName = attrName.replace(this.spaceRemoveRegex,""); - attrName = attrName.replace(this.newLineRemoveRegex,""); - attrName = attrName.toLowerCase(); - - stIndex = endIndex+1; - - // hunt for first space - endIndex = tag.indexOf(" ",stIndex); - if (endIndex == -1) { - // look for terminating angle bracket - endIndex = tag.indexOf(">",stIndex); - if ( endIndex == -1 ) - endIndex = tag.length; - } - - var attrValue = tag.substring(stIndex,endIndex); - attrValue = attrValue.replace("/>",""); - attrValue = attrValue.replace(">",""); - - this.addAttribute(attrName,attrValue); - stIndex = endIndex; - - } -}; - -/** - * returns the value for a given attribute name. returns null - * if the attribute name does not exist - */ -TagObject.prototype.getAttributeValue = function(attribName) { - for (var i = 0; i',stImgIndex); - if ( endImgIndex == -1 ) //should be well formed - break; - - stIndex = endImgIndex+"/>".length; - imgString = content.substring(stImgIndex,stIndex); - - var tagObj = new TagObject(); - tagObj.populate(imgString); - - if ( tagObj.getAttributeValue("name") == '"mce_plugin_flash"') - { - - var width = tagObj.getAttributeValue("width"); - var height = tagObj.getAttributeValue("height"); - var src = tagObj.getAttributeValue("alt"); - - - //create object replacement tags - var objTags = decodeAttributes(tagObj); - - var obj = getTagByName( objTags, "object"); - obj.setAttributeValue( "width", width ); - obj.setAttributeValue( "height", height ); - - - var embed = getTagByName( objTags, "embed"); - embed.setAttributeValue( "width", width ); - embed.setAttributeValue( "height", height ); - embed.setAttributeValue( "src", src ); - - newContent = newContent.concat( - objectTagsToHTML(objTags)); - } - else - { - newContent = newContent.concat(imgString); - } - } - newContent = newContent.concat(content.substring(stIndex,content.length)); - return newContent; -} - -/** - * convert flash object to img tags for the given html content and - * returns the converted html. - */ - -function replace(content) -{ - - //ensure object tags are consistent by removing spaces and - //different cases - content = content.replace(new RegExp('<[ ]*object','gi'),'','gi'),''); - - - var newContent = ""; - var startString; - var stObjIndex; - var endObjIndex; - var objString; - var stIndex = 0; - var tagObjs; - while( (stObjIndex = content.indexOf('',stIndex); - if ( endObjIndex == -1 ) //should be well formed - break; - - stIndex = endObjIndex+"".length; - objString = content.substring(stObjIndex,stIndex); - tagObjs = getObjectTags(objString); - - if ( tagObjs.length > 0 ) - { - var objTag = getTagByName( tagObjs, "object"); - var height = objTag.getAttributeValue("height"); - var width = objTag.getAttributeValue("width"); - - var embedTag = getTagByName(tagObjs,"embed"); - var src = embedTag.getAttributeValue("src"); - - //encode object tags into attribute values - var imgAttr = encodeObjectTags(tagObjs); - var imgTag = '+src+'); - newContent = newContent.concat(imgTag); - } - else - { - newContent = newContent.concat(objString); - } - } - newContent = newContent.concat(content.substring(stIndex,content.length)); - return newContent; -} -/** - * returns array of TagObject corresponding to the object, param and embed - * tags (in that order) within the html of objStr. Returns a empty array - * if the object tag does not correspond to a flash object. - */ -function getObjectTags(objStr) -{ - var tagObjs = new Array(); - var tagObject; - var stIndex = 0; - var endIndex = 0; - - stIndex = objStr.indexOf(""); - - tagObject = new TagObject(); - tagObject.populate(objStr.substring(stIndex,endIndex+1)); - - //make sure this is a flash object - if ( tagObject.getAttributeValue("classid") - != "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000") - return tagObjs; - - tagObjs[tagObjs.length] = tagObject; - - //ensure param and embed tags are lower case and have no leading spaces - objStr = objStr.replace(new RegExp('<[ ]*param','gi'),'','gi'),''); - objStr = objStr.replace(new RegExp('<[ ]*embed','gi'),'','gi'),''); - - //pull in param tags - stIndex = endIndex; - while( (endIndex = objStr.indexOf("",stIndex); - tagObject = new TagObject(); - tagObject.populate(objStr.substring(stIndex,endIndex+1)); - tagObjs[tagObjs.length] = tagObject; - stIndex = endIndex; - } - - //pull in embed tags - endIndex = objStr.indexOf("",stIndex); - tagObject = new TagObject(); - tagObject.populate(objStr.substring(stIndex,endIndex+1)); - tagObjs[tagObjs.length] = tagObject; - stIndex = endIndex; - } - return tagObjs; -} - -/** - * converts array TagObject to a html string representation of the tags - * and returns the string. This function assumes the array contains an - * object tag followed by some number of param tags and a ending embed tag. - */ -function objectTagsToHTML( objTags ) -{ - var htmlStr = ""; - for( var i = 0; i < objTags.length; i++ ) - { - var tag = objTags[i]; - var tagAttrs = tag.getAttributeNames(); - var tagValues = tag.getAttributeValues(); - - - htmlStr = htmlStr.concat('<',tag.getTagName(),' '); - - for( var j = 0; j < tagAttrs.length; j++ ) - { - htmlStr = htmlStr.concat(tagAttrs[j],'=',tagValues[j], - (j < tagAttrs.length-1) ? ' ' : ''); - } - - if (tag.getTagName() == "param") - htmlStr = htmlStr.concat(' />\n'); - else - htmlStr = htmlStr.concat('>\n'); - } - htmlStr = htmlStr.concat('\n'); - htmlStr = htmlStr.concat('\n'); - return htmlStr; - -} - -/** - * converts the object tags into specially encoded tag attributes to - * hold the content of the original tags. This allows the original content - * of the tags to be stored withing these attributes and later restored to the - * original tag structure. The object tag is stored via the "obj" attribute, - * param tags into the "param" attribute and embed tag to the "embed" - * attribute. Each attribute/value of the tag is encoded into a question - * mark delimited field like "?attribute1=value1?attribute2=value2..". Since - * the attribute values may contain ?=" characters these are encoded into - * special html like escape sequences prior to encoding the name value pairs. - * Param tags are handled differently than object and embed tags since a - * param tag is structured like - * and there can be multiple param tags. These are encoded like - * ?paramName1=paramValue1?paramName2=paramValue2. - */ -function encodeObjectTags( objTags ) -{ - var equal = "&eqs;"; - var quote = """; - var question = "?"; - - var equalReplace = new RegExp('=','g'); - var quoteReplace = new RegExp('"','g'); - var questionReplace = new RegExp("[\?]",'g'); - - - var objAttr = 'obj="'; - var paramAttr = 'param="'; - var embedAttr = 'embed="'; - - for( var i = 0; i < objTags.length; i++ ) - { - var tagObj = objTags[i]; - var attrNames = tagObj.getAttributeNames(); - var attrValues = tagObj.getAttributeValues(); - - if ( tagObj.getTagName() == 'object' ) - { - for( var j = 0; j < attrNames.length; j++ ) - { - var v = attrValues[j]; - v = v.replace(equalReplace,equal); - v = v.replace(quoteReplace,quote); - v = v.replace(questionReplace,question); - - objAttr = objAttr.concat('?', - attrNames[j],'=',v); - } - } - else if ( tagObj.getTagName() == 'param' ) - { - - var n = tagObj.getAttributeValue("name"); - var v = tagObj.getAttributeValue("value"); - - n = n.replace(quoteReplace,quote); - - v = v.replace(equalReplace,equal); - v = v.replace(quoteReplace,quote); - v = v.replace(questionReplace,question); - - paramAttr = paramAttr.concat('?',n,'=',v); - - } - else if ( tagObj.getTagName() == 'embed' ) - { - for( var j = 0; j < attrNames.length; j++ ) - { - var v = attrValues[j]; - v = v.replace(equalReplace,equal); - v = v.replace(quoteReplace,quote); - v = v.replace(questionReplace,question); - - embedAttr = embedAttr.concat('?', - attrNames[j],'=',v); - } - } - } - objAttr = objAttr.concat('"'); - paramAttr = paramAttr.concat('"'); - embedAttr = embedAttr.concat('"'); - - var imageAttr = objAttr+" "+paramAttr+" "+embedAttr; - return imageAttr; -} - -/** - * decodes the obj,param, and embed attributes into a array of TagObjects. - * If the special attributes don't exist, a array of default flash objects - * is created. - */ -function decodeAttributes( tagObj ) -{ - - var objAttr = tagObj.getAttributeValue("obj"); - - if ( objAttr == null ) - return creatDefaultFlashObjectTags(); - - var paramAttr = tagObj.getAttributeValue("param"); - var embedAttr = tagObj.getAttributeValue("embed"); - var pArray = new Array(objAttr,paramAttr,embedAttr); - - var tagArray = new Array(); - - var equal = "&eqs;"; - var quote = """; - var question = "?"; - - var equalReplace = new RegExp(equal,'g'); - var quoteReplace = new RegExp(quote,'g'); - var questionReplace = new RegExp(question,'g'); - - for( var i = 0; i < pArray.length; i++ ) - { - - var tObj; - - if ( i == 0 ) - { - tObj = new TagObject(); - tObj.setTagName("object"); - } - else if ( i == 2 ) - { - tObj = new TagObject(); - tObj.setTagName("embed"); - } - - - //remove first question mark and begin and end quotes - var attr = pArray[i].substring(2,pArray[i].length-1); - //break up name value pairs on question mark - var pairs = attr.split('?'); - - //for each name value pair break on equal sign - //decode - for( var j = 0; j < pairs.length; j++ ) - { - var nvpair = pairs[j].split('='); - - var name = nvpair[0]; - name = name.replace(quoteReplace,'"'); - - var value = nvpair[1]; - value = value.replace(equalReplace,'='); - value = value.replace(quoteReplace,'"'); - value = value.replace(questionReplace,'?'); - - if ( i == 0 || i == 2 ) - { - tObj.addAttribute(name,value); - } - else - { - tObj = new TagObject(); - tObj.setTagName("param"); - tObj.addAttribute('name',name); - tObj.addAttribute('value',value); - tagArray[tagArray.length] = tObj; - } - } - if ( i != 1 ) - tagArray[tagArray.length] = tObj; - } - return tagArray; -} -/** - * returns a TagObject from the array whose tag name matches tag name. - */ -function getTagByName( tagObjs, tagName ) -{ - for( var i = 0; i < tagObjs.length; i++ ) - { - var tObj = tagObjs[i]; - if ( tObj.getTagName() == tagName ) - return tObj; - - } - return null; -} -/** - * returns a TagObject corresponding to a param tag whose parameter value - * of the name attribute matches paramName. - */ -function getParameterTagWithName( tagObjs, paramName ) -{ - paramName = paramName.toLowerCase(); - for( var i = 0; i < tagObjs.length; i++ ) - { - var tObj = tagObjs[i]; - if ( tObj.getTagName() != 'param' ) - continue; - - - var name = tObj.getAttributeValue('name'); - name = name.toLowerCase(); - - if ( name != paramName ) - continue; - - return tObj; - } - return null; -} -/** - * build and return a array of TagObjects corresponding to a reasonable - * default set of object,param, and embed tags for a flash movie. Note - * that the height,width, and src attributes need to be set on the TagObjects - * before converting to the array into a real set of flash tags. - */ -function creatDefaultFlashObjectTags() -{ - var tagObjs = new Array(); - - var objTag = new TagObject(); - objTag.setTagName('object'); - objTag.addAttribute('classid', - '"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'); - objTag.addAttribute('codebase', - '"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"'); - - tagObjs[tagObjs.length] = objTag; - - - var paramTag = new TagObject(); - paramTag.setTagName('param'); - paramTag.addAttribute( 'name','"quality"'); - paramTag.addAttribute( 'value','"high"'); - tagObjs[tagObjs.length] = paramTag; - - paramTag = new TagObject(); - paramTag.setTagName('param'); - paramTag.addAttribute( 'name','"menu"'); - paramTag.addAttribute( 'value','"false"'); - tagObjs[tagObjs.length] = paramTag; - - var embedTag = new TagObject(); - embedTag.setTagName('embed'); - embedTag.addAttribute( 'quality','"high"'); - embedTag.addAttribute( 'type','"application/x-shockwave-flash"'); - embedTag.addAttribute( 'pluginspace','"http://www.macromedia.com/go/getflashplayer"'); - - tagObjs[tagObjs.length] = embedTag; - - return tagObjs; -} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm index 276e6965c..c366b82a2 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/flash/flash.htm @@ -1,6 +1,4 @@ - - - + {$lang_insert_flash} @@ -33,7 +31,7 @@ if (url != null) formObj.height.value = swfheight; } formObj.file.value = swffile; - formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo')); + formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); // Handle file browser if (tinyMCE.getParam("file_browser_callback") != null) { @@ -45,13 +43,21 @@ if (url != null) html += ' onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');"'; html += ' onmouseout="tinyMCE.restoreClass(this);"'; html += ' onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');"'; - html += ' onclick="javascript:tinyMCE.openFileBrowser(\'file\',document.forms[0].file.value,\'flash\');"'; + html += ' onclick="javascript:tinyMCE.openFileBrowser(\'file\',document.forms[0].file.value,\'flash\',window);"'; html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"'; html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" />'; document.getElementById('browser').innerHTML = html; } + // Auto select flash in list + if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) { + for (var i=0; i';return "";}function TinyMCE_iespell_execCommand(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','');}else alert("Error Loading ieSpell: Exception "+e.number);}return true;}return false;} \ No newline at end of file +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('iespell','cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de');function TinyMCE_iespell_getControlHTML(control_name){if(control_name=="iespell"&&tinyMCE.isMSIE)return '';return "";}function TinyMCE_iespell_execCommand(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','');}else alert("Error Loading ieSpell: Exception "+e.number);}return true;}return false;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js index 23aa4840e..feb5ea4c0 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js @@ -1,5 +1,5 @@ -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('iespell', 'cs,el,en,fr_ca,it,ko,sv,zh_cn'); +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('iespell', 'cs,el,en,fr_ca,it,ko,sv,zh_cn,fr,de'); /** * Returns the HTML contents of the iespell control. diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif index 8d95c9a86..46c0c4a66 100755 Binary files a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif and b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/de.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/de.js new file mode 100644 index 000000000..80a3b02b4 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/de.js @@ -0,0 +1,4 @@ +// DE lang variables by Tobias Heer + +tinyMCELang['lang_iespell_desc'] = 'Rechtschreibprüfung'; +tinyMCELang['lang_iespell_download'] = "ieSpell nicht gefunden. Klicken Sie OK um auf die Download Seite zu gelangen." diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/fr.js new file mode 100644 index 000000000..de66fb04a --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/fr.js @@ -0,0 +1,4 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_iespell_desc'] = 'Executer le vérificateur d\'orthographe'; +tinyMCELang['lang_iespell_download'] = "ieSpell n\'a pas été trouvé. Cliquez sur OK pour aller au site de téléchargement." diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/fr_ca.js index fb99a892f..9c172b012 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/fr_ca.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/iespell/langs/fr_ca.js @@ -1,4 +1,4 @@ // CAN_FR lang variables -tinyMCELang['lang_iespell_desc'] = 'Executer le vérificateur d\'orthographe'; -tinyMCELang['lang_iespell_download'] = "ieSpell n\'a pas été trouvé. Cliquez sur OK pour aller au site de téléchargement." +tinyMCELang['lang_iespell_desc'] = 'Executer le vrificateur d\'orthographe'; +tinyMCELang['lang_iespell_download'] = "ieSpell n\'a pas t trouv. Cliquez sur OK pour aller au site de tlchargement."; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js index d389f04ad..d3d87dd3f 100755 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js @@ -1,2 +1,2 @@ -/* Import theme specific language pack */ - tinyMCE.importPluginLanguagePack('insertdatetime','cs,el,en,fr_ca,it,ko,sv,zh_cn');function TinyMCE_insertdatetime_getControlHTML(control_name){switch(control_name){case "insertdate":return '';case "inserttime":return '';}return "";}function TinyMCE_insertdatetime_execCommand(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length';case "inserttime":return '';}return "";}function TinyMCE_insertdatetime_execCommand(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length';}return "";}function TinyMCE_preview_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";html+='';html+='';html+='';html+=''+tinyMCE.getLang('lang_preview_desc')+'';html+='';html+='';html+='';html+='';html+=tinyMCE.getContent();html+='';html+='';win.document.write(html);win.document.close();}return true;}return false;} \ No newline at end of file +/* Import plugin specific language pack */ + tinyMCE.importPluginLanguagePack('preview','cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr');function TinyMCE_preview_getControlHTML(control_name){switch(control_name){case "preview":return '';}return "";}function TinyMCE_preview_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";html+='';html+='';html+='';html+=''+tinyMCE.getLang('lang_preview_desc')+'';html+='';html+='';html+='';html+='';html+=tinyMCE.getContent();html+='';html+='';win.document.write(html);win.document.close();}return true;}return false;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js index c7e1f9cb0..1652d58c2 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js @@ -1,5 +1,5 @@ -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('preview', 'cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn'); +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('preview', 'cs,de,el,en,fr_ca,it,ko,pt,sv,zh_cn,fa,fr'); /** * Returns the HTML contents of the preview control. diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif index 0b5b6bf08..4e7900c31 100755 Binary files a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif and b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/de.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/de.js index 13aa81e7a..e24e9c462 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/de.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/de.js @@ -1,3 +1,3 @@ -// UK lang variables +// DE lang variables by Tobias Heer tinyMCELang['lang_preview_desc'] = 'Vorschau'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fa.js new file mode 100644 index 000000000..46877f4b6 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fa.js @@ -0,0 +1,8 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_dir'] = 'rtl'; +tinyMCELang['lang_preview_desc'] = 'پیش نمایش'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fr.js new file mode 100644 index 000000000..18610dcaa --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fr.js @@ -0,0 +1,3 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_preview_desc'] = 'Prévisualisation'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fr_ca.js index 7ed16482f..bdab8c981 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fr_ca.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/preview/langs/fr_ca.js @@ -1,3 +1,3 @@ // CAN_FR lang variables -tinyMCELang['lang_preview_desc'] = 'Prévisualisation'; +tinyMCELang['lang_preview_desc'] = 'Prvisualisation'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js index 8509bc86c..d266021d4 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js @@ -1,2 +1,2 @@ /* Import theme specific language pack */ - tinyMCE.importPluginLanguagePack('print','en,sv,zh_cn');function TinyMCE_print_getControlHTML(control_name){switch(control_name){case "print":return '';}return "";}function TinyMCE_print_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;} \ No newline at end of file + tinyMCE.importPluginLanguagePack('print','en,sv,zh_cn,fa,fr_ca,fr,de');function TinyMCE_print_getControlHTML(control_name){switch(control_name){case "print":return '';}return "";}function TinyMCE_print_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js index 84c04337b..93828726b 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js @@ -1,5 +1,5 @@ /* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('print', 'en,sv,zh_cn'); +tinyMCE.importPluginLanguagePack('print', 'en,sv,zh_cn,fa,fr_ca,fr,de'); function TinyMCE_print_getControlHTML(control_name) { switch (control_name) { diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif index 3fe774482..1172f4db8 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif and b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/de.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/de.js new file mode 100644 index 000000000..b3913d088 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/de.js @@ -0,0 +1,3 @@ +// DE lang variables + +tinyMCELang['lang_print_desc'] = 'Drucken'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fa.js new file mode 100644 index 000000000..385010423 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fa.js @@ -0,0 +1,8 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_dir'] = 'rtl'; +tinyMCELang['lang_print_desc'] = 'چاپ'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fr.js new file mode 100644 index 000000000..46e5397ff --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fr.js @@ -0,0 +1,3 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_print_desc'] = 'Imprimer'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fr_ca.js new file mode 100644 index 000000000..9245867e8 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/fr_ca.js @@ -0,0 +1,3 @@ +// CA_FR lang variables + +tinyMCELang['lang_print_desc'] = 'Imprimer'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/sv.js index aa553a82d..6ef798236 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/sv.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/print/langs/sv.js @@ -1,3 +1,3 @@ // SE lang variables -tinyMCELang['lang_print_desc'] = 'Skrivut'; +tinyMCELang['lang_print_desc'] = 'Skriv ut'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js index 2099c853a..1627d09ed 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js @@ -1,2 +1,2 @@ -/* Import theme specific language pack */ - tinyMCE.importPluginLanguagePack('save','en,zh_cn,cs');function TinyMCE_save_getControlHTML(control_name){switch(control_name){case "save":return '';}return "";}function TinyMCE_save_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceSave":var formObj=tinyMCE.selectedInstance.formElement.form;if(formObj){tinyMCE.triggerSave();for(var i=0;i';}return "";}function TinyMCE_save_execCommand(editor_id,element,command,user_interface,value){switch(command){case "mceSave":var formObj=tinyMCE.selectedInstance.formElement.form;if(formObj){tinyMCE.triggerSave();for(var i=0;i';case "replace":return '';}return "";}function TinyMCE_searchreplace_execCommand(editor_id,element,command,user_interface,value){function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str){if(!tinyMCE.isMSIE){var sel=instance.contentWindow.getSelection();var rng=sel.getRangeAt(0);}else{var rng=instance.contentWindow.document.selection.createRange();}if(!tinyMCE.isMSIE){var doc=instance.contentWindow.document;if(str.indexOf(search_str)==-1){rng.deleteContents();rng.insertNode(rng.createContextualFragment(str));rng.collapse(false);}else{doc.execCommand("insertimage",false,"#mce_temp_url#");var elm=tinyMCE.getElementByAttributeValue(doc.body,"img","src","#mce_temp_url#");elm.parentNode.replaceChild(doc.createTextNode(str),elm);}}else{if(rng.item)rng.item(0).outerHTML=str;else rng.pasteHTML(str);}}var instance=tinyMCE.getInstanceById(editor_id);if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);switch(command){case "mceResetSearch":tinyMCE.lastSearchRng=null;return true;case "mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=310;template['height']=180;}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=280;template['height']=180;}tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case "mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}function TinyMCE_searchreplace_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){return true;} \ No newline at end of file + tinyMCE.importPluginLanguagePack('searchreplace','en,sv,zh_cn,fa,fr_ca,fr,de');function TinyMCE_searchreplace_getControlHTML(control_name){switch(control_name){case "search":return '';case "replace":return '';}return "";}function TinyMCE_searchreplace_execCommand(editor_id,element,command,user_interface,value){function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str){if(!tinyMCE.isMSIE){var sel=instance.contentWindow.getSelection();var rng=sel.getRangeAt(0);}else{var rng=instance.contentWindow.document.selection.createRange();}if(!tinyMCE.isMSIE){var doc=instance.contentWindow.document;if(str.indexOf(search_str)==-1){rng.deleteContents();rng.insertNode(rng.createContextualFragment(str));rng.collapse(false);}else{doc.execCommand("insertimage",false,"#mce_temp_url#");var elm=tinyMCE.getElementByAttributeValue(doc.body,"img","src","#mce_temp_url#");elm.parentNode.replaceChild(doc.createTextNode(str),elm);}}else{if(rng.item)rng.item(0).outerHTML=str;else rng.pasteHTML(str);}}var instance=tinyMCE.getInstanceById(editor_id);if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);switch(command){case "mceResetSearch":tinyMCE.lastSearchRng=null;return true;case "mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=310;template['height']=180;}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=280;template['height']=180;}tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case "mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}function TinyMCE_searchreplace_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){return true;} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js index a8d1e68f2..ec60c1973 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js @@ -1,5 +1,5 @@ /* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('searchreplace', 'en,sv,zh_cn'); +tinyMCE.importPluginLanguagePack('searchreplace', 'en,sv,zh_cn,fa,fr_ca,fr,de'); function TinyMCE_searchreplace_getControlHTML(control_name) { switch (control_name) { diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif index 9f3d81634..e62354b0f 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif and b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif index ee6182fbb..40ae68e08 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif and b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de.js new file mode 100644 index 000000000..b972de769 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/de.js @@ -0,0 +1,19 @@ +// DE lang variables + +tinyMCELang['lang_searchreplace_search_desc'] = 'Suchen'; +tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Erneut suchen'; +tinyMCELang['lang_searchreplace_replace_desc'] = 'Suchen/Ersetzen'; +tinyMCELang['lang_searchreplace_notfound'] = 'Die Suche wurde abgeschlossen. Das Suchwort wurde nicht gefunden.'; +tinyMCELang['lang_searchreplace_search_title'] = 'Suchen'; +tinyMCELang['lang_searchreplace_replace_title'] = 'Suchen/Ersetzen'; +tinyMCELang['lang_searchreplace_allreplaced'] = 'Die Suche wurde abgeschlossen. Alle Vorkommen wurden ersetzt.'; +tinyMCELang['lang_searchreplace_findwhat'] = 'Suchen nach'; +tinyMCELang['lang_searchreplace_replacewith'] = 'Ersetzem durch'; +tinyMCELang['lang_searchreplace_direction'] = 'Suchrichtung'; +tinyMCELang['lang_searchreplace_up'] = 'Rückwärts'; +tinyMCELang['lang_searchreplace_down'] = 'Vorwärts'; +tinyMCELang['lang_searchreplace_case'] = 'Groß-/Kleinschreibung beachten'; +tinyMCELang['lang_searchreplace_findnext'] = 'Weiter suchen'; +tinyMCELang['lang_searchreplace_replace'] = 'Ersetzen'; +tinyMCELang['lang_searchreplace_replaceall'] = 'Alle ersetzen'; +tinyMCELang['lang_searchreplace_cancel'] = 'Abbrechen'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa.js new file mode 100644 index 000000000..78f80e637 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fa.js @@ -0,0 +1,24 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_dir'] = 'rtl'; +tinyMCELang['lang_searchreplace_search_desc'] = 'جستجو'; +tinyMCELang['lang_searchreplace_searchnext_desc'] = 'جستجوي مجدد'; +tinyMCELang['lang_searchreplace_replace_desc'] = 'جستجو/جايگزيني'; +tinyMCELang['lang_searchreplace_notfound'] = 'جستجو پايان يافت. هيچ موردي يافت نشد.'; +tinyMCELang['lang_searchreplace_search_title'] = 'جستجو'; +tinyMCELang['lang_searchreplace_replace_title'] = 'جستجو/جايگزيني'; +tinyMCELang['lang_searchreplace_allreplaced'] = 'همه موارد جايگزين گرديد.'; +tinyMCELang['lang_searchreplace_findwhat'] = 'جستجو به دنبال'; +tinyMCELang['lang_searchreplace_replacewith'] = 'جايگزيني با'; +tinyMCELang['lang_searchreplace_direction'] = 'جهت جستجو'; +tinyMCELang['lang_searchreplace_up'] = 'به سمت بالا'; +tinyMCELang['lang_searchreplace_down'] = 'به سمت پايين'; +tinyMCELang['lang_searchreplace_case'] = 'تطبيق حروف کوچک و بزرگ'; +tinyMCELang['lang_searchreplace_findnext'] = 'مورد-بعدي'; +tinyMCELang['lang_searchreplace_replace'] = 'جايگزين-کن'; +tinyMCELang['lang_searchreplace_replaceall'] = 'جايگزيني-همه'; +tinyMCELang['lang_searchreplace_cancel'] = 'بيخيال'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr.js new file mode 100644 index 000000000..1cedfc90f --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr.js @@ -0,0 +1,19 @@ +// Franch lang variables by Laurent Dran + +tinyMCELang['lang_searchreplace_search_desc'] = 'Trouver'; +tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Trouver encore'; +tinyMCELang['lang_searchreplace_replace_desc'] = 'Trouver/Remplacer'; +tinyMCELang['lang_searchreplace_notfound'] = 'Votre recherche a été compléé. La recherche de la chaine pourra ne pas aboutir.'; +tinyMCELang['lang_searchreplace_search_title'] = 'Trouver'; +tinyMCELang['lang_searchreplace_replace_title'] = 'Trouver/Remplacer'; +tinyMCELang['lang_searchreplace_allreplaced'] = 'Toutes les occurences de la chaine ont été remplcées.'; +tinyMCELang['lang_searchreplace_findwhat'] = 'Trouver le mot'; +tinyMCELang['lang_searchreplace_replacewith'] = 'Remplacer avec'; +tinyMCELang['lang_searchreplace_direction'] = 'Direction'; +tinyMCELang['lang_searchreplace_up'] = 'Haut'; +tinyMCELang['lang_searchreplace_down'] = 'Base'; +tinyMCELang['lang_searchreplace_case'] = 'Respecter la casse'; +tinyMCELang['lang_searchreplace_findnext'] = 'Trouver le prochain'; +tinyMCELang['lang_searchreplace_replace'] = 'Remplacer'; +tinyMCELang['lang_searchreplace_replaceall'] = 'Remplacer tout'; +tinyMCELang['lang_searchreplace_cancel'] = 'Annuler'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_ca.js new file mode 100644 index 000000000..04dd1faac --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/fr_ca.js @@ -0,0 +1,20 @@ +// CA_FR lang variables + +tinyMCELang['lang_searchreplace_search_desc'] = 'Chercher'; +tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Chercher suivant'; +tinyMCELang['lang_searchreplace_replace_desc'] = 'Chercher/Remplacer'; +tinyMCELang['lang_searchreplace_notfound'] = 'La recherche est termine. Aucune occurence trouve.'; +tinyMCELang['lang_searchreplace_search_title'] = 'Chercher'; +tinyMCELang['lang_searchreplace_replace_title'] = 'Chercher/Remplacer'; +tinyMCELang['lang_searchreplace_allreplaced'] = 'Toutes les occurences ont t remplaces.'; +tinyMCELang['lang_searchreplace_findwhat'] = 'Chercher quoi'; +tinyMCELang['lang_searchreplace_replacewith'] = 'Remplacer par'; +tinyMCELang['lang_searchreplace_direction'] = 'Direction'; +tinyMCELang['lang_searchreplace_up'] = 'Monter'; +tinyMCELang['lang_searchreplace_down'] = 'Descendre'; +tinyMCELang['lang_searchreplace_case'] = 'Sensible la case'; +tinyMCELang['lang_searchreplace_findnext'] = 'Chercher suivant'; +tinyMCELang['lang_searchreplace_replace'] = 'Remplacer'; +tinyMCELang['lang_searchreplace_replaceall'] = 'Remplacer tous'; +tinyMCELang['lang_searchreplace_cancel'] = 'Annuler'; + diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv.js index 13ddf9e93..aac54d3ed 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/sv.js @@ -1,7 +1,7 @@ // SE lang variables tinyMCELang['lang_searchreplace_search_desc'] = 'Sk'; -tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Sg igen'; +tinyMCELang['lang_searchreplace_searchnext_desc'] = 'Sk igen'; tinyMCELang['lang_searchreplace_replace_desc'] = 'Sk/Erstt'; tinyMCELang['lang_searchreplace_notfound'] = 'Skningen r slutfrd. Skstrngen kunde inte hittas.'; tinyMCELang['lang_searchreplace_search_title'] = 'Sk'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm index b501840b3..443bdb138 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/replace.htm @@ -1,6 +1,4 @@ - - - + {$lang_searchreplace_replace_title} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm index e11494be5..4a171f49c 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm @@ -1,6 +1,4 @@ - - - + {$lang_searchreplace_search_title} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/cell.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/cell.htm index 9cef19bbd..1557304df 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/cell.htm @@ -1,6 +1,4 @@ - - - + {$lang_table_cell_title} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js index ff52df2fd..59d734d81 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js @@ -1,2 +1,2 @@ /* Import plugin specific language pack */ - tinyMCE.importPluginLanguagePack('table','en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn');function TinyMCE_table_getControlHTML(control_name){var controls=new Array(['table','','{$lang_table_desc}','mceInsertTable',true],['delete_col','','{$lang_table_delete_col_desc}','mceTableDeleteCol'],['delete_row','','{$lang_table_delete_row_desc}','mceTableDeleteRow'],['col_after','','{$lang_table_insert_col_after_desc}','mceTableInsertColAfter'],['col_before','','{$lang_table_insert_col_before_desc}','mceTableInsertColBefore'],['row_after','','{$lang_table_insert_row_after_desc}','mceTableInsertRowAfter'],['row_before','','{$lang_table_insert_row_before_desc}','mceTableInsertRowBefore'],['row_props','','{$lang_table_row_desc}','mceTableRowProps',true],['cell_props','','{$lang_table_cell_desc}','mceTableCellProps',true]);for(var i=0;i';}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");return html;}return "";}function TinyMCE_table_execCommand(editor_id,element,command,user_interface,value){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var tdElm=tinyMCE.getParentElement(focusElm,"td");var trElm=tinyMCE.getParentElement(focusElm,"tr");switch(command){case "mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=340;template['height']=220;tinyMCE.openWindow(template,{editor_id:inst.editorId,align:getAttrib(trElm,'align'),valign:getAttrib(trElm,'valign'),height:getAttrib(trElm,'height'),className:getAttrib(trElm,'className')});}else{trElm.setAttribute('align',value['align']);trElm.setAttribute('vAlign',value['valign']);trElm.setAttribute('height',value['height']);trElm.setAttribute('class',value['className']);trElm.setAttribute('className',value['className']);}return true;case "mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=340;template['height']=220;tinyMCE.openWindow(template,{editor_id:inst.editorId,align:getAttrib(tdElm,'align'),valign:getAttrib(tdElm,'valign'),width:getAttrib(tdElm,'width'),height:getAttrib(tdElm,'height'),className:getAttrib(tdElm,'className')});}else{tdElm.setAttribute('align',value['align']);tdElm.setAttribute('vAlign',value['valign']);tdElm.setAttribute('width',value['width']);tdElm.setAttribute('height',value['height']);tdElm.setAttribute('class',value['className']);tdElm.setAttribute('className',value['className']);}return true;case "mceInsertTable":if(user_interface){var cols=2,rows=2,border=0,cellpadding="",cellspacing="",align="",width="",height="",action="insert",className="";tinyMCE.tableElement=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(tinyMCE.tableElement){var rowsAr=tinyMCE.tableElement.rows;var cols=0;for(var i=0;icols)cols=rowsAr[i].cells.length;cols=cols;rows=rowsAr.length;border=tinyMCE.getAttrib(tinyMCE.tableElement,'border',border);cellpadding=tinyMCE.getAttrib(tinyMCE.tableElement,'cellpadding',"");cellspacing=tinyMCE.getAttrib(tinyMCE.tableElement,'cellspacing',"");width=tinyMCE.getAttrib(tinyMCE.tableElement,'width',width);height=tinyMCE.getAttrib(tinyMCE.tableElement,'height',height);align=tinyMCE.getAttrib(tinyMCE.tableElement,'align',align);className=tinyMCE.getAttrib(tinyMCE.tableElement,tinyMCE.isMSIE?'className':"class","");if(tinyMCE.isMSIE){width=tinyMCE.tableElement.style.pixelWidth==0?tinyMCE.tableElement.getAttribute("width"):tinyMCE.tableElement.style.pixelWidth;height=tinyMCE.tableElement.style.pixelHeight==0?tinyMCE.tableElement.getAttribute("height"):tinyMCE.tableElement.style.pixelHeight;}action="update";}var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=340;template['height']=220;template['width']+=tinyMCE.getLang('lang_insert_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,cols:cols,rows:rows,border:border,cellpadding:cellpadding,cellspacing:cellspacing,align:align,width:width,height:height,action:action,className:className});}else{var html='';var cols=2,rows=2,border=0,cellpadding=-1,cellspacing=-1,align,width,height,className;if(typeof(value)=='object'){cols=value['cols'];rows=value['rows'];border=value['border']!=""?value['border']:0;cellpadding=value['cellpadding']!=""?value['cellpadding']:-1;cellspacing=value['cellspacing']!=""?value['cellspacing']:-1;align=value['align'];width=value['width'];height=value['height'];className=value['className'];}if(tinyMCE.tableElement){tinyMCE.setAttrib(tinyMCE.tableElement,'cellPadding',cellpadding);tinyMCE.setAttrib(tinyMCE.tableElement,'cellSpacing',cellspacing);tinyMCE.setAttrib(tinyMCE.tableElement,'border',border);tinyMCE.setAttrib(tinyMCE.tableElement,'width',width);tinyMCE.setAttrib(tinyMCE.tableElement,'height',height);tinyMCE.setAttrib(tinyMCE.tableElement,'align',align,true);tinyMCE.setAttrib(tinyMCE.tableElement,tinyMCE.isMSIE?'className':"class",className,true);if(tinyMCE.isMSIE){tinyMCE.tableElement.style.pixelWidth=(width==null||width=="")?0:width;tinyMCE.tableElement.style.pixelHeight=(height==null||height=="")?0:height;}tinyMCE.handleVisualAid(tinyMCE.tableElement,false,inst.visualAid);tinyMCE.tableElement.outerHTML=tinyMCE.tableElement.outerHTML;tinyMCE.triggerNodeChange();return true;}html+='";for(var x=0;x';else html+='";}html+="";}html+="
';html+=" 
";inst.execCommand('mceInsertContent',false,html);}return true;case "mceTableInsertRowBefore":case "mceTableInsertRowAfter":case "mceTableDeleteRow":case "mceTableInsertColBefore":case "mceTableInsertColAfter":case "mceTableDeleteCol":var trElement=tinyMCE.getParentElement(inst.getFocusElement(),"tr");var tdElement=tinyMCE.getParentElement(inst.getFocusElement(),"td");var tableElement=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(!tableElement)return true;var doc=inst.contentWindow.document;var tableBorder=tableElement.getAttribute("border");var visualAidStyle=inst.visualAid?tinyMCE.settings['visual_table_style']:"";if(tableElement.firstChild&&tableElement.firstChild.nodeName.toLowerCase()=="tbody")tableElement=tableElement.firstChild;if(tableElement&&trElement){switch(command){case "mceTableInsertRowBefore":var numcells=trElement.cells.length;var rowCount=0;var tmpTR=trElement;while(tmpTR){if(tmpTR.nodeName.toLowerCase()=="tr")rowCount++;tmpTR=tmpTR.previousSibling;}var r=tableElement.insertRow(rowCount==0?1:rowCount-1);for(var i=0;inumCols)numCols=tableElement.rows[y].cells.length;}if(numCols<=1){if(tinyMCE.isGecko)inst.selectNode(selElm);tableElement.parentNode.removeChild(tableElement);tinyMCE.triggerNodeChange();return true;}for(var y=0;y0)selElm=tableElement.rows[0].cells[index-1];if(tinyMCE.isGecko)inst.selectNode(selElm);break;}tinyMCE.triggerNodeChange();}return true;}return false;}function TinyMCE_table_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_table','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonDisabled',true);if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonSelected',false);if(tinyMCE.getParentElement(node,"td")){tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonSelected',false);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonNormal',false);}if(tinyMCE.getParentElement(node,"table"))tinyMCE.switchClassSticky(editor_id+'_table','mceButtonSelected');} \ No newline at end of file + tinyMCE.importPluginLanguagePack('table','en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn,fr,de');function TinyMCE_table_getControlHTML(control_name){var controls=new Array(['table','table.gif','{$lang_table_desc}','mceInsertTable',true],['delete_col','table_delete_col.gif','{$lang_table_delete_col_desc}','mceTableDeleteCol'],['delete_row','table_delete_row.gif','{$lang_table_delete_row_desc}','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','{$lang_table_insert_col_after_desc}','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','{$lang_table_insert_col_before_desc}','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','{$lang_table_insert_row_after_desc}','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','{$lang_table_insert_row_before_desc}','mceTableInsertRowBefore'],['row_props','table_row_props.gif','{$lang_table_row_desc}','mceTableRowProps',true],['cell_props','table_cell_props.gif','{$lang_table_cell_desc}','mceTableCellProps',true]);for(var i=0;i';else if(but[0]==control_name)return '';}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");return html;}return "";}function TinyMCE_table_execCommand(editor_id,element,command,user_interface,value){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var tdElm=tinyMCE.getParentElement(focusElm,"td");var trElm=tinyMCE.getParentElement(focusElm,"tr");switch(command){case "mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=340;template['height']=220;tinyMCE.openWindow(template,{editor_id:inst.editorId,align:getAttrib(trElm,'align'),valign:getAttrib(trElm,'valign'),height:getAttrib(trElm,'height'),className:getAttrib(trElm,'className')});}else{trElm.setAttribute('align',value['align']);trElm.setAttribute('vAlign',value['valign']);trElm.setAttribute('height',value['height']);trElm.setAttribute('class',value['className']);trElm.setAttribute('className',value['className']);}return true;case "mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=340;template['height']=220;tinyMCE.openWindow(template,{editor_id:inst.editorId,align:getAttrib(tdElm,'align'),valign:getAttrib(tdElm,'valign'),width:getAttrib(tdElm,'width'),height:getAttrib(tdElm,'height'),className:getAttrib(tdElm,'className')});}else{tdElm.setAttribute('align',value['align']);tdElm.setAttribute('vAlign',value['valign']);tdElm.setAttribute('width',value['width']);tdElm.setAttribute('height',value['height']);tdElm.setAttribute('class',value['className']);tdElm.setAttribute('className',value['className']);}return true;case "mceInsertTable":if(user_interface){var cols=2,rows=2,border=0,cellpadding="",cellspacing="",align="",width="",height="",action="insert",className="";tinyMCE.tableElement=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(tinyMCE.tableElement){var rowsAr=tinyMCE.tableElement.rows;var cols=0;for(var i=0;icols)cols=rowsAr[i].cells.length;cols=cols;rows=rowsAr.length;border=tinyMCE.getAttrib(tinyMCE.tableElement,'border',border);cellpadding=tinyMCE.getAttrib(tinyMCE.tableElement,'cellpadding',"");cellspacing=tinyMCE.getAttrib(tinyMCE.tableElement,'cellspacing',"");width=tinyMCE.getAttrib(tinyMCE.tableElement,'width',width);height=tinyMCE.getAttrib(tinyMCE.tableElement,'height',height);align=tinyMCE.getAttrib(tinyMCE.tableElement,'align',align);className=tinyMCE.getAttrib(tinyMCE.tableElement,tinyMCE.isMSIE?'className':"class","");if(tinyMCE.isMSIE){width=tinyMCE.tableElement.style.pixelWidth==0?tinyMCE.tableElement.getAttribute("width"):tinyMCE.tableElement.style.pixelWidth;height=tinyMCE.tableElement.style.pixelHeight==0?tinyMCE.tableElement.getAttribute("height"):tinyMCE.tableElement.style.pixelHeight;}action="update";}var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=340;template['height']=220;template['width']+=tinyMCE.getLang('lang_insert_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,cols:cols,rows:rows,border:border,cellpadding:cellpadding,cellspacing:cellspacing,align:align,width:width,height:height,action:action,className:className});}else{var html='';var cols=2,rows=2,border=0,cellpadding=-1,cellspacing=-1,align,width,height,className;if(typeof(value)=='object'){cols=value['cols'];rows=value['rows'];border=value['border']!=""?value['border']:0;cellpadding=value['cellpadding']!=""?value['cellpadding']:-1;cellspacing=value['cellspacing']!=""?value['cellspacing']:-1;align=value['align'];width=value['width'];height=value['height'];className=value['className'];}if(tinyMCE.tableElement){tinyMCE.setAttrib(tinyMCE.tableElement,'cellPadding',cellpadding);tinyMCE.setAttrib(tinyMCE.tableElement,'cellSpacing',cellspacing);tinyMCE.setAttrib(tinyMCE.tableElement,'border',border);tinyMCE.setAttrib(tinyMCE.tableElement,'width',width);tinyMCE.setAttrib(tinyMCE.tableElement,'height',height);tinyMCE.setAttrib(tinyMCE.tableElement,'align',align,true);tinyMCE.setAttrib(tinyMCE.tableElement,tinyMCE.isMSIE?'className':"class",className,true);if(tinyMCE.isMSIE){tinyMCE.tableElement.style.pixelWidth=(width==null||width=="")?0:width;tinyMCE.tableElement.style.pixelHeight=(height==null||height=="")?0:height;}tinyMCE.handleVisualAid(tinyMCE.tableElement,false,inst.visualAid);tinyMCE.tableElement.outerHTML=tinyMCE.tableElement.outerHTML;tinyMCE.triggerNodeChange();return true;}html+='";for(var x=0;x';else html+='";}html+="";}html+="
';html+=" 
";inst.execCommand('mceInsertContent',false,html);}return true;case "mceTableInsertRowBefore":case "mceTableInsertRowAfter":case "mceTableDeleteRow":case "mceTableInsertColBefore":case "mceTableInsertColAfter":case "mceTableDeleteCol":var trElement=tinyMCE.getParentElement(inst.getFocusElement(),"tr");var tdElement=tinyMCE.getParentElement(inst.getFocusElement(),"td");var tableElement=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(!tableElement)return true;var doc=inst.contentWindow.document;var tableBorder=tableElement.getAttribute("border");var visualAidStyle=inst.visualAid?tinyMCE.settings['visual_table_style']:"";if(tableElement.firstChild&&tableElement.firstChild.nodeName.toLowerCase()=="tbody")tableElement=tableElement.firstChild;if(tableElement&&trElement){switch(command){case "mceTableInsertRowBefore":var numcells=trElement.cells.length;var rowCount=0;var tmpTR=trElement;while(tmpTR){if(tmpTR.nodeName.toLowerCase()=="tr")rowCount++;tmpTR=tmpTR.previousSibling;}var r=tableElement.insertRow(rowCount==0?1:rowCount-1);for(var i=0;inumCols)numCols=tableElement.rows[y].cells.length;}if(numCols<=1){if(tinyMCE.isGecko)inst.selectNode(selElm);tableElement.parentNode.removeChild(tableElement);tinyMCE.triggerNodeChange();return true;}for(var y=0;y0)selElm=tableElement.rows[0].cells[index-1];if(tinyMCE.isGecko)inst.selectNode(selElm);break;}tinyMCE.triggerNodeChange();}return true;}return false;}function TinyMCE_table_handleNodeChange(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){tinyMCE.switchClassSticky(editor_id+'_table','mceButtonNormal');tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonDisabled',true);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonDisabled',true);if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClassSticky(editor_id+'_row_props','mceButtonSelected',false);if(tinyMCE.getParentElement(node,"td")){tinyMCE.switchClassSticky(editor_id+'_cell_props','mceButtonSelected',false);tinyMCE.switchClassSticky(editor_id+'_row_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_row_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_row','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_before','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_col_after','mceButtonNormal',false);tinyMCE.switchClassSticky(editor_id+'_delete_col','mceButtonNormal',false);}if(tinyMCE.getParentElement(node,"table"))tinyMCE.switchClassSticky(editor_id+'_table','mceButtonSelected');} \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js index eeaca2195..93823ff2a 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js @@ -1,25 +1,28 @@ /* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('table', 'en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn'); +tinyMCE.importPluginLanguagePack('table', 'en,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,no,pl,pt,sv,tw,zh_cn,fr,de'); /** * Returns the HTML contents of the table control. */ function TinyMCE_table_getControlHTML(control_name) { var controls = new Array( - ['table', '', '{$lang_table_desc}', 'mceInsertTable', true], - ['delete_col', '', '{$lang_table_delete_col_desc}', 'mceTableDeleteCol'], - ['delete_row', '', '{$lang_table_delete_row_desc}', 'mceTableDeleteRow'], - ['col_after', '', '{$lang_table_insert_col_after_desc}', 'mceTableInsertColAfter'], - ['col_before', '', '{$lang_table_insert_col_before_desc}', 'mceTableInsertColBefore'], - ['row_after', '', '{$lang_table_insert_row_after_desc}', 'mceTableInsertRowAfter'], - ['row_before', '', '{$lang_table_insert_row_before_desc}', 'mceTableInsertRowBefore'], - ['row_props', '', '{$lang_table_row_desc}', 'mceTableRowProps', true], - ['cell_props', '', '{$lang_table_cell_desc}', 'mceTableCellProps', true]); + ['table', 'table.gif', '{$lang_table_desc}', 'mceInsertTable', true], + ['delete_col', 'table_delete_col.gif', '{$lang_table_delete_col_desc}', 'mceTableDeleteCol'], + ['delete_row', 'table_delete_row.gif', '{$lang_table_delete_row_desc}', 'mceTableDeleteRow'], + ['col_after', 'table_insert_col_after.gif', '{$lang_table_insert_col_after_desc}', 'mceTableInsertColAfter'], + ['col_before', 'table_insert_col_before.gif', '{$lang_table_insert_col_before_desc}', 'mceTableInsertColBefore'], + ['row_after', 'table_insert_row_after.gif', '{$lang_table_insert_row_after_desc}', 'mceTableInsertRowAfter'], + ['row_before', 'table_insert_row_before.gif', '{$lang_table_insert_row_before_desc}', 'mceTableInsertRowBefore'], + ['row_props', 'table_row_props.gif', '{$lang_table_row_desc}', 'mceTableRowProps', true], + ['cell_props', 'table_cell_props.gif', '{$lang_table_cell_desc}', 'mceTableCellProps', true]); // Render table control for (var i=0; i'; + else if (but[0] == control_name) return ''; } diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif index c17b5478e..7a7d93bca 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif new file mode 100644 index 000000000..f8a00544a Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif new file mode 100644 index 000000000..9e0f37392 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif new file mode 100644 index 000000000..0b2f0fb61 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif new file mode 100644 index 000000000..1997065fb Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif new file mode 100644 index 000000000..c30dafab6 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif new file mode 100644 index 000000000..5d1ff37af Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif new file mode 100644 index 000000000..c3aa15f93 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif new file mode 100644 index 000000000..c3271e549 Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif new file mode 100644 index 000000000..a53cdd8bf Binary files /dev/null and b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/de.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/de.js index cd70cd3eb..3810d1b4f 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/de.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/de.js @@ -1,11 +1,11 @@ -// DE lang variables, Translated 2004 by Crazy Chrissi, Edited 2004 by Krokogras +// DE lang variables tinyMCELang['lang_table_desc'] = 'Neue Tabelle einfügen / Tabelle bearbeiten'; -tinyMCELang['lang_table_insert_row_before_desc'] = 'Davor Zeile einfügen'; -tinyMCELang['lang_table_insert_row_after_desc'] = 'Danach Zeile einfügen'; +tinyMCELang['lang_table_insert_row_before_desc'] = 'Zeile davor einfügen'; +tinyMCELang['lang_table_insert_row_after_desc'] = 'Zeile danach einfügen'; tinyMCELang['lang_table_delete_row_desc'] = 'Zeile löschen'; -tinyMCELang['lang_table_insert_col_before_desc'] = 'Davor Spalte einfügen'; -tinyMCELang['lang_table_insert_col_after_desc'] = 'Danach Spalte einfügen'; +tinyMCELang['lang_table_insert_col_before_desc'] = 'Spalte davor einfügen'; +tinyMCELang['lang_table_insert_col_after_desc'] = ' Spalte danach einfügen'; tinyMCELang['lang_table_delete_col_desc'] = 'Spalte löschen'; tinyMCELang['lang_insert_table_title'] = 'Tabelle Einfügen/Bearbeiten'; tinyMCELang['lang_insert_table_width'] = 'Breite'; @@ -21,10 +21,10 @@ tinyMCELang['lang_insert_table_align_left'] = 'Links'; tinyMCELang['lang_insert_table_align_right'] = 'Rechts'; tinyMCELang['lang_insert_table_align_middle'] = 'Zentriert'; tinyMCELang['lang_insert_table_class'] = 'Klasse'; -tinyMCELang['lang_table_row_title'] = 'Table row properties'; -tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; -tinyMCELang['lang_table_row_desc'] = 'Table row properties'; -tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; -tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; -tinyMCELang['lang_insert_table_align_top'] = 'Top'; -tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; +tinyMCELang['lang_table_row_title'] = 'Zeileneigenschaften'; +tinyMCELang['lang_table_cell_title'] = 'Zelleneigenschaften'; +tinyMCELang['lang_table_row_desc'] = 'Reiheneigenschaften'; +tinyMCELang['lang_table_cell_desc'] = 'Zelleneigenschaften'; +tinyMCELang['lang_insert_table_valign'] = 'Vertikale Ausrichtung'; +tinyMCELang['lang_insert_table_align_top'] = 'Oben'; +tinyMCELang['lang_insert_table_align_bottom'] = 'Unten'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fa.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fa.js new file mode 100644 index 000000000..272259316 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fa.js @@ -0,0 +1,34 @@ +// IR lang variables +// Persian (Farsi) language pack (for IRAN) +// By: Morteza Zafari +// Lost@LostLord.com +// http://www.LostLord.com + +tinyMCELang['lang_table_desc'] = 'درج جدول جديد'; +tinyMCELang['lang_table_insert_row_before_desc'] = 'درج سطر جديد پيش از سطر فعلي'; +tinyMCELang['lang_table_insert_row_after_desc'] = 'درج سطر جديد پس از سطر فعلي'; +tinyMCELang['lang_table_delete_row_desc'] = 'حذف سطر'; +tinyMCELang['lang_table_insert_col_before_desc'] = 'درج ستون جديد پيش از ستوي فعلي'; +tinyMCELang['lang_table_insert_col_after_desc'] = 'درج ستون جديد پس از ستوي فعلي'; +tinyMCELang['lang_table_delete_col_desc'] = 'حذف ستون'; +tinyMCELang['lang_insert_table_title'] = 'درج و ويرايش جدول'; +tinyMCELang['lang_insert_table_width'] = 'عرض'; +tinyMCELang['lang_insert_table_height'] = 'ارتقاع'; +tinyMCELang['lang_insert_table_cols'] = 'تعداد ستونها'; +tinyMCELang['lang_insert_table_rows'] = 'تعداد سطرها'; +tinyMCELang['lang_insert_table_cellspacing'] = 'فاصله با سلول بعدی'; +tinyMCELang['lang_insert_table_cellpadding'] = 'حاشیه متن تا دیواره سلول'; +tinyMCELang['lang_insert_table_border'] = 'حاشيه'; +tinyMCELang['lang_insert_table_align'] = 'محل قرار گيري'; +tinyMCELang['lang_insert_table_align_default'] = 'پيش فرض'; +tinyMCELang['lang_insert_table_align_left'] = 'چپ'; +tinyMCELang['lang_insert_table_align_right'] = 'راست'; +tinyMCELang['lang_insert_table_align_middle'] = 'وسط'; +tinyMCELang['lang_insert_table_class'] = 'کلاس'; +tinyMCELang['lang_table_row_title'] = 'Table row properties'; +tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; +tinyMCELang['lang_table_row_desc'] = 'Table row properties'; +tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; +tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; +tinyMCELang['lang_insert_table_align_top'] = 'Top'; +tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fr.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fr.js new file mode 100644 index 000000000..c7a118a52 --- /dev/null +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fr.js @@ -0,0 +1,30 @@ +// French lang variables by Laurent Dran + +tinyMCELang['lang_table_desc'] = 'Insérer un nouveau tableau'; +tinyMCELang['lang_table_insert_row_before_desc'] = 'Insérer une ligne avant'; +tinyMCELang['lang_table_insert_row_after_desc'] = 'Insérer une ligne aprés'; +tinyMCELang['lang_table_delete_row_desc'] = 'Supprimer la ligne'; +tinyMCELang['lang_table_insert_col_before_desc'] = 'Insérer une colonne avant'; +tinyMCELang['lang_table_insert_col_after_desc'] = 'Insérer une colonne aprés'; +tinyMCELang['lang_table_delete_col_desc'] = 'Supprimer la colonne'; +tinyMCELang['lang_insert_table_title'] = 'Insérer/Modifier le tableau'; +tinyMCELang['lang_insert_table_width'] = 'Largeur'; +tinyMCELang['lang_insert_table_height'] = 'Hauteur'; +tinyMCELang['lang_insert_table_cols'] = 'Colonnes'; +tinyMCELang['lang_insert_table_rows'] = 'Lignes'; +tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; +tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; +tinyMCELang['lang_insert_table_border'] = 'Bordure'; +tinyMCELang['lang_insert_table_align'] = 'Alignement'; +tinyMCELang['lang_insert_table_align_default'] = 'Défaut'; +tinyMCELang['lang_insert_table_align_left'] = 'Gauche'; +tinyMCELang['lang_insert_table_align_right'] = 'Droit'; +tinyMCELang['lang_insert_table_align_middle'] = 'Milieu'; +tinyMCELang['lang_insert_table_class'] = 'Classe CSS'; +tinyMCELang['lang_table_row_title'] = 'Propriétés de la rangée'; +tinyMCELang['lang_table_cell_title'] = 'Propriétés de la cellule'; +tinyMCELang['lang_table_row_desc'] = 'Propriétés de la rangée'; +tinyMCELang['lang_table_cell_desc'] = 'Propriétés de la cellule'; +tinyMCELang['lang_insert_table_valign'] = 'Alignement Vertical'; +tinyMCELang['lang_insert_table_align_top'] = 'Haut'; +tinyMCELang['lang_insert_table_align_bottom'] = 'Bas'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_ca.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_ca.js index 4178cd14a..2c1a55e9d 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_ca.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/fr_ca.js @@ -1,13 +1,13 @@ // Canadian French lang variables by Virtuelcom -tinyMCELang['lang_table_desc'] = 'Insérer un nouveau tableau'; -tinyMCELang['lang_table_insert_row_before_desc'] = 'Insérer une ligne avant'; -tinyMCELang['lang_table_insert_row_after_desc'] = 'Insérer une ligne aprés'; +tinyMCELang['lang_table_desc'] = 'Insrer un nouveau tableau'; +tinyMCELang['lang_table_insert_row_before_desc'] = 'Insrer une ligne avant'; +tinyMCELang['lang_table_insert_row_after_desc'] = 'Insrer une ligne aprs'; tinyMCELang['lang_table_delete_row_desc'] = 'Supprimer la ligne'; -tinyMCELang['lang_table_insert_col_before_desc'] = 'Insérer une colonne avant'; -tinyMCELang['lang_table_insert_col_after_desc'] = 'Insérer une colonne aprés'; +tinyMCELang['lang_table_insert_col_before_desc'] = 'Insrer une colonne avant'; +tinyMCELang['lang_table_insert_col_after_desc'] = 'Insrer une colonne aprs'; tinyMCELang['lang_table_delete_col_desc'] = 'Supprimer la colonne'; -tinyMCELang['lang_insert_table_title'] = 'Insérer/Modifier le tableau'; +tinyMCELang['lang_insert_table_title'] = 'Insrer/Modifier le tableau'; tinyMCELang['lang_insert_table_width'] = 'Largeur'; tinyMCELang['lang_insert_table_height'] = 'Hauteur'; tinyMCELang['lang_insert_table_cols'] = 'Colonnes'; @@ -16,15 +16,15 @@ tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; tinyMCELang['lang_insert_table_border'] = 'Bordure'; tinyMCELang['lang_insert_table_align'] = 'Alignement'; -tinyMCELang['lang_insert_table_align_default'] = 'Défaut'; +tinyMCELang['lang_insert_table_align_default'] = 'Dfaut'; tinyMCELang['lang_insert_table_align_left'] = 'Gauche'; tinyMCELang['lang_insert_table_align_right'] = 'Droit'; tinyMCELang['lang_insert_table_align_middle'] = 'Milieu'; tinyMCELang['lang_insert_table_class'] = 'Classe CSS'; -tinyMCELang['lang_table_row_title'] = 'Table row properties'; -tinyMCELang['lang_table_cell_title'] = 'Table cell properties'; -tinyMCELang['lang_table_row_desc'] = 'Table row properties'; -tinyMCELang['lang_table_cell_desc'] = 'Table cell properties'; -tinyMCELang['lang_insert_table_valign'] = 'Vertical alignment'; -tinyMCELang['lang_insert_table_align_top'] = 'Top'; -tinyMCELang['lang_insert_table_align_bottom'] = 'Bottom'; +tinyMCELang['lang_table_row_title'] = 'Proprits de ligne'; +tinyMCELang['lang_table_cell_title'] = 'Proprits de cellule'; +tinyMCELang['lang_table_row_desc'] = 'Proprits de ligne'; +tinyMCELang['lang_table_cell_desc'] = 'Proprits de cellule'; +tinyMCELang['lang_insert_table_valign'] = 'Alignement vertical'; +tinyMCELang['lang_insert_table_align_top'] = 'Haut'; +tinyMCELang['lang_insert_table_align_bottom'] = 'Bas'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/sv.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/sv.js index eca659ace..c44eafc47 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/sv.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/langs/sv.js @@ -1,24 +1,24 @@ // SE lang variables tinyMCELang['lang_table_desc'] = 'Skapa ny tabell'; -tinyMCELang['lang_table_insert_row_before_desc'] = 'Skapa rad före'; +tinyMCELang['lang_table_insert_row_before_desc'] = 'Skapa rad före'; tinyMCELang['lang_table_insert_row_after_desc'] = 'Skapa rad efter'; tinyMCELang['lang_table_delete_row_desc'] = 'Ta bort rad'; -tinyMCELang['lang_table_insert_col_before_desc'] = 'Skapa kolumn före'; +tinyMCELang['lang_table_insert_col_before_desc'] = 'Skapa kolumn före'; tinyMCELang['lang_table_insert_col_after_desc'] = 'Skapa kolumn efter'; tinyMCELang['lang_table_delete_col_desc'] = 'Ta bort kolumn'; tinyMCELang['lang_insert_table_title'] = 'Skapa/Redigera tabell'; tinyMCELang['lang_insert_table_width'] = 'Bredd'; -tinyMCELang['lang_insert_table_height'] = 'Höjd'; +tinyMCELang['lang_insert_table_height'] = 'Höjd'; tinyMCELang['lang_insert_table_cols'] = 'Kolumner'; tinyMCELang['lang_insert_table_rows'] = 'Rader'; -tinyMCELang['lang_insert_table_cellspacing'] = 'Cellspacing'; -tinyMCELang['lang_insert_table_cellpadding'] = 'Cellpadding'; +tinyMCELang['lang_insert_table_cellspacing'] = 'Cellmellanrum'; +tinyMCELang['lang_insert_table_cellpadding'] = 'Cellutfyllnad'; tinyMCELang['lang_insert_table_border'] = 'Rambredd'; tinyMCELang['lang_insert_table_align'] = 'Justering'; tinyMCELang['lang_insert_table_align_default'] = 'Ingen'; -tinyMCELang['lang_insert_table_align_left'] = 'Vänster'; -tinyMCELang['lang_insert_table_align_right'] = 'Höger'; +tinyMCELang['lang_insert_table_align_left'] = 'Vänster'; +tinyMCELang['lang_insert_table_align_right'] = 'Höger'; tinyMCELang['lang_insert_table_align_middle'] = 'Mitten'; tinyMCELang['lang_insert_table_class'] = 'Stil'; tinyMCELang['lang_table_row_title'] = 'Tabellradsinställningar'; diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/row.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/row.htm index 2a1b094ca..2355003f6 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/row.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/row.htm @@ -1,6 +1,4 @@ - - - + {$lang_table_row_title} diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/table.htm b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/table.htm index 3495ff7b2..7e8105fe3 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/table/table.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/table/table.htm @@ -1,6 +1,4 @@ - - - + {$lang_insert_table_title} @@ -67,7 +65,7 @@ function init() { formObj.cellspacing.value = tinyMCE.getWindowArg('cellspacing'); formObj.width.value = tinyMCE.getWindowArg('width'); formObj.height.value = tinyMCE.getWindowArg('height'); - formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action')); + formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); window.focus(); } diff --git a/www/extras/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js b/www/extras/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js index 9e4e5b10f..8522c91a0 100755 --- a/www/extras/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js +++ b/www/extras/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js @@ -1,4 +1,4 @@ -/* Import theme specific language pack */ +/* Import plugin specific language pack */ function TinyMCE_zoom_getControlHTML(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0)return "";switch(control_name){case "zoom":return ' + @@ -90,7 +121,7 @@ if (url != null) var html = ""; html += '{$lang_image_list}:'; - html += ''; html += ''; for (var i=0; i'; document.getElementById('browser').innerHTML = html; } + // Auto select link in list + if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) { + for (var i=0; i - - + {$lang_theme_code_title} @@ -18,8 +16,8 @@ // Fixes some charcode issues function fixContent(html) { - html = html.replace(new RegExp(/<(p|hr|table|tr|td|ol|ul|object|embed|li|blockquote)/gi),'\n<$1'); - html = html.replace(new RegExp(/<\/(p|ol|ul|li|table|tr|td|blockquote|object)>/gi),'\n'); + html = html.replace(new RegExp('<(p|hr|table|tr|td|ol|ul|object|embed|li|blockquote)', 'gi'),'\n<$1'); + html = html.replace(new RegExp('<\/(p|ol|ul|li|table|tr|td|blockquote|object)>', 'gi'),'\n'); html = tinyMCE.regexpReplace(html, '
','
\n','gi'); html = tinyMCE.regexpReplace(html, '\n\n','\n','gi'); return html; diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css b/www/extras/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css index 36150d707..5324fc04f 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css +++ b/www/extras/tinymce/jscripts/tiny_mce/themes/default/editor_ui.css @@ -13,28 +13,23 @@ } .mceButtonOver { - border-top: 1px solid buttonhighlight; +/* border-top: 1px solid buttonhighlight; border-left: 1px solid buttonhighlight; border-bottom: 1px solid buttonshadow; - border-right: 1px solid buttonshadow; + border-right: 1px solid buttonshadow;*/ + border: 1px solid #0A246A; cursor: arrow; + background-color: #B6BDD2; } .mceButtonDown { - border-bottom: 1px solid buttonhighlight; +/* border-bottom: 1px solid buttonhighlight; border-right: 1px solid buttonhighlight; border-top: 1px solid buttonshadow; - border-left: 1px solid buttonshadow; - cursor: arrow; -} - -.mceButtonSelected { - border-bottom: 1px solid; - border-right: 1px solid; - border-top: 1px solid; - border-left: 1px solid; - border-color: #C0C0BB; + border-left: 1px solid buttonshadow;*/ cursor: arrow; + border: 1px solid #0A246A; + background-color: #8592B5; } .mceButtonDisabled { diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/image.htm b/www/extras/tinymce/jscripts/tiny_mce/themes/default/image.htm index 4689cf8b8..96de555d7 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/themes/default/image.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/themes/default/image.htm @@ -18,7 +18,7 @@ formObj.src.value = tinyMCE.getWindowArg('src'); formObj.alt.value = tinyMCE.getWindowArg('alt'); - formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action')); + formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); window.focus(); } diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bold.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bold.gif index 925229af7..31f004b24 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bold.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bold.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bullist.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bullist.gif index 55d86897b..12d0ec229 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bullist.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/bullist.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/center.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/center.gif index d4ba94d6a..a9e13e004 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/center.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/center.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cleanup.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cleanup.gif index 84ba6c7a9..87b8f87a2 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cleanup.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cleanup.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/copy.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/copy.gif index 5322f462e..f0b51871e 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/copy.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/copy.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cut.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cut.gif index 1eec71f9b..6a969e55b 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cut.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/cut.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/full.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/full.gif index a9ce564d1..5a78c6306 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/full.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/full.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/help.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/help.gif index b0db535f8..a5d67714b 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/help.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/help.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/image.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/image.gif index 1b9413e98..36109de73 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/image.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/image.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/indent.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/indent.gif index 2289066c5..7a17288c5 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/indent.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/indent.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/italic.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/italic.gif index 0bea69734..ec03278f3 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/italic.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/italic.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/left.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/left.gif index d2d19c1f2..4225e0077 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/left.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/left.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/link.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/link.gif index c1f2ca7e9..0de427490 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/link.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/link.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/numlist.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/numlist.gif index 0608c97f8..7ff907be7 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/numlist.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/numlist.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/outdent.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/outdent.gif index 0eb1077ff..53e89a77f 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/outdent.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/outdent.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/paste.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/paste.gif index b09eaea1b..a676604cf 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/paste.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/paste.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/redo.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/redo.gif index 75825568f..26a146bda 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/redo.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/redo.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/right.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/right.gif index c7cf3f067..88bfaf254 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/right.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/right.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/strikethrough.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/strikethrough.gif index dae104d40..ce7b65304 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/strikethrough.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/strikethrough.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/underline.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/underline.gif index 0809c025e..d6b8afdab 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/underline.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/underline.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/undo.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/undo.gif index bb9e1dbdd..b0722d06c 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/undo.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/undo.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/unlink.gif b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/unlink.gif index f653109b8..dd073a2b4 100644 Binary files a/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/unlink.gif and b/www/extras/tinymce/jscripts/tiny_mce/themes/default/images/unlink.gif differ diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/default/link.htm b/www/extras/tinymce/jscripts/tiny_mce/themes/default/link.htm index 57b38f495..013c9b157 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/themes/default/link.htm +++ b/www/extras/tinymce/jscripts/tiny_mce/themes/default/link.htm @@ -12,7 +12,7 @@ } document.forms[0].href.value = tinyMCE.getWindowArg('href'); - document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action')); + document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); window.focus(); } diff --git a/www/extras/tinymce/jscripts/tiny_mce/themes/simple/editor_ui.css b/www/extras/tinymce/jscripts/tiny_mce/themes/simple/editor_ui.css index 36150d707..5324fc04f 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/themes/simple/editor_ui.css +++ b/www/extras/tinymce/jscripts/tiny_mce/themes/simple/editor_ui.css @@ -13,28 +13,23 @@ } .mceButtonOver { - border-top: 1px solid buttonhighlight; +/* border-top: 1px solid buttonhighlight; border-left: 1px solid buttonhighlight; border-bottom: 1px solid buttonshadow; - border-right: 1px solid buttonshadow; + border-right: 1px solid buttonshadow;*/ + border: 1px solid #0A246A; cursor: arrow; + background-color: #B6BDD2; } .mceButtonDown { - border-bottom: 1px solid buttonhighlight; +/* border-bottom: 1px solid buttonhighlight; border-right: 1px solid buttonhighlight; border-top: 1px solid buttonshadow; - border-left: 1px solid buttonshadow; - cursor: arrow; -} - -.mceButtonSelected { - border-bottom: 1px solid; - border-right: 1px solid; - border-top: 1px solid; - border-left: 1px solid; - border-color: #C0C0BB; + border-left: 1px solid buttonshadow;*/ cursor: arrow; + border: 1px solid #0A246A; + background-color: #8592B5; } .mceButtonDisabled { diff --git a/www/extras/tinymce/jscripts/tiny_mce/tiny_mce.js b/www/extras/tinymce/jscripts/tiny_mce/tiny_mce.js index 09b53617b..e04bf9488 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/tiny_mce.js +++ b/www/extras/tinymce/jscripts/tiny_mce/tiny_mce.js @@ -6,4 +6,4 @@ * @author Moxiecode * @copyright Copyright 2004, Moxiecode Systems AB, All rights reserved. */ - function TinyMCE(){this.instances=new Array();this.stickyClassesLookup=new Array();this.windowArgs=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.idCounter=0;this.init=TinyMCE_init;this.addMCEControl=TinyMCE_addMCEControl;this.createMCEControl=TinyMCE_createMCEControl;this.triggerSave=TinyMCE_triggerSave;this._convertOnClick=TinyMCE__convertOnClick;this.resetForm=TinyMCE_resetForm;this.execCommand=TinyMCE_execCommand;this.execInstanceCommand=TinyMCE_execInstanceCommand;this._createIFrame=TinyMCE__createIFrame;this.handleEvent=TinyMCE_handleEvent;this.setupContent=TinyMCE_setupContent;this.switchClass=TinyMCE_switchClass;this.restoreAndSwitchClass=TinyMCE_restoreAndSwitchClass;this.switchClassSticky=TinyMCE_switchClassSticky;this.restoreClass=TinyMCE_restoreClass;this.setClassLock=TinyMCE_setClassLock;this.addEvent=TinyMCE_addEvent;this.onLoad=TinyMCE_onLoad;this.removeMCEControl=TinyMCE_removeMCEControl;this._initCleanup=TinyMCE__initCleanup;this._cleanupHTML=TinyMCE__cleanupHTML;this._cleanupAttribute=TinyMCE__cleanupAttribute;this._fixInlineStyles=TinyMCE__fixInlineStyles;this._cleanupElementName=TinyMCE__cleanupElementName;this._verifyClass=TinyMCE__verifyClass;this.cleanupNode=TinyMCE_cleanupNode;this.convertStringToXML=TinyMCE_convertStringToXML;this.insertLink=TinyMCE_insertLink;this.insertImage=TinyMCE_insertImage;this.getElementByAttributeValue=TinyMCE_getElementByAttributeValue;this.getElementsByAttributeValue=TinyMCE_getElementsByAttributeValue;this.getParentBlockElement=TinyMCE_getParentBlockElement;this.getParentElement=TinyMCE_getParentElement;this.getParam=TinyMCE_getParam;this.getLang=TinyMCE_getLang;this.replaceVar=TinyMCE_replaceVar;this.replaceVars=TinyMCE_replaceVars;this.triggerNodeChange=TinyMCE_triggerNodeChange;this.parseURL=TinyMCE_parseURL;this.convertAbsoluteURLToRelativeURL=TinyMCE_convertAbsoluteURLToRelativeURL;this.updateContent=TinyMCE_updateContent;this._customCleanup=TinyMCE__customCleanup;this.getContent=TinyMCE_getContent;this.setContent=TinyMCE_setContent;this.importThemeLanguagePack=TinyMCE_importThemeLanguagePack;this.importPluginLanguagePack=TinyMCE_importPluginLanguagePack;this.applyTemplate=TinyMCE_applyTemplate;this.openWindow=TinyMCE_openWindow;this.handleVisualAid=TinyMCE_handleVisualAid;this.setAttrib=TinyMCE_setAttrib;this.getAttrib=TinyMCE_getAttrib;this._getThemeFunction=TinyMCE__getThemeFunction;this._themeExecCommand=TinyMCE__themeExecCommand;this.getControlHTML=TinyMCE_getControlHTML;this._setHTML=TinyMCE__setHTML;this._getElementById=TinyMCE__getElementById;this.getInstanceById=TinyMCE_getInstanceById;this.getEditorId=TinyMCE_getEditorId;this.queryInstanceCommandValue=TinyMCE_queryInstanceCommandValue;this.queryInstanceCommandState=TinyMCE_queryInstanceCommandState;this.getWindowArg=TinyMCE_getWindowArg;this.setWindowArg=TinyMCE_setWindowArg;this.getCSSClasses=TinyMCE_getCSSClasses;this.regexpReplace=TinyMCE_regexpReplace;this.cleanupEventStr=TinyMCE_cleanupEventStr;this.getAbsPosition=TinyMCE_getAbsPosition;this.openFileBrowser=TinyMCE_openFileBrowser;}function TinyMCE_init(settings){var theme;this.settings=settings;function defParam(key,def_val){settings[key]=tinyMCE.getParam(key,def_val);}if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i');document.write('');document.write('');var themePlugins=tinyMCE.getParam('plugins','',true,',');if(this.settings['plugins']!=''){for(var i=0;i');}}function TinyMCE_confirmAdd(e){if(tinyMCE.isMSIE)var targetElement=event.srcElement;else var targetElement=e.target;var elementId=targetElement.name?targetElement.name:targetElement.id;if(!targetElement.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm']))tinyMCE.addMCEControl(targetElement,elementId,tinyMCE.createMCEControl(tinyMCE.settings));else targetElement.setAttribute('mce_noask','true');}function TinyMCE_updateContent(form_element_name){var formElement=document.getElementById(form_element_name);for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];if(instance.formElement==formElement){tinyMCE._setHTML(instance.contentWindow.document,instance.formElement.value);if(!tinyMCE.isMSIE)instance.contentWindow.document.body.innerHTML=tinyMCE._cleanupHTML(instance.contentWindow.document,this.settings,instance.contentWindow.document.body,instance.visualAid);}}}function TinyMCE_addMCEControl(replace_element,form_element_name,mce_control){var editorId="mce_editor_"+tinyMCE.idCounter++;mce_control.editorId=editorId;this.instances[editorId]=mce_control;mce_control.onAdd(replace_element,form_element_name);}function TinyMCE_createMCEControl(settings){return new TinyMCEControl(settings);}function TinyMCE_triggerSave(skip_cleanup,skip_callback){for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(instance.contentWindow.document,instance.contentWindow.document.body.innerHTML);var htm=skip_cleanup?instance.contentWindow.document.body.innerHTML:tinyMCE._cleanupHTML(instance.contentWindow.document,this.settings,instance.contentWindow.document.body,this.visualAid,true);if(tinyMCE.settings["encoding"]=="xml"||tinyMCE.settings["encoding"]=="html")htm=tinyMCE.convertStringToXML(htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(instance.formTargetElementId,htm,instance.contentWindow.document.body);");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"(","(","gi");htm=tinyMCE.regexpReplace(htm,")",")","gi");htm=tinyMCE.regexpReplace(htm,";",";","gi");htm=tinyMCE.regexpReplace(htm,""",""","gi");htm=tinyMCE.regexpReplace(htm,"^","^","gi");instance.formElement.value=htm;}}function TinyMCE__convertOnClick(node){if(tinyMCE.isMSIE5)return;var elms=node.getElementsByTagName("a");for(var i=0;i","gi");content=tinyMCE.regexpReplace(content,"\r","
","gi");content=tinyMCE.regexpReplace(content,"\n","
","gi");}content=tinyMCE._customCleanup("insert_to_editor",content);if(tinyMCE.isMSIE){var styleSheet=document.frames[editor_id].document.createStyleSheet(instance.settings['content_css']);window.setInterval('try{tinyMCE.getCSSClasses(document.frames["'+editor_id+'"].document, "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])document.frames[editor_id].document.styleSheets[0].addRule("p","margin: 0px;");var patchFunc=function(){var event=document.frames[editor_id].event;event.target=document.frames[editor_id].document;TinyMCE_handleEvent(event);};var body=document.frames[editor_id].document.body;body.onbeforepaste=patchFunc;body.onbeforecut=patchFunc;body.onpaste=patchFunc;body.editorId=editor_id;}else{var targetDocument=document.getElementById(editor_id).contentWindow.document;var cssImporter=targetDocument.createElement("link");cssImporter.rel="stylesheet";cssImporter.href=instance.settings['content_css'];if(headArr=targetDocument.getElementsByTagName("head"));headArr[0].appendChild(cssImporter);}if(!tinyMCE.isMSIE){if(tinyMCE.settings['force_p_newlines']){content=content.replace(new RegExp('<>','g'),"");}if(tinyMCE.settings['cleanup_on_startup']){var contentElement=instance.contentWindow.document.createElement("body");contentElement.innerHTML=content;instance.contentWindow.document.body.innerHTML=tinyMCE._cleanupHTML(instance.contentWindow.document,this.settings,contentElement);}else{var contentElement=instance.contentWindow.document.createElement("body");var doc=instance.contentWindow.document;content=tinyMCE.regexpReplace(content,"","","gi");content=tinyMCE.regexpReplace(content,"","","gi");contentElement.innerHTML=content;var elms=contentElement.getElementsByTagName("img");for(var i=0;i");rng.collapse(false);rng.select();tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case "keyup":case "keydown":if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(tinyMCE.selectedInstance._handleBackSpace()){e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.contentWindow.document.body,true,tinyMCE.settings['visual']);if(tinyMCE.isMSIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(13,45,36,35,33,34,37,38,39,40);var posKey=false;for(var i=0;i18&&e.keyCode!=255)){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");tinyMCE.selectedInstance.typing=true;tinyMCE.triggerNodeChange(false);}if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);var ctrlKeys=new Array(66,73,85,86,88);var keys=new Array(8,46);for(var i=0;i0){for(var i=0;i ";if(tinyMCE.isMSIE&&elementName=="script")return "<"+elementName+elementAttribs+">"+node.text+"";if(node.hasChildNodes()){if(elementName=="p"&&tinyMCE.cleanup_force_br_newlines)output+="";else output+="<"+elementName+elementAttribs+">";for(var i=0;i
";else output+="";}else{if(elementName=="a")output+="<"+elementName+elementAttribs+">";else{output+="<"+elementName+elementAttribs+" />";}}return output;case 3:if(node.parentNode.nodeName.toLowerCase()=="script")return node.nodeValue;return this.convertStringToXML(node.nodeValue);case 8:return "";default:return "[UNKNOWN NODETYPE "+node.nodeType+"]";}}function TinyMCE_convertStringToXML(html_data){var output="";for(var i=0;i','','gi');var html=this.cleanupNode(element);if(tinyMCE.settings['debug'])alert("Cleanup process executed in: "+(new Date().getTime()-startTime)+" ms.");html=tinyMCE.regexpReplace(html,'


','
');html=tinyMCE.regexpReplace(html,'

 


 

','
');if(!tinyMCE.isMSIE){html=html.replace(new RegExp('','g'),"");}if(tinyMCE.settings['apply_source_formatting']){html=html.replace(new RegExp('<(p|div)([^>]*)>','g'),"\n<$1$2>\n");html=html.replace(new RegExp('<\/(p|div)([^>]*)>','g'),"\n\n");html=html.replace(new RegExp('
','g'),"
\n");}if(tinyMCE.settings['force_br_newlines']){var re=new RegExp('

 

','g');html=html.replace(re,"
");}if(tinyMCE.settings['force_p_newlines']){var re=new RegExp('<>','g');html=html.replace(re,"");}if(html=="
"||html=="

 

")html="";html=tinyMCE._customCleanup(on_save?"get_from_editor":"insert_to_editor",html);if(tinyMCE.settings["preformatted"])return "
"+html+"
";return html;}function TinyMCE_insertLink(href,target,title,onclick){function setAttrib(element,name,value){if(value!=null&&value!="")element.setAttribute(name,value);else element.removeAttribute(name);}this.execCommand("mceAddUndoLevel");if(this.selectedInstance&&this.selectedElement&&this.selectedElement.nodeName.toLowerCase()=="img"){var doc=this.selectedInstance.contentWindow.document;var linkElement=doc.createElement("a");href=eval(tinyMCE.settings['urlconvertor_callback']+"(href, linkElement);");setAttrib(linkElement,'href',href);setAttrib(linkElement,'target',target);setAttrib(linkElement,'title',title);setAttrib(linkElement,'mce_onclick',onclick);linkElement.appendChild(this.selectedElement.cloneNode(true));this.selectedElement.parentNode.replaceChild(linkElement,this.selectedElement);return;}if(!this.linkElement&&this.selectedInstance){this.selectedInstance.contentDocument.execCommand("createlink",false,"#mce_temp_url#");tinyMCE.linkElement=this.getElementByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");var elementArray=this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");for(var i=0;i=strTok2.length){for(var i=0;i=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(strTok1.length=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(breakPoint==1)return url_to_relative;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outputString+="../";for(var i=breakPoint-1;i0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoIndex;undoLevels=inst.undoLevels.length;}var plugins=tinyMCE.getParam('plugins','',true,',');for(var i=0;i');}function TinyMCE_importPluginLanguagePack(theme_name,valid_languages){var lang="en";valid_languages=valid_languages.split(',');for(var i=0;i');}function TinyMCE_applyTemplate(html,args){html=tinyMCE.replaceVar(html,"themeurl",tinyMCE.themeURL);if(typeof(args)!="undefined")html=tinyMCE.replaceVars(html,args);html=tinyMCE.replaceVars(html,tinyMCE.settings);html=tinyMCE.replaceVars(html,tinyMCELang);return html;}function TinyMCE_openWindow(template,args){var html,width,height,x,y,resizable,scrollbars,url;args['mce_template_file']=template['file'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=template['width']))width=320;if(!(height=template['height']))height=200;if(tinyMCE.isMSIE)height+=30;x=parseInt(screen.width/2.0)-(width/2.0);y=parseInt(screen.height/2.0)-(height/2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];for(var name in args)url=tinyMCE.replaceVar(url,name,escape(args[name]));if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup","top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus();}else{if(tinyMCE.isMSIE&&resizable!='yes'){var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features);}else{var win=window.open(url,"mcePopup","top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);eval('try { win.resizeTo(width, height); } catch(e) { }');win.focus();}}}function TinyMCE_handleVisualAid(element,deep,state){var tableElement=null;switch(element.nodeName.toLowerCase()){case "table":var cssText=element.getAttribute("border")==0?tinyMCE.settings['visual_table_style']:"";var attribValue=element.style.pixelWidth==0?element.getAttribute("width"):element.style.pixelWidth;element.setAttribute("width",attribValue);attribValue=element.style.pixelHeight==0?element.getAttribute("height"):element.style.pixelHeight;element.setAttribute("height",attribValue);element.style.cssText=state?cssText:"";for(var y=0;y

','g');html_content=html_content.replace(re,"
");}doc.body.innerHTML=html_content;if(tinyMCE.isMSIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<\/o:p>","
");html=tinyMCE.regexpReplace(html," <\/o:p>","");html=tinyMCE.regexpReplace(html,"","");html=tinyMCE.regexpReplace(html,"

<\/p>","");html=tinyMCE.regexpReplace(html,"

<\/p>\r\n

<\/p>","");html=tinyMCE.regexpReplace(html,"

 <\/p>","
");html=tinyMCE.regexpReplace(html,"

\s*(

\s*)?","

");html=tinyMCE.regexpReplace(html,"<\/p>\s*(<\/p>\s*)?","

");}doc.body.innerHTML=html;}}function TinyMCE__getElementById(element_id){var elm=document.getElementById(element_id);if(!elm){for(var j=0;j0){var csses=null;eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(0).rules : doc.styleSheets[0].cssRules;} catch(e) {}");if(!csses)return null;for(var i=0;i0)tinyMCE.cssClasses=output;return output;}function TinyMCE_regexpReplace(in_str,reg_exp,replace_str,opts){if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);}function TinyMCE_cleanupEventStr(str){str=""+str;str=str.replace('function anonymous()\n{\n','');str=str.replace('\n}','');return str;}function TinyMCE_getAbsPosition(node){var x=0,y=0;var pos=new Object();var parentNode=node;while(parentNode){x+=parentNode.offsetLeft;y+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}pos.absLeft=x;pos.absTop=y;return pos;}function TinyMCE_openFileBrowser(field_name,url,type){var cb=tinyMCE.getParam("file_browser_callback");if(eval('typeof('+cb+')')=="undefined")alert("Callback function: "+cb+" could not be found.");else eval(cb+"(field_name, url, type);");}function TinyMCEControl(settings){this.undoLevels=new Array();this.undoIndex=0;this.settings=settings;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.execCommand=TinyMCEControl_execCommand;this.queryCommandValue=TinyMCEControl_queryCommandValue;this.queryCommandState=TinyMCEControl_queryCommandState;this.onAdd=TinyMCEControl_onAdd;this.getFocusElement=TinyMCEControl_getFocusElement;this.autoResetDesignMode=TinyMCEControl_autoResetDesignMode;this._insertPara=TinyMCEControl__insertPara;this._insertSpace=TinyMCEControl__insertSpace;this._handleBackSpace=TinyMCEControl__handleBackSpace;this.selectNode=TinyMCEControl_selectNode;}function TinyMCEControl_selectNode(node,collapse,select_text_node){if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(tinyMCE.isMSIE){var rng=this.contentWindow.document.body.createTextRange();rng.moveToElementText(node);if(collapse)rng.collapse(false);rng.select();}else{var rng=this.contentWindow.document.createRange();var sel=this.contentWindow.getSelection();if(select_text_node&&(node.firstChild&&node.firstChild.nodeType==3))rng.selectNodeContents(node.firstChild);else rng.selectNodeContents(node);if(collapse)rng.collapse(true);sel.removeAllRanges();sel.addRange(rng);}var pos=tinyMCE.getAbsPosition(node);var doc=this.contentWindow.document;var scrollX=doc.body.scrollLeft+doc.documentElement.scrollLeft;var scrollY=doc.body.scrollTop+doc.documentElement.scrollTop;var height=tinyMCE.isMSIE?document.getElementById(this.editorId).style.pixelHeight:parseInt(this.targetElement.style.height);if(!tinyMCE.settings['auto_resize']&&!(node.absTop>scrollY&&node.absTop<(scrollY-25+height)))this.contentWindow.scrollTo(pos.absLeft,pos.absTop-height+25);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node;}function TinyMCEControl__insertPara(){var doc=this.contentWindow.document;var sel=this.contentWindow.getSelection();var win=this.contentWindow;var rngBefore=doc.createRange();rngBefore.setStart(sel.anchorNode,sel.anchorOffset);rngBefore.collapse(true);var rngAfter=doc.createRange();rngAfter.setStart(sel.focusNode,sel.focusOffset);rngAfter.collapse(true);var direct=rngBefore.compareBoundaryPoints(rngBefore.START_TO_END,rngAfter)<0;var startNode=direct?sel.anchorNode:sel.focusNode;var startOffset=direct?sel.anchorOffset:sel.focusOffset;var endNode=direct?sel.focusNode:sel.anchorNode;var endOffset=direct?sel.focusOffset:sel.anchorOffset;var startBlock=tinyMCE.getParentBlockElement(startNode);var endBlock=tinyMCE.getParentBlockElement(endNode);if((startBlock!=null&&startBlock.nodeName.toLowerCase()=="li")||(endBlock!=null&&endBlock.nodeName.toLowerCase()=="li"))return false;if((startBlock!=null&&startBlock.nodeName.toLowerCase()=="table")||(endBlock!=null&&endBlock.nodeName.toLowerCase()=="table"))startBlock=endBlock=null;var paraBefore=(startBlock!=null&&startBlock.nodeName.toLowerCase()=="p")?startBlock.cloneNode(false):doc.createElement("p");var paraAfter=(endBlock!=null&&endBlock.nodeName.toLowerCase()=="p")?endBlock.cloneNode(false):doc.createElement("p");var startChop=startNode;var endChop=endNode;while((startChop.previousSibling&&startChop.previousSibling.nodeName.toLowerCase()!='p')||(startChop.parentNode&&startChop.parentNode!=startBlock&&startChop.parentNode.nodeType!=9))startChop=startChop.previousSibling?startChop.previousSibling:startChop.parentNode;while((endChop.nextSibling&&endChop.nextSibling.nodeName.toLowerCase()!='p')||(endChop.parentNode&&endChop.parentNode!=endBlock&&endChop.parentNode.nodeType!=9))endChop=endChop.nextSibling?endChop.nextSibling:endChop.parentNode;if(startChop.nodeName.toLowerCase()=="html")startChop=sel.focusNode;if(sel.focusNode.nodeName.toLowerCase()=="body"){var html=tinyMCE.regexpReplace(doc.body.innerHTML,"[ \t\r\n]","");if(html==""||html=="
"){doc.body.innerHTML="

 

 

";this.selectNode(doc.body.childNodes[1],true,true);return true;}}rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);paraAfter.appendChild(rngAfter.cloneContents());if(paraBefore.innerHTML=="")paraBefore.innerHTML=" ";if(paraAfter.innerHTML=="")paraAfter.innerHTML=" ";var rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toLowerCase()=='p')rng.setStartBefore(startChop.parentNode);else{if(rngBefore.startContainer.nodeName.toLowerCase()=='p'&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset);}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toLowerCase()=='p')rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();rng.insertNode(paraAfter);rng.insertNode(paraBefore);this.selectNode(paraAfter,true,true);return true;}function TinyMCEControl__insertSpace(){return true;}function TinyMCEControl__handleBackSpace(){var sel=this.contentWindow.getSelection();if(sel==null)return false;var rng=sel.getRangeAt(0);var node=rng.startContainer;while(node!=null&&(node=node.nextSibling)!=null){if(node.nodeName=='BR')node.parentNode.removeChild(node);else if(node.nodeType==1)break;}return false;}function TinyMCEControl_autoResetDesignMode(){if(!tinyMCE.isMSIE&&tinyMCE.settings['auto_reset_designmode']){var sel=this.contentWindow.getSelection();if(!sel||!sel.rangeCount||sel.rangeCount==0)eval('try { this.contentWindow.document.designMode = "On"; } catch(e) {}');}}function TinyMCEControl_execCommand(command,user_interface,value){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}if(!tinyMCE.isMSIE&&!this.useCSS){this.contentWindow.document.execCommand("useCSS",false,true);this.useCSS=true;}this.contentDocument=this.contentWindow.document;if(tinyMCE._themeExecCommand(this.editorId,this.contentDocument.body,command,user_interface,value))return;if(command!="mceAddUndoLevel"&&command!="Undo"&&command!="Redo"&&command!="mceImage"&&command!="mceLink"&&command!="mceToggleVisualAid"&&(command!="mceInsertTable"&&!user_interface))this.execCommand("mceAddUndoLevel");if(this.getFocusElement()&&this.getFocusElement().nodeName.toLowerCase()=="img"){var align=this.getFocusElement().getAttribute('align');switch(command){case "JustifyLeft":if(align=='left')this.getFocusElement().removeAttribute('align');else this.getFocusElement().setAttribute('align','left');tinyMCE.triggerNodeChange();return;case "JustifyCenter":if(align=='middle')this.getFocusElement().removeAttribute('align');else this.getFocusElement().setAttribute('align','middle');tinyMCE.triggerNodeChange();return;case "JustifyRight":if(align=='right')this.getFocusElement().removeAttribute('align');else this.getFocusElement().setAttribute('align','right');tinyMCE.triggerNodeChange();return;}}if(tinyMCE.settings['force_br_newlines']){var doc=this.contentWindow.document;var alignValue="";if(doc.selection.type!="Control"){switch(command){case "JustifyLeft":alignValue="left";break;case "JustifyCenter":alignValue="center";break;case "JustifyFull":alignValue="justify";break;case "JustifyRight":alignValue="right";break;}if(alignValue!=""){var rng=doc.selection.createRange();if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null)divElm.setAttribute("align",alignValue);else if(rng.pasteHTML&&rng.htmlText.length>0)rng.pasteHTML('
'+rng.htmlText+"
");tinyMCE.triggerNodeChange();return;}}}switch(command){case "mceSelectNode":this.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case "mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue;}if(i==value){this.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return;}parentNode=parentNode.parentNode;}break;case "HiliteColor":if(tinyMCE.isGecko){this.contentDocument.execCommand("useCSS",false,false);this.contentDocument.execCommand('hilitecolor',false,value);this.contentDocument.execCommand("useCSS",false,true);}else this.contentDocument.execCommand('backcolor',false,value);break;case "Cut":case "Copy":case "Paste":var cmdFailed=false;eval('try {this.contentDocument.execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.getLang('lang_clipboard_msg')))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return;}else tinyMCE.triggerNodeChange();break;case "mceLink":var selectedText="";if(tinyMCE.isMSIE){var doc=this.contentWindow.document;var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=this.contentWindow.getSelection().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return;}var href="",target="",title="",onclick="",action="insert";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=getAttrib(tinyMCE.linkElement,'href');target=getAttrib(tinyMCE.linkElement,'target');title=getAttrib(tinyMCE.linkElement,'title');onclick=getAttrib(tinyMCE.linkElement,'mce_onclick');if(onclick=="")onclick=getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);mceRealHref=getAttrib(tinyMCE.linkElement,'mce_real_href');if(mceRealHref!="")href=mceRealHref;href=eval(tinyMCE.settings['urlconvertor_callback']+"(href, tinyMCE.linkElement, true);");action="update";}if(this.settings['insertlink_callback']){var returnVal=eval(this.settings['insertlink_callback']+"(href, target, title, onclick, action);");if(returnVal&&returnVal['href'])tinyMCE.insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick']);}else{tinyMCE.openWindow(this.insertLinkTemplate,{href:href,target:target,title:title,onclick:onclick,action:action});}break;case "mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img")tinyMCE.imgElement=tinyMCE.selectedElement;if(tinyMCE.imgElement){var imgName=getAttrib(tinyMCE.imgElement,'name');if(imgName.substring(0,4)=='mce_')return;src=getAttrib(tinyMCE.imgElement,'src');alt=getAttrib(tinyMCE.imgElement,'alt');if(alt=="")alt=getAttrib(tinyMCE.imgElement,'title');border=getAttrib(tinyMCE.imgElement,'border');hspace=getAttrib(tinyMCE.imgElement,'hspace');vspace=getAttrib(tinyMCE.imgElement,'vspace');width=getAttrib(tinyMCE.imgElement,'width');height=getAttrib(tinyMCE.imgElement,'height');align=getAttrib(tinyMCE.imgElement,'align');onmouseover=getAttrib(tinyMCE.imgElement,'onmouseover');onmouseout=getAttrib(tinyMCE.imgElement,'onmouseout');title=getAttrib(tinyMCE.imgElement,'title');onmouseover=tinyMCE.cleanupEventStr(onmouseover);onmouseout=tinyMCE.cleanupEventStr(onmouseout);mceRealSrc=getAttrib(tinyMCE.imgElement,'mce_real_src');if(mceRealSrc!="")src=mceRealSrc;src=eval(tinyMCE.settings['urlconvertor_callback']+"(src, tinyMCE.imgElement, true);");action="update";}if(this.settings['insertimage_callback']){var returnVal=eval(this.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])tinyMCE.insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout']);}else tinyMCE.openWindow(this.insertImageTemplate,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action});break;case "mceCleanupWord":if(tinyMCE.isMSIE){var html=this.contentDocument.body.createTextRange().htmlText;if(html.indexOf('="mso')!=-1){tinyMCE._setHTML(this.contentDocument,this.contentDocument.body.innerHTML);html=tinyMCE._cleanupHTML(this.contentDocument,this.settings,this.contentDocument.body,this.visualAid);}this.contentDocument.body.innerHTML=html;}break;case "mceCleanup":tinyMCE._setHTML(this.contentDocument,this.contentDocument.body.innerHTML);this.contentDocument.body.innerHTML=tinyMCE._cleanupHTML(this.contentDocument,this.settings,this.contentDocument.body,this.visualAid);tinyMCE.triggerNodeChange();break;case "mceAnchor":if(!user_interface){var aElm=tinyMCE.getParentElement(this.getFocusElement(),"a","name");if(aElm){if(value==null||value==""){if(tinyMCE.isMSIE){aElm.outerHTML=aElm.innerHTML;}else{var rng=aElm.ownerDocument.createRange();rng.setStartBefore(aElm);rng.setEndAfter(aElm);rng.deleteContents();rng.insertNode(rng.createContextualFragment(aElm.innerHTML));}}else aElm.setAttribute('name',value);}else{this.contentDocument.execCommand("fontname",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.contentDocument.body,"font","face","#mce_temp_font#");for(var x=0;x0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value);}tinyMCE.triggerNodeChange();break;case "mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange();}}break;case "mceSetCSSClass":var selectedText=false;if(tinyMCE.isMSIE){var doc=this.contentWindow.document;var rng=doc.selection.createRange();selectedText=(rng.text&&rng.text.length>0);}else selectedText=(this.contentWindow.getSelection().toString().length>0);if(tinyMCE.selectedNode)tinyMCE.selectedElement=tinyMCE.selectedNode;if(selectedText&&!tinyMCE.selectedNode){this.contentDocument.execCommand("removeformat",false,null);this.contentDocument.execCommand("fontname",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.contentDocument.body,"font","face","#mce_temp_font#");for(var x=0;xcustomUndoLevels){for(var i=0;i0){this.undoIndex--;this.contentWindow.document.body.innerHTML=this.undoLevels[this.undoIndex];}tinyMCE.triggerNodeChange();}else this.contentDocument.execCommand(command,user_interface,value);break;case "Redo":if(tinyMCE.settings['custom_undo_redo']){if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;this.contentWindow.document.body.innerHTML=this.undoLevels[this.undoIndex];}tinyMCE.triggerNodeChange();}else this.contentDocument.execCommand(command,user_interface,value);break;case "mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.contentWindow.document.body,true,this.visualAid);tinyMCE.triggerNodeChange();break;default:this.contentDocument.execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();}}function TinyMCE_getControlHTML(control_name){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_getControlHTML";if(eval("typeof("+templateFunction+")")!='undefined'){var html=eval(templateFunction+"('"+control_name+"');");if(html!="")return tinyMCE.replaceVar(html,"pluginurl",tinyMCE.baseURL+"/plugins/"+themePlugins[i]);}}return eval('TinyMCE_'+tinyMCE.settings['theme']+"_getControlHTML"+"('"+control_name+"');");}function TinyMCE__themeExecCommand(editor_id,element,command,user_interface,value){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined'){if(eval(templateFunction+"(editor_id, element, command, user_interface, value);"))return true;}}templateFunction='TinyMCE_'+tinyMCE.settings['theme']+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined')return eval(templateFunction+"(editor_id, element, command, user_interface, value);");return false;}function TinyMCE__getThemeFunction(suffix,skip_plugins){if(skip_plugins)return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+suffix;if(eval("typeof("+templateFunction+")")!='undefined')return templateFunction;}return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;}function TinyMCEControl_queryCommandValue(command){return this.contentWindow.document.queryCommandValue(command);}function TinyMCEControl_queryCommandState(command){return this.contentWindow.document.queryCommandState(command);}function TinyMCEControl_onAdd(replace_element,form_element_name){tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false;}var templateFunction=tinyMCE._getThemeFunction('_getInsertLinkTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertLinkTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getInsertImageTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertImageTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getEditorTemplate');if(eval("typeof("+templateFunction+")")=='undefined'){alert("Error: Could not find the template function: "+templateFunction);return false;}var editorTemplate=eval(templateFunction+'(this.settings, this.editorId);');var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html=''+editorTemplate['html'];var templateFunction=tinyMCE._getThemeFunction('_handleNodeChange',true);if(eval("typeof("+templateFunction+")")!='undefined')this.settings['handleNodeChangeCallback']=templateFunction;html=tinyMCE.replaceVar(html,"editor_id",this.editorId);html=tinyMCE.replaceVar(html,"default_document",tinyMCE.baseURL+"/blank.htm");this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;this.settings['area_width']=this.settings['width'];this.settings['area_height']=this.settings['height'];this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName.toLowerCase()=="textarea")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName.toLowerCase()!="textarea"){this.oldTargetElement=replace_element.cloneNode(true);if(tinyMCE.settings['debug'])html+='';else html+='';html+='';if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.replaceChild(fragment,replace_element);}else replace_element.outerHTML=html;}else{html+='';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug'])this.oldTargetElement.style.display="none";if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.insertBefore(fragment,replace_element);}else replace_element.insertAdjacentHTML("beforeBegin",html);}var dynamicIFrame=false;var tElm=document.getElementById(this.editorId);if(!tinyMCE.isMSIE){if(tElm&&tElm.nodeName.toLowerCase()=="span"){tElm=tinyMCE._createIFrame(tElm);dynamicIFrame=true;}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName.toLowerCase()=="span")tElm=tinyMCE._createIFrame(tElm);else tElm=document.frames[this.editorId];this.targetElement=tElm;this.iframeElement=document.getElementById(this.editorId);this.contentDocument=tElm.window.document;this.contentWindow=tElm.window;this.contentDocument.designMode="on";}var doc=this.contentDocument;if(dynamicIFrame){var html=""+''+''+''+'blank_page'+''+''+''+''+'';try{this.contentWindow.document.designMode="on";doc.open();doc.write(html);doc.close();}catch(e){this.contentWindow.document.location.href=tinyMCE.baseURL+"/blank.htm";}}if(tinyMCE.isMSIE)window.setTimeout("TinyMCE_addEventHandlers('"+this.editorId+"');",1);tinyMCE.setupContent(this.editorId);return true;}function TinyMCEControl_getFocusElement(){if(tinyMCE.isMSIE){var doc=this.contentWindow.document;var rng=doc.selection.createRange();var elm=rng.item?rng.item(0):rng.parentElement();}else{var sel=this.contentWindow.getSelection();var elm=(sel&&sel.anchorNode)?sel.anchorNode:null;if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img")elm=tinyMCE.selectedElement;}return elm;}var tinyMCE=new TinyMCE();var tinyMCELang=new Array(); \ No newline at end of file + function TinyMCE(){this.instances=new Array();this.stickyClassesLookup=new Array();this.windowArgs=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.idCounter=0;this.init=TinyMCE_init;this.addMCEControl=TinyMCE_addMCEControl;this.triggerSave=TinyMCE_triggerSave;this._convertOnClick=TinyMCE__convertOnClick;this.resetForm=TinyMCE_resetForm;this.execCommand=TinyMCE_execCommand;this.execInstanceCommand=TinyMCE_execInstanceCommand;this._createIFrame=TinyMCE__createIFrame;this.handleEvent=TinyMCE_handleEvent;this.setupContent=TinyMCE_setupContent;this.switchClass=TinyMCE_switchClass;this.restoreAndSwitchClass=TinyMCE_restoreAndSwitchClass;this.switchClassSticky=TinyMCE_switchClassSticky;this.restoreClass=TinyMCE_restoreClass;this.setClassLock=TinyMCE_setClassLock;this.addEvent=TinyMCE_addEvent;this.onLoad=TinyMCE_onLoad;this.removeMCEControl=TinyMCE_removeMCEControl;this._initCleanup=TinyMCE__initCleanup;this._cleanupHTML=TinyMCE__cleanupHTML;this._cleanupAttribute=TinyMCE__cleanupAttribute;this._fixInlineStyles=TinyMCE__fixInlineStyles;this._cleanupElementName=TinyMCE__cleanupElementName;this._verifyClass=TinyMCE__verifyClass;this.cleanupNode=TinyMCE_cleanupNode;this.convertStringToXML=TinyMCE_convertStringToXML;this.insertLink=TinyMCE_insertLink;this.insertImage=TinyMCE_insertImage;this.getElementByAttributeValue=TinyMCE_getElementByAttributeValue;this.getElementsByAttributeValue=TinyMCE_getElementsByAttributeValue;this.isBlockElement=TinyMCE_isBlockElement;this.getParentBlockElement=TinyMCE_getParentBlockElement;this.getNodeTree=TinyMCE_getNodeTree;this.getParentElement=TinyMCE_getParentElement;this.getParam=TinyMCE_getParam;this.getLang=TinyMCE_getLang;this.replaceVar=TinyMCE_replaceVar;this.replaceVars=TinyMCE_replaceVars;this.triggerNodeChange=TinyMCE_triggerNodeChange;this.parseURL=TinyMCE_parseURL;this.convertAbsoluteURLToRelativeURL=TinyMCE_convertAbsoluteURLToRelativeURL;this.convertRelativeToAbsoluteURL=TinyMCE_convertRelativeToAbsoluteURL;this.updateContent=TinyMCE_updateContent;this._customCleanup=TinyMCE__customCleanup;this.getContent=TinyMCE_getContent;this.setContent=TinyMCE_setContent;this.importThemeLanguagePack=TinyMCE_importThemeLanguagePack;this.importPluginLanguagePack=TinyMCE_importPluginLanguagePack;this.applyTemplate=TinyMCE_applyTemplate;this.openWindow=TinyMCE_openWindow;this.handleVisualAid=TinyMCE_handleVisualAid;this.setAttrib=TinyMCE_setAttrib;this.getAttrib=TinyMCE_getAttrib;this._getThemeFunction=TinyMCE__getThemeFunction;this._themeExecCommand=TinyMCE__themeExecCommand;this.getControlHTML=TinyMCE_getControlHTML;this._setHTML=TinyMCE__setHTML;this._getElementById=TinyMCE__getElementById;this.getInstanceById=TinyMCE_getInstanceById;this.getEditorId=TinyMCE_getEditorId;this.queryInstanceCommandValue=TinyMCE_queryInstanceCommandValue;this.queryInstanceCommandState=TinyMCE_queryInstanceCommandState;this.getWindowArg=TinyMCE_getWindowArg;this.setWindowArg=TinyMCE_setWindowArg;this.getCSSClasses=TinyMCE_getCSSClasses;this.regexpReplace=TinyMCE_regexpReplace;this.cleanupEventStr=TinyMCE_cleanupEventStr;this.getAbsPosition=TinyMCE_getAbsPosition;this.openFileBrowser=TinyMCE_openFileBrowser;}function TinyMCE_init(settings){var theme,srcMode;this.settings=settings;function defParam(key,def_val){settings[key]=tinyMCE.getParam(key,def_val);}if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i');document.write('');document.write('');var themePlugins=tinyMCE.getParam('plugins','',true,',');if(this.settings['plugins']!=''){for(var i=0;i');}}function TinyMCE_confirmAdd(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;if(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm']))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true');}function TinyMCE_updateContent(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isMSIE)doc.body.innerHTML=tinyMCE._cleanupHTML(doc,this.settings,doc.body,inst.visualAid);}}}function TinyMCE_addMCEControl(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCEControl(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst.onAdd(replace_element,form_element_name,target_document);}function TinyMCE_triggerSave(skip_cleanup,skip_callback){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(inst.getDoc(),inst.getBody().innerHTML);var htm=skip_cleanup?inst.getBody().innerHTML:tinyMCE._cleanupHTML(inst.getDoc(),this.settings,inst.getBody(),this.visualAid,true);if(tinyMCE.settings["encoding"]=="xml"||tinyMCE.settings["encoding"]=="html")htm=tinyMCE.convertStringToXML(htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(inst.formTargetElementId,htm,inst.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"(","(","gi");htm=tinyMCE.regexpReplace(htm,")",")","gi");htm=tinyMCE.regexpReplace(htm,";",";","gi");htm=tinyMCE.regexpReplace(htm,""",""","gi");htm=tinyMCE.regexpReplace(htm,"^","^","gi");inst.formElement.value=htm;}}function TinyMCE__convertOnClick(node){if(tinyMCE.isMSIE5)return;var elms=node.getElementsByTagName("a");for(var i=0;i","gi");content=tinyMCE.regexpReplace(content,"\r","
","gi");content=tinyMCE.regexpReplace(content,"\n","
","gi");}content=tinyMCE._customCleanup("insert_to_editor",content);if(tinyMCE.isMSIE){var styleSheet=document.frames[editor_id].document.createStyleSheet(inst.settings['content_css']);window.setInterval('try{tinyMCE.getCSSClasses(document.frames["'+editor_id+'"].document, "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])document.frames[editor_id].document.styleSheets[0].addRule("p","margin: 0px;");var patchFunc=function(){var event=document.frames[editor_id].event;event.target=document.frames[editor_id].document;TinyMCE_handleEvent(event);};var body=document.frames[editor_id].document.body;body.onbeforepaste=patchFunc;body.onbeforecut=patchFunc;body.onpaste=patchFunc;body.editorId=editor_id;}else{var cssImporter=doc.createElement("link");cssImporter.rel="stylesheet";cssImporter.href=inst.settings['content_css'];if(headArr=doc.getElementsByTagName("head"));headArr[0].appendChild(cssImporter);}if(!tinyMCE.isMSIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.settings['force_p_newlines'])content=content.replace(new RegExp('<>','g'),"");if(tinyMCE.settings['cleanup_on_startup'])inst.getBody().innerHTML=tinyMCE._cleanupHTML(doc,this.settings,contentElement);else{content=tinyMCE.regexpReplace(content,"","","gi");content=tinyMCE.regexpReplace(content,"","","gi");inst.getBody().innerHTML=contentElement.innerHTML;}inst.convertAllRelativeURLs();}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {inst.getBody().innerHTML = tinyMCE._cleanupHTML(inst.contentDocument, this.settings, inst.getBody());} catch(e) {}');}else inst.getBody().innerHTML=content;}tinyMCE._convertOnClick(inst.getBody());var parentElm=document.getElementById(inst.editorId+'_parent');if(parentElm.lastChild.nodeName.toLowerCase()=="input")inst.formElement=parentElm.lastChild;else inst.formElement=parentElm.nextSibling;tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual']);inst.executeCallback('setupcontent_callback','_setupContent',0,editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isMSIE)TinyMCE_addEventHandlers(editor_id);tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE.triggerNodeChange(false,true);}function TinyMCE_handleEvent(e){switch(e.type){case "submit":var formObj=tinyMCE.isMSIE?window.event.srcElement:e.target;for(var i=0;i");rng.collapse(false);rng.select();tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case "keyup":case "keydown":if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(tinyMCE.selectedInstance._handleBackSpace(e.type)){e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual']);if(tinyMCE.isGecko&&tinyMCE.settings['document_base_url']!=""+document.location.href&&e.type=="keyup"&&e.ctrlKey&&e.keyCode==86)tinyMCE.selectedInstance.fixBrokenURLs();if(tinyMCE.isMSIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(13,45,36,35,33,34,37,38,39,40);var posKey=false;for(var i=0;i18&&e.keyCode!=255)){tinyMCE.selectedInstance.execCommand("mceAddUndoLevel");tinyMCE.selectedInstance.typing=true;tinyMCE.triggerNodeChange(false);}if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);var ctrlKeys=new Array(66,73,85,86,88);var keys=new Array(8,46);for(var i=0;i0){for(var i=0;i ";if(tinyMCE.isMSIE&&elementName=="script")return "<"+elementName+elementAttribs+">"+node.text+"";if(node.hasChildNodes()){if(elementName=="p"&&tinyMCE.cleanup_force_br_newlines)output+="";else output+="<"+elementName+elementAttribs+">";for(var i=0;i
";else output+="";}else{if(elementName=="a")output+="<"+elementName+elementAttribs+">";else{output+="<"+elementName+elementAttribs+" />";}}return output;case 3:if(node.parentNode.nodeName.toLowerCase()=="script")return node.nodeValue;return this.convertStringToXML(node.nodeValue);case 8:return "";default:return "[UNKNOWN NODETYPE "+node.nodeType+"]";}}function TinyMCE_convertStringToXML(html_data){var output="";for(var i=0;i[ \n\r]*
[ \n\r]*

','
','gi');element.innerHTML=tinyMCE.regexpReplace(element.innerHTML,'','','gi');}var html=this.cleanupNode(element);if(tinyMCE.settings['debug'])alert("Cleanup process executed in: "+(new Date().getTime()-startTime)+" ms.");html=tinyMCE.regexpReplace(html,'


','
');html=tinyMCE.regexpReplace(html,'

 


 

','
');if(!tinyMCE.isMSIE)html=html.replace(new RegExp('','g'),"");if(tinyMCE.settings['apply_source_formatting']){html=html.replace(new RegExp('<(p|div)([^>]*)>','g'),"\n<$1$2>\n");html=html.replace(new RegExp('<\/(p|div)([^>]*)>','g'),"\n\n");html=html.replace(new RegExp('
','g'),"
\n");}if(tinyMCE.settings['force_br_newlines']){var re=new RegExp('

 

','g');html=html.replace(re,"
");}if(tinyMCE.settings['force_p_newlines']){var re=new RegExp('<>','g');html=html.replace(re,"");}html=tinyMCE._customCleanup(on_save?"get_from_editor":"insert_to_editor",html);if(html=="
"||html=="
\n"||html=="

 

")html="";if(tinyMCE.settings["preformatted"])return "
"+html+"
";return html;}function TinyMCE_insertLink(href,target,title,onclick){function setAttrib(element,name,value){if(value!=null&&value!="")element.setAttribute(name,value);else element.removeAttribute(name);}this.execCommand("mceAddUndoLevel");if(this.selectedInstance&&this.selectedElement&&this.selectedElement.nodeName.toLowerCase()=="img"){var doc=this.selectedInstance.getDoc();var linkElement=doc.createElement("a");href=eval(tinyMCE.settings['urlconvertor_callback']+"(href, linkElement);");setAttrib(linkElement,'href',href);setAttrib(linkElement,'target',target);setAttrib(linkElement,'title',title);setAttrib(linkElement,'mce_onclick',onclick);linkElement.appendChild(this.selectedElement.cloneNode(true));this.selectedElement.parentNode.replaceChild(linkElement,this.selectedElement);return;}if(!this.linkElement&&this.selectedInstance){this.selectedInstance.contentDocument.execCommand("createlink",false,"#mce_temp_url#");tinyMCE.linkElement=this.getElementByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");var elementArray=this.getElementsByAttributeValue(this.selectedInstance.contentDocument.body,"a","href","#mce_temp_url#");for(var i=0;i=strTok2.length){for(var i=0;i=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(strTok1.length=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(breakPoint==1)return url_to_relative;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outputString+="../";for(var i=breakPoint-1;i=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i];}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue;}if(numBack>0){numBack--;continue;}newRelURLParts[newRelURLParts.length]=relURLParts[i];}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";if(baseURL['protocol'])start+=baseURL['protocol']+"://";if(baseURL['host'])start+=baseURL['host'];if(baseURL['port'])start+=":"+baseURL['port'];if(relURL['query'])end+="?"+relURL['query'];if(relURL['anchor'])end+="#"+relURL['anchor'];return start+absPath+end;}function TinyMCE_getParam(name,default_value,strip_whitespace,split_chr){var value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");if(strip_whitespace)value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");if(typeof(split_chr)!="undefined"&&split_chr!=null){value=value.split(split_chr);var outArray=new Array();for(var i=0;i0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoIndex;undoLevels=inst.undoLevels.length;}inst.executeCallback('handleNodeChangeCallback','_handleNodeChange',0,editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection);}}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus();}function TinyMCE__customCleanup(type,content){var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content);");var plugins=tinyMCE.getParam('plugins','',true,',');for(var i=0;i');}function TinyMCE_importPluginLanguagePack(name,valid_languages){var lang="en";valid_languages=valid_languages.split(',');for(var i=0;i');}function TinyMCE_applyTemplate(html,args){html=tinyMCE.replaceVar(html,"themeurl",tinyMCE.themeURL);if(typeof(args)!="undefined")html=tinyMCE.replaceVars(html,args);html=tinyMCE.replaceVars(html,tinyMCE.settings);html=tinyMCE.replaceVars(html,tinyMCELang);return html;}function TinyMCE_openWindow(template,args){var html,width,height,x,y,resizable,scrollbars,url;args['mce_template_file']=template['file'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=template['width']))width=320;if(!(height=template['height']))height=200;if(tinyMCE.isMSIE)height+=30;x=parseInt(screen.width/2.0)-(width/2.0);y=parseInt(screen.height/2.0)-(height/2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];for(var name in args)url=tinyMCE.replaceVar(url,name,escape(args[name]));if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup","top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus();}else{if(tinyMCE.isMSIE&&resizable!='yes'){var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features);}else{var win=window.open(url,"mcePopup","top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);eval('try { win.resizeTo(width, height); } catch(e) { }');win.focus();}}}function TinyMCE_handleVisualAid(element,deep,state){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var tableElement=null;switch(element.nodeName.toLowerCase()){case "table":var cssText=element.getAttribute("border")==0?tinyMCE.settings['visual_table_style']:"";var oldW=element.style.width;var oldH=element.style.height;element.style.cssText=state?cssText:"";element.style.width=oldW;element.style.height=oldH;for(var y=0;y

','g');html_content=html_content.replace(re,"
");}doc.body.innerHTML=html_content;if(tinyMCE.isMSIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<\/o:p>","
");html=tinyMCE.regexpReplace(html," <\/o:p>","");html=tinyMCE.regexpReplace(html,"","");html=tinyMCE.regexpReplace(html,"

<\/p>","");html=tinyMCE.regexpReplace(html,"

<\/p>\r\n

<\/p>","");html=tinyMCE.regexpReplace(html,"

 <\/p>","
");html=tinyMCE.regexpReplace(html,"

\s*(

\s*)?","

");html=tinyMCE.regexpReplace(html,"<\/p>\s*(<\/p>\s*)?","

");}doc.body.innerHTML=html;}}function TinyMCE__getElementById(element_id){var elm=document.getElementById(element_id);if(!elm){for(var j=0;j0){var csses=null;eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(0).rules : doc.styleSheets[0].cssRules;} catch(e) {}");if(!csses)return new Array();for(var i=0;i0)tinyMCE.cssClasses=output;return output;}function TinyMCE_regexpReplace(in_str,reg_exp,replace_str,opts){if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);}function TinyMCE_cleanupEventStr(str){str=""+str;str=str.replace('function anonymous()\n{\n','');str=str.replace('\n}','');return str;}function TinyMCE_getAbsPosition(node){var pos=new Object();pos.absLeft=pos.absTop=0;var parentNode=node;while(parentNode){pos.absLeft+=parentNode.offsetLeft;pos.absTop+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}return pos;}function TinyMCE_openFileBrowser(field_name,url,type,win){var cb=tinyMCE.getParam("file_browser_callback");this.setWindowArg("window",win);if(eval('typeof('+cb+')')=="undefined")alert("Callback function: "+cb+" could not be found.");else eval(cb+"(field_name, url, type, win);");}function TinyMCE_getControlHTML(control_name){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_getControlHTML";if(eval("typeof("+templateFunction+")")!='undefined'){var html=eval(templateFunction+"('"+control_name+"');");if(html!="")return tinyMCE.replaceVar(html,"pluginurl",tinyMCE.baseURL+"/plugins/"+themePlugins[i]);}}return eval('TinyMCE_'+tinyMCE.settings['theme']+"_getControlHTML"+"('"+control_name+"');");}function TinyMCE__themeExecCommand(editor_id,element,command,user_interface,value){var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined'){if(eval(templateFunction+"(editor_id, element, command, user_interface, value);"))return true;}}templateFunction='TinyMCE_'+tinyMCE.settings['theme']+"_execCommand";if(eval("typeof("+templateFunction+")")!='undefined')return eval(templateFunction+"(editor_id, element, command, user_interface, value);");return false;}function TinyMCE__getThemeFunction(suffix,skip_plugins){if(skip_plugins)return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;var themePlugins=tinyMCE.getParam('plugins','',true,',');var templateFunction;for(var i=themePlugins.length;i>=0;i--){templateFunction='TinyMCE_'+themePlugins[i]+suffix;if(eval("typeof("+templateFunction+")")!='undefined')return templateFunction;}return 'TinyMCE_'+tinyMCE.settings['theme']+suffix;}function TinyMCEControl(settings){this.undoLevels=new Array();this.undoIndex=0;this.settings=settings;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.executeCallback=TinyMCEControl_executeCallback;this.fixBrokenURLs=TinyMCEControl_fixBrokenURLs;this.convertAllRelativeURLs=TinyMCEControl_convertAllRelativeURLs;this.execCommand=TinyMCEControl_execCommand;this.queryCommandValue=TinyMCEControl_queryCommandValue;this.queryCommandState=TinyMCEControl_queryCommandState;this.onAdd=TinyMCEControl_onAdd;this.getFocusElement=TinyMCEControl_getFocusElement;this.autoResetDesignMode=TinyMCEControl_autoResetDesignMode;this._insertPara=TinyMCEControl__insertPara;this._insertSpace=TinyMCEControl__insertSpace;this._handleBackSpace=TinyMCEControl__handleBackSpace;this.selectNode=TinyMCEControl_selectNode;this.getBody=TinyMCEControl_getBody;this.getDoc=TinyMCEControl_getDoc;this.getWin=TinyMCEControl_getWin;this.getSel=TinyMCEControl_getSel;this.getRng=TinyMCEControl_getRng;}function TinyMCEControl_executeCallback(param,suffix,mode){function isFunc(func_name){if(func_name==null||func_name=="")return false;return eval("typeof("+func_name+")")!="undefined";}function exec(func_name,args){var str=func_name+'(';for(var i=3;i0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node);}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length);}else rng.collapse(to_start);}sel.removeAllRanges();sel.addRange(rng);}var pos=tinyMCE.getAbsPosition(node);var doc=this.getDoc();var scrollX=doc.body.scrollLeft+doc.documentElement.scrollLeft;var scrollY=doc.body.scrollTop+doc.documentElement.scrollTop;var height=tinyMCE.isMSIE?document.getElementById(this.editorId).style.pixelHeight:parseInt(this.targetElement.style.height);if(!tinyMCE.settings['auto_resize']&&!(node.absTop>scrollY&&node.absTop<(scrollY-25+height)))this.contentWindow.scrollTo(pos.absLeft,pos.absTop-height+25);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node;}function TinyMCEControl_getBody(){return this.getDoc().body;}function TinyMCEControl_getDoc(){return this.contentWindow.document;}function TinyMCEControl_getWin(){return this.contentWindow;}function TinyMCEControl_getSel(){if(tinyMCE.isMSIE)return this.getDoc().selection;return this.contentWindow.getSelection();}function TinyMCEControl_getRng(){var sel=this.getSel();if(sel==null)return null;if(tinyMCE.isMSIE)return sel.createRange();return this.getSel().getRangeAt(0);}function TinyMCEControl__insertPara(e){function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()=="";}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i0)rng.pasteHTML('
'+rng.htmlText+"
");tinyMCE.triggerNodeChange();return;}}}switch(command){case "mceSelectNode":this.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case "mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue;}if(i==value){this.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return;}parentNode=parentNode.parentNode;}break;case "HiliteColor":if(tinyMCE.isGecko){this.contentDocument.execCommand("useCSS",false,false);this.contentDocument.execCommand('hilitecolor',false,value);this.contentDocument.execCommand("useCSS",false,true);}else this.contentDocument.execCommand('backcolor',false,value);break;case "Cut":case "Copy":case "Paste":var cmdFailed=false;eval('try {this.contentDocument.execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.getLang('lang_clipboard_msg')))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return;}else tinyMCE.triggerNodeChange();break;case "mceLink":var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=this.contentWindow.getSelection().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return;}var href="",target="",title="",onclick="",action="insert";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=getAttrib(tinyMCE.linkElement,'href');target=getAttrib(tinyMCE.linkElement,'target');title=getAttrib(tinyMCE.linkElement,'title');onclick=getAttrib(tinyMCE.linkElement,'mce_onclick');if(onclick=="")onclick=getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);mceRealHref=getAttrib(tinyMCE.linkElement,'mce_real_href');if(mceRealHref!="")href=mceRealHref;href=eval(tinyMCE.settings['urlconvertor_callback']+"(href, tinyMCE.linkElement, true);");action="update";}if(this.settings['insertlink_callback']){var returnVal=eval(this.settings['insertlink_callback']+"(href, target, title, onclick, action);");if(returnVal&&returnVal['href'])tinyMCE.insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick']);}else{tinyMCE.openWindow(this.insertLinkTemplate,{href:href,target:target,title:title,onclick:onclick,action:action});}break;case "mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img")tinyMCE.imgElement=tinyMCE.selectedElement;if(tinyMCE.imgElement){var imgName=getAttrib(tinyMCE.imgElement,'name');if(imgName.substring(0,4)=='mce_')return;src=getAttrib(tinyMCE.imgElement,'src');alt=getAttrib(tinyMCE.imgElement,'alt');if(alt=="")alt=getAttrib(tinyMCE.imgElement,'title');border=getAttrib(tinyMCE.imgElement,'border');hspace=getAttrib(tinyMCE.imgElement,'hspace');vspace=getAttrib(tinyMCE.imgElement,'vspace');width=getAttrib(tinyMCE.imgElement,'width');height=getAttrib(tinyMCE.imgElement,'height');align=getAttrib(tinyMCE.imgElement,'align');onmouseover=getAttrib(tinyMCE.imgElement,'onmouseover');onmouseout=getAttrib(tinyMCE.imgElement,'onmouseout');title=getAttrib(tinyMCE.imgElement,'title');onmouseover=tinyMCE.cleanupEventStr(onmouseover);onmouseout=tinyMCE.cleanupEventStr(onmouseout);mceRealSrc=getAttrib(tinyMCE.imgElement,'mce_real_src');if(mceRealSrc!="")src=mceRealSrc;src=eval(tinyMCE.settings['urlconvertor_callback']+"(src, tinyMCE.imgElement, true);");action="update";}if(this.settings['insertimage_callback']){var returnVal=eval(this.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])tinyMCE.insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout']);}else tinyMCE.openWindow(this.insertImageTemplate,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action});break;case "mceCleanupWord":if(tinyMCE.isMSIE){var html=this.contentDocument.body.createTextRange().htmlText;if(html.indexOf('="mso')!=-1){tinyMCE._setHTML(this.contentDocument,this.contentDocument.body.innerHTML);html=tinyMCE._cleanupHTML(this.contentDocument,this.settings,this.contentDocument.body,this.visualAid);}this.contentDocument.body.innerHTML=html;}break;case "mceCleanup":tinyMCE._setHTML(this.contentDocument,this.contentDocument.body.innerHTML);this.contentDocument.body.innerHTML=tinyMCE._cleanupHTML(this.contentDocument,this.settings,this.contentDocument.body,this.visualAid);tinyMCE.triggerNodeChange();break;case "mceAnchor":if(!user_interface){var aElm=tinyMCE.getParentElement(this.getFocusElement(),"a","name");if(aElm){if(value==null||value==""){if(tinyMCE.isMSIE){aElm.outerHTML=aElm.innerHTML;}else{var rng=aElm.ownerDocument.createRange();rng.setStartBefore(aElm);rng.setEndAfter(aElm);rng.deleteContents();rng.insertNode(rng.createContextualFragment(aElm.innerHTML));}}else aElm.setAttribute('name',value);}else{this.contentDocument.execCommand("fontname",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.contentDocument.body,"font","face","#mce_temp_font#");for(var x=0;x0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value);}tinyMCE.triggerNodeChange();break;case "mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange();}}break;case "mceSetCSSClass":var selectedText=false;if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=(rng.text&&rng.text.length>0);}else selectedText=(this.contentWindow.getSelection().toString().length>0);if(tinyMCE.selectedNode)tinyMCE.selectedElement=tinyMCE.selectedNode;if(selectedText&&!tinyMCE.selectedNode){this.contentDocument.execCommand("removeformat",false,null);this.contentDocument.execCommand("fontname",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.contentDocument.body,"font","face","#mce_temp_font#");for(var x=0;xcustomUndoLevels){for(var i=0;i0){this.undoIndex--;this.getBody().innerHTML=this.undoLevels[this.undoIndex];}tinyMCE.triggerNodeChange();}else this.contentDocument.execCommand(command,user_interface,value);break;case "Redo":if(tinyMCE.settings['custom_undo_redo']){if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;this.getBody().innerHTML=this.undoLevels[this.undoIndex];}tinyMCE.triggerNodeChange();}else this.contentDocument.execCommand(command,user_interface,value);break;case "mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid);tinyMCE.triggerNodeChange();break;case "removeformat":if(tinyMCE.isMSIE){try{var rng=doc.selection.createRange();rng.pasteHTML(rng.text);}catch(e){}}else this.contentDocument.execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;default:this.contentDocument.execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();}}function TinyMCEControl_queryCommandValue(command){return this.getDoc().queryCommandValue(command);}function TinyMCEControl_queryCommandState(command){return this.getDoc().queryCommandState(command);}function TinyMCEControl_onAdd(replace_element,form_element_name,target_document){var targetDoc=target_document?target_document:document;this.targetDoc=targetDoc;tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false;}var templateFunction=tinyMCE._getThemeFunction('_getInsertLinkTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertLinkTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getInsertImageTemplate');if(eval("typeof("+templateFunction+")")!='undefined')this.insertImageTemplate=eval(templateFunction+'(this.settings);');var templateFunction=tinyMCE._getThemeFunction('_getEditorTemplate');if(eval("typeof("+templateFunction+")")=='undefined'){alert("Error: Could not find the template function: "+templateFunction);return false;}var editorTemplate=eval(templateFunction+'(this.settings, this.editorId);');var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html=''+editorTemplate['html'];var templateFunction=tinyMCE._getThemeFunction('_handleNodeChange',true);if(eval("typeof("+templateFunction+")")!='undefined')this.settings['handleNodeChangeCallback']=templateFunction;html=tinyMCE.replaceVar(html,"editor_id",this.editorId);html=tinyMCE.replaceVar(html,"default_document",tinyMCE.baseURL+"/blank.htm");this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;if(replace_element.offsetWidth==0)this.settings['width']=320;if(replace_element.offsetHeight==0)this.settings['height']=240;this.settings['area_width']=parseInt(this.settings['width']);this.settings['area_height']=parseInt(this.settings['height']);this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName.toLowerCase()=="textarea")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName.toLowerCase()!="textarea"){this.oldTargetElement=replace_element.cloneNode(true);if(tinyMCE.settings['debug'])html+='';else html+='';html+='';if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.replaceChild(fragment,replace_element);}else replace_element.outerHTML=html;}else{html+='';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug'])this.oldTargetElement.style.display="none";if(!tinyMCE.isMSIE){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);replace_element.parentNode.insertBefore(fragment,replace_element);}else replace_element.insertAdjacentHTML("beforeBegin",html);}var dynamicIFrame=false;var tElm=targetDoc.getElementById(this.editorId);if(!tinyMCE.isMSIE){if(tElm&&tElm.nodeName.toLowerCase()=="span"){tElm=tinyMCE._createIFrame(tElm);dynamicIFrame=true;}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName.toLowerCase()=="span")tElm=tinyMCE._createIFrame(tElm);else tElm=targetDoc.frames[this.editorId];this.targetElement=tElm;this.iframeElement=targetDoc.getElementById(this.editorId);this.contentDocument=tElm.window.document;this.contentWindow=tElm.window;this.contentDocument.designMode="on";}var doc=this.contentDocument;if(dynamicIFrame){var html=""+''+''+''+''+'blank_page'+''+''+''+''+'';try{this.getDoc().designMode="on";doc.open();doc.write(html);doc.close();}catch(e){this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm";}}if(tinyMCE.isMSIE)window.setTimeout("TinyMCE_addEventHandlers('"+this.editorId+"');",1);tinyMCE.setupContent(this.editorId,true);return true;}function TinyMCEControl_getFocusElement(){if(tinyMCE.isMSIE){var doc=this.getDoc();var rng=doc.selection.createRange();var elm=rng.item?rng.item(0):rng.parentElement();}else{var sel=this.contentWindow.getSelection();var elm=(sel&&sel.anchorNode)?sel.anchorNode:null;if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img")elm=tinyMCE.selectedElement;}return elm;}var tinyMCE=new TinyMCE();var tinyMCELang=new Array(); \ No newline at end of file diff --git a/www/extras/tinymce/jscripts/tiny_mce/tiny_mce_src.js b/www/extras/tinymce/jscripts/tiny_mce/tiny_mce_src.js index a282cbdac..dab46b57b 100644 --- a/www/extras/tinymce/jscripts/tiny_mce/tiny_mce_src.js +++ b/www/extras/tinymce/jscripts/tiny_mce/tiny_mce_src.js @@ -24,7 +24,6 @@ function TinyMCE() { // Editor functions this.init = TinyMCE_init; this.addMCEControl = TinyMCE_addMCEControl; - this.createMCEControl = TinyMCE_createMCEControl; this.triggerSave = TinyMCE_triggerSave; this._convertOnClick = TinyMCE__convertOnClick; this.resetForm = TinyMCE_resetForm; @@ -53,7 +52,9 @@ function TinyMCE() { this.insertImage = TinyMCE_insertImage; this.getElementByAttributeValue = TinyMCE_getElementByAttributeValue; this.getElementsByAttributeValue = TinyMCE_getElementsByAttributeValue; + this.isBlockElement = TinyMCE_isBlockElement; this.getParentBlockElement = TinyMCE_getParentBlockElement; + this.getNodeTree = TinyMCE_getNodeTree; this.getParentElement = TinyMCE_getParentElement; this.getParam = TinyMCE_getParam; this.getLang = TinyMCE_getLang; @@ -62,6 +63,7 @@ function TinyMCE() { this.triggerNodeChange = TinyMCE_triggerNodeChange; this.parseURL = TinyMCE_parseURL; this.convertAbsoluteURLToRelativeURL = TinyMCE_convertAbsoluteURLToRelativeURL; + this.convertRelativeToAbsoluteURL = TinyMCE_convertRelativeToAbsoluteURL; this.updateContent = TinyMCE_updateContent; this._customCleanup = TinyMCE__customCleanup; this.getContent = TinyMCE_getContent; @@ -92,7 +94,7 @@ function TinyMCE() { } function TinyMCE_init(settings) { - var theme; + var theme, srcMode; this.settings = settings; @@ -112,6 +114,7 @@ function TinyMCE_init(settings) { if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1)) { var src = elements[i].src; + srcMode = (src.indexOf('_src') != -1) ? '_src' : ''; src = src.substring(0, src.lastIndexOf('/')); tinyMCE.baseURL = src; @@ -161,7 +164,7 @@ function TinyMCE_init(settings) { defParam("custom_undo_redo", true); defParam("custom_undo_redo_levels", -1); defParam("custom_undo_redo_keyboard_shortcuts", true); - defParam("verify_css_classes", true); + defParam("verify_css_classes", false); defParam("trim_span_elements", true); defParam("verify_html", true); defParam("apply_source_formatting", false); @@ -177,6 +180,7 @@ function TinyMCE_init(settings) { defParam("ask", false); defParam("nowrap", false); defParam("auto_resize", false); + defParam("auto_focus", false); // Setup baseHREF var baseHREF = tinyMCE.settings['document_base_url']; @@ -186,6 +190,8 @@ function TinyMCE_init(settings) { theme = this.settings['theme']; + this.blockRegExp = new RegExp("^(h1|h2|h3|h4|h5|h6|p|div|address|pre|form|table|li|ol|ul|td)$", "i"); + // Theme url this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme; @@ -241,7 +247,7 @@ function TinyMCE_init(settings) { this._initCleanup(); tinyMCE.addEvent(window, "load", TinyMCE_onLoad); - document.write(''); + document.write(''); document.write(''); document.write(''); @@ -249,53 +255,50 @@ function TinyMCE_init(settings) { var themePlugins = tinyMCE.getParam('plugins', '', true, ','); if (this.settings['plugins'] != '') { for (var i=0; i'); + document.write(''); } } function TinyMCE_confirmAdd(e) { - if (tinyMCE.isMSIE) - var targetElement = event.srcElement; - else - var targetElement = e.target; + var elm = tinyMCE.isMSIE ? event.srcElement : e.target; + var elementId = elm.name ? elm.name : elm.id; - var elementId = targetElement.name ? targetElement.name : targetElement.id; + if (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])) + tinyMCE.addMCEControl(elm, elementId); - if (!targetElement.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])) - tinyMCE.addMCEControl(targetElement, elementId, tinyMCE.createMCEControl(tinyMCE.settings)); - else - targetElement.setAttribute('mce_noask', 'true'); + elm.setAttribute('mce_noask', 'true'); } function TinyMCE_updateContent(form_element_name) { - // find MCE instance linked to given form element and copy it's value + // Find MCE instance linked to given form element and copy it's value var formElement = document.getElementById(form_element_name); - for (var instanceName in tinyMCE.instances) { - var instance = tinyMCE.instances[instanceName]; - if (instance.formElement == formElement) { - tinyMCE._setHTML(instance.contentWindow.document, instance.formElement.value); + for (var n in tinyMCE.instances) { + var inst = tinyMCE.instances[n]; + if (inst.formElement == formElement) { + var doc = inst.getDoc(); + + tinyMCE._setHTML(doc, inst.formElement.value); if (!tinyMCE.isMSIE) - instance.contentWindow.document.body.innerHTML = tinyMCE._cleanupHTML(instance.contentWindow.document, this.settings, instance.contentWindow.document.body, instance.visualAid); + doc.body.innerHTML = tinyMCE._cleanupHTML(doc, this.settings, doc.body, inst.visualAid); } } } -function TinyMCE_addMCEControl(replace_element, form_element_name, mce_control) { - var editorId = "mce_editor_" + tinyMCE.idCounter++; - mce_control.editorId = editorId; - this.instances[editorId] = mce_control; - mce_control.onAdd(replace_element, form_element_name); -} +function TinyMCE_addMCEControl(replace_element, form_element_name, target_document) { + var id = "mce_editor_" + tinyMCE.idCounter++; + var inst = new TinyMCEControl(tinyMCE.settings); -function TinyMCE_createMCEControl(settings) { - return new TinyMCEControl(settings); + inst.editorId = id; + this.instances[id] = inst; + + inst.onAdd(replace_element, form_element_name, target_document); } function TinyMCE_triggerSave(skip_cleanup, skip_callback) { // Cleanup and set all form fields - for (var instanceName in tinyMCE.instances) { - var instance = tinyMCE.instances[instanceName]; + for (var n in tinyMCE.instances) { + var inst = tinyMCE.instances[n]; tinyMCE.settings['preformatted'] = false; // Default to false @@ -306,17 +309,17 @@ function TinyMCE_triggerSave(skip_cleanup, skip_callback) { if (typeof(skip_callback) == "undefined") skip_callback = false; - tinyMCE._setHTML(instance.contentWindow.document, instance.contentWindow.document.body.innerHTML); + tinyMCE._setHTML(inst.getDoc(), inst.getBody().innerHTML); - var htm = skip_cleanup ? instance.contentWindow.document.body.innerHTML : tinyMCE._cleanupHTML(instance.contentWindow.document, this.settings, instance.contentWindow.document.body, this.visualAid, true); + var htm = skip_cleanup ? inst.getBody().innerHTML : tinyMCE._cleanupHTML(inst.getDoc(), this.settings, inst.getBody(), this.visualAid, true); - //var htm = tinyMCE._cleanupHTML(instance.contentWindow.document, tinyMCE.settings, instance.contentWindow.document.body, false, true); + //var htm = tinyMCE._cleanupHTML(inst.getDoc(), tinyMCE.settings, inst.getBody(), false, true); if (tinyMCE.settings["encoding"] == "xml" || tinyMCE.settings["encoding"] == "html") htm = tinyMCE.convertStringToXML(htm); if (!skip_callback && tinyMCE.settings['save_callback'] != "") - var content = eval(tinyMCE.settings['save_callback'] + "(instance.formTargetElementId,htm,instance.contentWindow.document.body);"); + var content = eval(tinyMCE.settings['save_callback'] + "(inst.formTargetElementId,htm,inst.getBody());"); // Use callback content if available if ((typeof(content) != "undefined") && content != null) @@ -329,7 +332,7 @@ function TinyMCE_triggerSave(skip_cleanup, skip_callback) { htm = tinyMCE.regexpReplace(htm, """, """, "gi"); htm = tinyMCE.regexpReplace(htm, "^", "^", "gi"); - instance.formElement.value = htm; + inst.formElement.value = htm; } } @@ -353,12 +356,12 @@ function TinyMCE__convertOnClick(node) { function TinyMCE_resetForm(form_index) { var formObj = document.forms[form_index]; - for (var instanceName in tinyMCE.instances) { - var instance = tinyMCE.instances[instanceName]; + for (var n in tinyMCE.instances) { + var inst = tinyMCE.instances[n]; for (var i=0; i", "", "gi"); content = tinyMCE.regexpReplace(content, "", "", "gi"); - contentElement.innerHTML = content; - - // Convert img src nodes - var elms = contentElement.getElementsByTagName("img"); - for (var i=0; i[ \n\r]*
[ \n\r]*

', '
', 'gi'); element.innerHTML = tinyMCE.regexpReplace(element.innerHTML, '', '', 'gi'); + } var html = this.cleanupNode(element); @@ -1891,9 +1894,8 @@ function TinyMCE__cleanupHTML(doc, config, element, visual, on_save) { html = tinyMCE.regexpReplace(html, '

 


 

', '
'); // Remove some mozilla crap - if (!tinyMCE.isMSIE) { + if (!tinyMCE.isMSIE) html = html.replace(new RegExp('', 'g'), ""); - } if (tinyMCE.settings['apply_source_formatting']) { html = html.replace(new RegExp('<(p|div)([^>]*)>', 'g'), "\n<$1$2>\n"); @@ -1912,13 +1914,13 @@ function TinyMCE__cleanupHTML(doc, config, element, visual, on_save) { html = html.replace(re, ""); } - // Emtpy node, return empty - if (html == "
" || html == "

 

") - html = ""; - // Call custom cleanup code html = tinyMCE._customCleanup(on_save ? "get_from_editor" : "insert_to_editor", html); + // Emtpy node, return empty + if (html == "
" || html == "
\n" || html == "

 

") + html = ""; + if (tinyMCE.settings["preformatted"]) return "
" + html + "
"; @@ -1936,7 +1938,7 @@ function TinyMCE_insertLink(href, target, title, onclick) { this.execCommand("mceAddUndoLevel"); if (this.selectedInstance && this.selectedElement && this.selectedElement.nodeName.toLowerCase() == "img") { - var doc = this.selectedInstance.contentWindow.document; + var doc = this.selectedInstance.getDoc(); var linkElement = doc.createElement("a"); @@ -2058,12 +2060,14 @@ function TinyMCE_getElementsByAttributeValue(node, element_name, attrib, value) return elements; } -function TinyMCE_getParentBlockElement(node) { - var re = new RegExp("^(h1|h2|h3|h4|h5|h6|p|div|address|pre|form|table|li|ol|ul)$", "i"); +function TinyMCE_isBlockElement(node) { + return node != null && node.nodeType == 1 && this.blockRegExp.test(node.nodeName); +} +function TinyMCE_getParentBlockElement(node) { // Search up the tree for block element while (node) { - if (re.test(node.nodeName)) + if (this.blockRegExp.test(node.nodeName)) return node; node = node.parentNode; @@ -2072,6 +2076,18 @@ function TinyMCE_getParentBlockElement(node) { return null; } +function TinyMCE_getNodeTree(node, node_array, type, node_name) { + if (typeof(type) == "undefined" || node.nodeType == type && (typeof(node_name) == "undefined" || node.nodeName.toLowerCase() == node_name.toLowerCase())) + node_array[node_array.length] = node; + + if (node.hasChildNodes()) { + for (var i=0; i=0; i--) { + if (baseURLParts[i].length == 0) + continue; + + newBaseURLParts[newBaseURLParts.length] = baseURLParts[i]; + } + baseURLParts = newBaseURLParts.reverse(); + + // Merge relURLParts chunks + var newRelURLParts = new Array(); + var numBack = 0; + for (var i=relURLParts.length-1; i>=0; i--) { + if (relURLParts[i].length == 0 || relURLParts[i] == ".") + continue; + + if (relURLParts[i] == '..') { + numBack++; + continue; + } + + if (numBack > 0) { + numBack--; + continue; + } + + newRelURLParts[newRelURLParts.length] = relURLParts[i]; + } + + relURLParts = newRelURLParts.reverse(); + + // Remove end from absolute path + var len = baseURLParts.length-numBack; + var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/'); + var start = "", end = ""; + + // Build start part + if (baseURL['protocol']) + start += baseURL['protocol'] + "://"; + + if (baseURL['host']) + start += baseURL['host']; + + if (baseURL['port']) + start += ":" + baseURL['port']; + + // Build end part + if (relURL['query']) + end += "?" + relURL['query']; + + if (relURL['anchor']) + end += "#" + relURL['anchor']; + + return start + absPath + end; +} + function TinyMCE_getParam(name, default_value, strip_whitespace, split_chr) { var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name]; @@ -2336,26 +2420,26 @@ function TinyMCE_replaceVars(replace_haystack, replace_vars) { return replace_haystack; } -function TinyMCE_triggerNodeChange(focus) { +function TinyMCE_triggerNodeChange(focus, setup_content) { if (tinyMCE.settings['handleNodeChangeCallback']) { if (tinyMCE.selectedInstance) { var inst = tinyMCE.selectedInstance; var editorId = inst.editorId; - var elm = inst.getFocusElement(); + var elm = (typeof(setup_content) != "undefined" && setup_content) ? tinyMCE.selectedElement : inst.getFocusElement(); var undoIndex = -1; var undoLevels = -1; var anySelection = false; var selectedText = ""; if (tinyMCE.settings["auto_resize"]) { - var doc = inst.contentWindow.document; + var doc = inst.getDoc(); inst.iframeElement.style.width = doc.body.offsetWidth + "px"; inst.iframeElement.style.height = doc.body.offsetHeight + "px"; } if (tinyMCE.isMSIE) { - var doc = inst.contentWindow.document; + var doc = inst.getDoc(); var rng = doc.selection.createRange(); selectedText = rng.text; } else { @@ -2374,18 +2458,11 @@ function TinyMCE_triggerNodeChange(focus) { undoLevels = inst.undoLevels.length; } - // Trigger plugin nodechanges - var plugins = tinyMCE.getParam('plugins', '', true, ','); - for (var i=0; i'); + document.write(''); } -function TinyMCE_importPluginLanguagePack(theme_name, valid_languages) { +function TinyMCE_importPluginLanguagePack(name, valid_languages) { var lang = "en"; valid_languages = valid_languages.split(','); @@ -2444,7 +2521,7 @@ function TinyMCE_importPluginLanguagePack(theme_name, valid_languages) { lang = tinyMCE.settings['language']; } - document.write(''); + document.write(''); } /** @@ -2516,25 +2593,21 @@ function TinyMCE_openWindow(template, args) { } function TinyMCE_handleVisualAid(element, deep, state) { - var tableElement = null; + function getAttrib(elm, name) { + return elm.getAttribute(name) ? elm.getAttribute(name) : ""; + } - // Remove visual aid elements -/* if (!state && element.getAttribute && element.getAttribute('mceVisualAid') == "true") { - element.parentNode.removeChild(element); - return; - }*/ + var tableElement = null; switch (element.nodeName.toLowerCase()) { case "table": var cssText = element.getAttribute("border") == 0 ? tinyMCE.settings['visual_table_style'] : ""; - var attribValue = element.style.pixelWidth == 0 ? element.getAttribute("width") : element.style.pixelWidth; - element.setAttribute("width", attribValue); - - attribValue = element.style.pixelHeight == 0 ? element.getAttribute("height") : element.style.pixelHeight; - element.setAttribute("height", attribValue); - + var oldW = element.style.width; + var oldH = element.style.height; element.style.cssText = state ? cssText : ""; + element.style.width = oldW; + element.style.height = oldH; for (var y=0; y=0; i--) { + templateFunction = 'TinyMCE_' + themePlugins[i] + "_getControlHTML"; + if (eval("typeof(" + templateFunction + ")") != 'undefined') { + var html = eval(templateFunction + "('" + control_name + "');"); + if (html != "") + return tinyMCE.replaceVar(html, "pluginurl", tinyMCE.baseURL + "/plugins/" + themePlugins[i]); + } + } + + return eval('TinyMCE_' + tinyMCE.settings['theme'] + "_getControlHTML" + "('" + control_name + "');"); +} + +function TinyMCE__themeExecCommand(editor_id, element, command, user_interface, value) { + var themePlugins = tinyMCE.getParam('plugins', '', true, ','); + var templateFunction; + + // Is it defined in any plugins + for (var i=themePlugins.length; i>=0; i--) { + templateFunction = 'TinyMCE_' + themePlugins[i] + "_execCommand"; + if (eval("typeof(" + templateFunction + ")") != 'undefined') { + if (eval(templateFunction + "(editor_id, element, command, user_interface, value);")) + return true; + } + } + + // Theme funtion + templateFunction = 'TinyMCE_' + tinyMCE.settings['theme'] + "_execCommand"; + if (eval("typeof(" + templateFunction + ")") != 'undefined') + return eval(templateFunction + "(editor_id, element, command, user_interface, value);"); + + // Pass to normal + return false; +} + +function TinyMCE__getThemeFunction(suffix, skip_plugins) { + if (skip_plugins) + return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix; + + var themePlugins = tinyMCE.getParam('plugins', '', true, ','); + var templateFunction; + + // Is it defined in any plugins + for (var i=themePlugins.length; i>=0; i--) { + templateFunction = 'TinyMCE_' + themePlugins[i] + suffix; + if (eval("typeof(" + templateFunction + ")") != 'undefined') + return templateFunction; + } + + return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix; } // TinyMCEControl @@ -2809,6 +2938,9 @@ function TinyMCEControl(settings) { this.settings['height'] = tinyMCE.getParam("height", -1); // Functions + this.executeCallback = TinyMCEControl_executeCallback; + this.fixBrokenURLs = TinyMCEControl_fixBrokenURLs; + this.convertAllRelativeURLs = TinyMCEControl_convertAllRelativeURLs; this.execCommand = TinyMCEControl_execCommand; this.queryCommandValue = TinyMCEControl_queryCommandValue; this.queryCommandState = TinyMCEControl_queryCommandState; @@ -2819,35 +2951,185 @@ function TinyMCEControl(settings) { this._insertSpace = TinyMCEControl__insertSpace; this._handleBackSpace = TinyMCEControl__handleBackSpace; this.selectNode = TinyMCEControl_selectNode; + this.getBody = TinyMCEControl_getBody; + this.getDoc = TinyMCEControl_getDoc; + this.getWin = TinyMCEControl_getWin; + this.getSel = TinyMCEControl_getSel; + this.getRng = TinyMCEControl_getRng; } -function TinyMCEControl_selectNode(node, collapse, select_text_node) { +function TinyMCEControl_executeCallback(param, suffix, mode) { + function isFunc(func_name) { + if (func_name == null || func_name == "") + return false; + + return eval("typeof(" + func_name + ")") != "undefined"; + } + + function exec(func_name, args) { + var str = func_name + '('; + + // Add all arguments + for (var i=3; i 0) + rng.selectNodeContents(nodes[0]); + else + rng.selectNodeContents(node); + } else + rng.selectNode(node); + + if (collapse) { + // Special treatment of textnode collapse + if (!to_start && node.nodeType == 3) { + rng.setStart(node, node.nodeValue.length); + rng.setEnd(node, node.nodeValue.length); + } else + rng.collapse(to_start); + } sel.removeAllRanges(); sel.addRange(rng); @@ -2855,7 +3137,7 @@ function TinyMCEControl_selectNode(node, collapse, select_text_node) { // Scroll to node position var pos = tinyMCE.getAbsPosition(node); - var doc = this.contentWindow.document; + var doc = this.getDoc(); var scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft; var scrollY = doc.body.scrollTop + doc.documentElement.scrollTop; var height = tinyMCE.isMSIE ? document.getElementById(this.editorId).style.pixelHeight : parseInt(this.targetElement.style.height); @@ -2870,10 +3152,74 @@ function TinyMCEControl_selectNode(node, collapse, select_text_node) { tinyMCE.selectedElement = node; } -function TinyMCEControl__insertPara() { - var doc = this.contentWindow.document; +function TinyMCEControl_getBody() { + return this.getDoc().body; +} + +function TinyMCEControl_getDoc() { + return this.contentWindow.document; +} + +function TinyMCEControl_getWin() { + return this.contentWindow; +} + +function TinyMCEControl_getSel() { + if (tinyMCE.isMSIE) + return this.getDoc().selection; + + return this.contentWindow.getSelection(); +} + +function TinyMCEControl_getRng() { + var sel = this.getSel(); + if (sel == null) + return null; + + if (tinyMCE.isMSIE) + return sel.createRange(); + + return this.getSel().getRangeAt(0); +} + +function TinyMCEControl__insertPara(e) { + function isEmpty(para) { + function isEmptyHTML(html) { + return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == ""; + } + + // Check for images + if (para.getElementsByTagName("img").length > 0) + return false; + + // Check for tables + if (para.getElementsByTagName("table").length > 0) + return false; + + // Check for HRs + if (para.getElementsByTagName("hr").length > 0) + return false; + + // Check all textnodes + var nodes = tinyMCE.getNodeTree(para, new Array(), 3); + for (var i=0; i") { - doc.body.innerHTML = "

 

 

"; - this.selectNode(doc.body.childNodes[1], true, true); + endChop = node; + } while ((node = node.nextSibling ? node.nextSibling : node.parentNode)); - return true; + // If not in a block element + if (startBlock == null) { + // Delete selection + rng.deleteContents(); + sel.removeAllRanges(); + + if (startChop != rootElm && endChop != rootElm) { + // Insert paragraph before + rngBefore = rng.cloneRange(); + + if (startChop == body) + rngBefore.setStart(startChop, 0); + else + rngBefore.setStartBefore(startChop); + + paraBefore.appendChild(rngBefore.cloneContents()); + + // Insert paragraph after + if (endChop.parentNode.nodeName == "P") + endChop = endChop.parentNode; + + rng.setEndAfter(endChop); + + var contents = rng.cloneContents(); + if (contents.firstChild && (contents.firstChild.nodeName == "P" || contents.firstChild.nodeName.toLowerCase() == "body")) { + var nodes = contents.firstChild.childNodes; + for (var i=0; i 0); } else @@ -3372,9 +3851,7 @@ function TinyMCEControl_execCommand(command, user_interface, value) { this.contentDocument.execCommand("removeformat", false, null); this.contentDocument.execCommand("fontname", false, "#mce_temp_font#"); var elementArray = tinyMCE.getElementsByAttributeValue(this.contentDocument.body, "font", "face", "#mce_temp_font#"); -/* this.contentDocument.execCommand("createlink", false, "#mce_temp_url#"); - var elementArray = tinyMCE.getElementsByAttributeValue(this.contentDocument.body, "a", "href", "#mce_temp_url#"); -*/ + // Change them all for (var x=0; x customUndoLevels) { @@ -3497,10 +3995,10 @@ function TinyMCEControl_execCommand(command, user_interface, value) { // Do undo if (this.undoIndex > 0) { this.undoIndex--; - this.contentWindow.document.body.innerHTML = this.undoLevels[this.undoIndex]; + this.getBody().innerHTML = this.undoLevels[this.undoIndex]; } - //window.status = "Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex; + //debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); tinyMCE.triggerNodeChange(); } else this.contentDocument.execCommand(command, user_interface, value); @@ -3510,8 +4008,8 @@ function TinyMCEControl_execCommand(command, user_interface, value) { if (tinyMCE.settings['custom_undo_redo']) { if (this.undoIndex < (this.undoLevels.length-1)) { this.undoIndex++; - this.contentWindow.document.body.innerHTML = this.undoLevels[this.undoIndex]; - //window.status = "Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex; + this.getBody().innerHTML = this.undoLevels[this.undoIndex]; + //debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); } tinyMCE.triggerNodeChange(); @@ -3521,122 +4019,43 @@ function TinyMCEControl_execCommand(command, user_interface, value) { case "mceToggleVisualAid": this.visualAid = !this.visualAid; - tinyMCE.handleVisualAid(this.contentWindow.document.body, true, this.visualAid); + tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid); tinyMCE.triggerNodeChange(); break; -/* + case "removeformat": - //this.contentDocument.execCommand('FormatBlock', user_interface, ''); - var doc = this.contentWindow.document; - var rng = doc.selection.createRange(); - var elm = rng.item ? rng.item(0) : rng.parentElement(); - - html = "" + rng.text + "<" + elm.nodeName + ">"; - - this.contentDocument.execCommand('FontName', user_interface, '#mce_temp_name#'); - var html = this.contentDocument.innerHTML; - html.replace('=0; i--) { - templateFunction = 'TinyMCE_' + themePlugins[i] + "_getControlHTML"; - if (eval("typeof(" + templateFunction + ")") != 'undefined') { - var html = eval(templateFunction + "('" + control_name + "');"); - if (html != "") - return tinyMCE.replaceVar(html, "pluginurl", tinyMCE.baseURL + "/plugins/" + themePlugins[i]); - } - } - - return eval('TinyMCE_' + tinyMCE.settings['theme'] + "_getControlHTML" + "('" + control_name + "');"); -} - -function TinyMCE__themeExecCommand(editor_id, element, command, user_interface, value) { - var themePlugins = tinyMCE.getParam('plugins', '', true, ','); - var templateFunction; - - // Is it defined in any plugins - for (var i=themePlugins.length; i>=0; i--) { - templateFunction = 'TinyMCE_' + themePlugins[i] + "_execCommand"; - if (eval("typeof(" + templateFunction + ")") != 'undefined') { - if (eval(templateFunction + "(editor_id, element, command, user_interface, value);")) - return true; - } - } - - // Theme funtion - templateFunction = 'TinyMCE_' + tinyMCE.settings['theme'] + "_execCommand"; - if (eval("typeof(" + templateFunction + ")") != 'undefined') - return eval(templateFunction + "(editor_id, element, command, user_interface, value);"); - - // Pass to normal - return false; -} - -function TinyMCE__getThemeFunction(suffix, skip_plugins) { - if (skip_plugins) - return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix; - - var themePlugins = tinyMCE.getParam('plugins', '', true, ','); - var templateFunction; - - // Is it defined in any plugins - for (var i=themePlugins.length; i>=0; i--) { - templateFunction = 'TinyMCE_' + themePlugins[i] + suffix; - if (eval("typeof(" + templateFunction + ")") != 'undefined') - return templateFunction; - } - - return 'TinyMCE_' + tinyMCE.settings['theme'] + suffix; -} - function TinyMCEControl_queryCommandValue(command) { - return this.contentWindow.document.queryCommandValue(command); + return this.getDoc().queryCommandValue(command); } function TinyMCEControl_queryCommandState(command) { - return this.contentWindow.document.queryCommandState(command); + return this.getDoc().queryCommandState(command); } -function TinyMCEControl_onAdd(replace_element, form_element_name) { +function TinyMCEControl_onAdd(replace_element, form_element_name, target_document) { + var targetDoc = target_document ? target_document : document; + + this.targetDoc = targetDoc; + tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme']; this.settings['themeurl'] = tinyMCE.themeURL; @@ -3683,8 +4102,15 @@ function TinyMCEControl_onAdd(replace_element, form_element_name) { if (this.settings['height'] == -1) this.settings['height'] = replace_element.offsetHeight; - this.settings['area_width'] = this.settings['width']; - this.settings['area_height'] = this.settings['height']; + // If no width/height then default to 320x240, better than nothing + if (replace_element.offsetWidth == 0) + this.settings['width'] = 320; + + if (replace_element.offsetHeight == 0) + this.settings['height'] = 240; + + this.settings['area_width'] = parseInt(this.settings['width']); + this.settings['area_height'] = parseInt(this.settings['height']); this.settings['area_width'] += deltaWidth; this.settings['area_height'] += deltaHeight; @@ -3762,7 +4188,7 @@ function TinyMCEControl_onAdd(replace_element, form_element_name) { // Setup iframe var dynamicIFrame = false; - var tElm = document.getElementById(this.editorId); + var tElm = targetDoc.getElementById(this.editorId); if (!tinyMCE.isMSIE) { if (tElm && tElm.nodeName.toLowerCase() == "span") { @@ -3775,15 +4201,15 @@ function TinyMCEControl_onAdd(replace_element, form_element_name) { this.contentDocument = tElm.contentDocument; this.contentWindow = tElm.contentWindow; - //this.contentWindow.document.designMode = "on"; + //this.getDoc().designMode = "on"; } else { if (tElm && tElm.nodeName.toLowerCase() == "span") tElm = tinyMCE._createIFrame(tElm); else - tElm = document.frames[this.editorId]; + tElm = targetDoc.frames[this.editorId]; this.targetElement = tElm; - this.iframeElement = document.getElementById(this.editorId); + this.iframeElement = targetDoc.getElementById(this.editorId); this.contentDocument = tElm.window.document; this.contentWindow = tElm.window; this.contentDocument.designMode = "on"; @@ -3796,6 +4222,7 @@ function TinyMCEControl_onAdd(replace_element, form_element_name) { + '' + '' + '' + + '' + 'blank_page' + '' + '' @@ -3804,13 +4231,13 @@ function TinyMCEControl_onAdd(replace_element, form_element_name) { + ''; try { - this.contentWindow.document.designMode = "on"; + this.getDoc().designMode = "on"; doc.open(); doc.write(html); doc.close(); } catch (e) { // Failed Mozilla 1.3 - this.contentWindow.document.location.href = tinyMCE.baseURL + "/blank.htm"; + this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm"; } } @@ -3820,14 +4247,14 @@ function TinyMCEControl_onAdd(replace_element, form_element_name) { window.setTimeout("TinyMCE_addEventHandlers('" + this.editorId + "');", 1); //window.setTimeout("tinyMCE.setupContent('" + this.editorId + "');", (tinyMCE.isMSIE ? 1 : 1000)); - tinyMCE.setupContent(this.editorId); + tinyMCE.setupContent(this.editorId, true); return true; } function TinyMCEControl_getFocusElement() { if (tinyMCE.isMSIE) { - var doc = this.contentWindow.document; + var doc = this.getDoc(); var rng = doc.selection.createRange(); var elm = rng.item ? rng.item(0) : rng.parentElement(); } else { @@ -3844,3 +4271,32 @@ function TinyMCEControl_getFocusElement() { // Global instances var tinyMCE = new TinyMCE(); var tinyMCELang = new Array(); + +/* +function debug() { + var msg = ""; + + var elm = document.getElementById("tinymce_debug"); + if (!elm) { + var debugDiv = document.createElement("div"); + debugDiv.setAttribute("className", "debugger"); + debugDiv.className = "debugger"; + debugDiv.innerHTML = '\ + Debug output:\ + '; + + document.body.appendChild(debugDiv); + elm = document.getElementById("tinymce_debug"); + } + + var args = this.debug.arguments; + for (var i=0; i