diff --git a/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js b/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js index af6d40f7f..5ddb0a78d 100644 --- a/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js +++ b/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js @@ -5,11 +5,15 @@ * options. */ /* It is based on the original configuration file XinhaConfig.js (compressed version) */ /* http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */ +_editor_skin = "silva"; +_editor_icons = "Crystal"; xinha_init=null; xinha_config=null; xinha_init=xinha_init?xinha_init:function(){ xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"]; -xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","TableOperations"]; +xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","CharCounter", + "ContextMenu","DefinitionList","FindReplace","ListType","QuickTag", + "SmartReplace","Stylist","TableOperations","UnFormat"]; if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){ return; } @@ -22,11 +26,21 @@ xinha_config=xinha_config?xinha_config():new Xinha.Config(); ["separator","subscript","superscript"], ["separator","justifyleft","justifycenter","justifyright","justifyfull"], ["separator","insertorderedlist","insertunorderedlist","outdent","indent"], - ["separator","inserthorizontalrule","createlink"], - ["separator","undo","redo","selectall"], (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), - ["separator","clearfonts","removeformat"], - ["separator","htmlmode","showhelp","about"] + ["separator","createlink"], + ["separator","undo","redo","selectall"], + (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), + ["separator","killword","clearfonts","removeformat"], + ["linebreak","separator","htmlmode","showhelp","about"] ]; +xinha_config.formatblock = + { + "— format —" : "", + "Heading 3": "h3", + "Heading 4": "h4", + "Heading 5": "h5", + "Heading 6": "h6", + "Normal" : "p" + }; xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"]; xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins); diff --git a/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js b/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js index af6d40f7f..5ddb0a78d 100644 --- a/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js +++ b/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js @@ -5,11 +5,15 @@ * options. */ /* It is based on the original configuration file XinhaConfig.js (compressed version) */ /* http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */ +_editor_skin = "silva"; +_editor_icons = "Crystal"; xinha_init=null; xinha_config=null; xinha_init=xinha_init?xinha_init:function(){ xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"]; -xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","TableOperations"]; +xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","CharCounter", + "ContextMenu","DefinitionList","FindReplace","ListType","QuickTag", + "SmartReplace","Stylist","TableOperations","UnFormat"]; if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){ return; } @@ -22,11 +26,21 @@ xinha_config=xinha_config?xinha_config():new Xinha.Config(); ["separator","subscript","superscript"], ["separator","justifyleft","justifycenter","justifyright","justifyfull"], ["separator","insertorderedlist","insertunorderedlist","outdent","indent"], - ["separator","inserthorizontalrule","createlink"], - ["separator","undo","redo","selectall"], (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), - ["separator","clearfonts","removeformat"], - ["separator","htmlmode","showhelp","about"] + ["separator","createlink"], + ["separator","undo","redo","selectall"], + (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), + ["separator","killword","clearfonts","removeformat"], + ["linebreak","separator","htmlmode","showhelp","about"] ]; +xinha_config.formatblock = + { + "— format —" : "", + "Heading 3": "h3", + "Heading 4": "h4", + "Heading 5": "h5", + "Heading 6": "h6", + "Normal" : "p" + }; xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"]; xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins); diff --git a/ccm-core/web/assets/xinha/Xinha.css b/ccm-core/web/assets/xinha/Xinha.css index 0ea74e15a..7e0e81724 100755 --- a/ccm-core/web/assets/xinha/Xinha.css +++ b/ccm-core/web/assets/xinha/Xinha.css @@ -1,273 +1,2 @@ -.htmlarea { background: #fff; } -.htmlarea td { margin:0;padding:0; } - -.htmlarea .toolbarRow { - width:1px; -} - -.htmlarea .toolbar { - cursor: default; - background: ButtonFace; - padding: 3px; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} -.htmlarea .toolbar table { margin: 0; font-family: tahoma,verdana,sans-serif; font-size: 11px; } -.htmlarea .toolbar img { border: none; vertical-align: top; } -.htmlarea .toolbar .label { padding: 0px 3px; } - -.htmlarea .toolbar .button { - background: ButtonFace; - color: ButtonText; - border: 1px solid ButtonFace; - padding: 1px; - margin: 0px; - width: 18px; - height: 18px; -} -.htmlarea .toolbar a.button:hover { - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} -.htmlarea .toolbar a.buttonDisabled:hover { - border-color: ButtonFace; -} -.htmlarea .toolbar .buttonActive, -.htmlarea .toolbar .buttonPressed -{ - padding: 2px 0px 0px 2px; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} -.htmlarea .toolbar .buttonPressed { - background: ButtonHighlight; -} -.htmlarea .toolbar .indicator { - padding: 0px 3px; - overflow: hidden; - width: 20px; - text-align: center; - cursor: default; - border: 1px solid ButtonShadow; -} - -.htmlarea .toolbar .buttonDisabled img { - filter: gray() alpha(opacity = 25); - -moz-opacity: 0.25; - opacity: 0.25; -} - -.htmlarea .toolbar .separator { - /*position: relative;*/ - margin:0 3px; - border-left: 1px solid ButtonShadow; - border-right: 1px solid ButtonHighlight; - width: 0px; - height: 18px; - padding: 0px; -} - -.htmlarea .toolbar .space { width: 5px; } - -.htmlarea .toolbar select, .htmlarea .toolbar option { font: 11px Tahoma,Verdana,sans-serif;} - -.htmlarea .toolbar select, -.htmlarea .toolbar select:hover, -.htmlarea .toolbar select:active { - position:relative; - top:-2px; - margin-bottom:-2px; - color: ButtonText; -} - -.htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea -{ - border: none; /*1px solid;*/ -} - -.htmlarea .statusBar { - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; - padding: 2px 4px; - background-color: ButtonFace; - color: ButtonText; - font: 11px Tahoma,Verdana,sans-serif; - height:16px; -} - -.htmlarea .statusBar .statusBarTree a { - padding: 2px 5px; - color: #00f; -} - -.htmlarea .statusBar .statusBarTree a:visited { color: #00f; } -.htmlarea .statusBar .statusBarTree a:hover { - background-color: Highlight; - color: HighlightText; - padding: 1px 4px; - border: 1px solid HighlightText; -} - - -/* popup dialogs */ - -.dialog { - color: ButtonText; - background: ButtonFace; -} - -.dialog .content { padding: 2px; } - -.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table { - font: 11px Tahoma,Verdana,sans-serif; -} - -.dialog table { border-collapse: collapse; } - -.dialog .title, .dialog h1 -{ - background: #008; - color: #ff8; - border-bottom: 1px solid #000; - padding: 1px 0px 2px 5px; - font-size: 12px; - font-weight: bold; - cursor: default; -} -.dialog h1 { margin:0px;} -.dialog .title .button { - float: right; - border: 1px solid #66a; - padding: 0px 1px 0px 2px; - margin-right: 1px; - color: #fff; - text-align: center; -} - -.dialog .title .button-hilite { border-color: #88f; background: #44c; } - -.dialog button { - width: 5em; - padding: 0px; -} - -.dialog .buttonColor { - width :1em; - padding: 1px; - cursor: default; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} - -.dialog .buttonColor .chooser, .dialog .buttonColor .nocolor { - height: 0.6em; - border: 1px solid; - padding: 0px 1em; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -.dialog .buttonClick { - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} -.dialog .buttonColor-hilite { - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -.dialog .buttonColor .nocolor { padding: 0px; } -.dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; } - -.dialog .label { text-align: right; width: 6em; } -.dialog .value input { width: 100%; } -.dialog .buttons { text-align: right; padding: 2px 4px 0px 4px; } - -.dialog legend { font-weight: bold; } -.dialog fieldset table { margin: 2px 0px; } - -.popupwin { - padding: 0px; - margin: 0px; -} - -.popupwin .title { - background: #fff; - color: #000; - font-weight: bold; - font-size: 120%; - padding: 3px 10px; - margin-bottom: 10px; - border-bottom: 1px solid black; - letter-spacing: 2px; -} - -form { margin: 0px; border: none; } - - -/** Panels **/ -.htmlarea .panels.top -{ - border-bottom : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panels.right -{ - border-left : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panels.left -{ - border-right : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panels.bottom -{ - border-top : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panel h1 { - background: ButtonFace; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; - margin: 0px; - padding: 0px; - font-size:100%; - font-weight:bold; - padding: 2px; - clear:left; - -} - -.htmlarea .panel { overflow:hidden; } -.htmlarea .panels.left .panel { border-right:none; border-left:none; } -.htmlarea .panels.left h1 { border-right:none; } -.htmlarea .panels.right .panel { border-right:none; border-left:none; } -.htmlarea .panels.left h1 { border-left:none; } -.htmlarea { border: 1px solid black; } - -.loading -{ - font-family:sans-serif; - position:absolute; - z-index:998; - text-align:center; - width:212px; - padding: 55px 0 5px 0; - border:2px solid #ccc; - /* border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;*/ - background: url(images/xinha_logo.gif) no-repeat #fff center 5px; -} -.loading_main -{ - font-size:11px; - color:#000; - -} -.loading_sub -{ - font-size:9px; - color:#666; - text-align:center; -} +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +.htmlarea{background:#fff;}.htmlarea td{margin:0;padding:0;}.htmlarea .toolbarRow{width:1px;}.htmlarea .toolbar{cursor:default;background:ButtonFace;padding:3px;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.htmlarea .toolbar table{margin:0;font-family:Tahoma,Verdana,sans-serif;font-size:11px;}.htmlarea .toolbar img{border:none;vertical-align:top;}.htmlarea .toolbar .label{padding:0 3px;}.htmlarea .toolbar .button{background:ButtonFace;color:ButtonText;border:1px solid ButtonFace;padding:1px;margin:0;width:18px;height:18px;}.htmlarea .toolbar a.button:hover{border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.htmlarea .toolbar a.buttonDisabled:hover{border-color:ButtonFace;}.htmlarea .toolbar .buttonActive,.htmlarea .toolbar .buttonPressed{padding:2px 0 0 2px;border:1px solid;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.htmlarea .toolbar .buttonPressed{background:ButtonHighlight;}.htmlarea .toolbar .indicator{padding:0 3px;overflow:hidden;width:20px;text-align:center;cursor:default;border:1px solid ButtonShadow;}.htmlarea .toolbar .buttonDisabled img{filter:gray() alpha(opacity = 25);-moz-opacity:.25;opacity:.25;}.htmlarea .toolbar .separator{margin:0 3px;border-left:1px solid ButtonShadow;border-right:1px solid ButtonHighlight;width:0;height:18px;padding:0;}.htmlarea .toolbar .space{width:5px;}.htmlarea .toolbar select,.htmlarea .toolbar option{font:11px Tahoma,Verdana,sans-serif;}.htmlarea .toolbar select,.htmlarea .toolbar select:hover,.htmlarea .toolbar select:active{position:relative;top:-2px;margin-bottom:-2px;color:ButtonText;}.htmlarea iframe.xinha_iframe,.htmlarea textarea.xinha_textarea{border:none;}.htmlarea .statusBar{border:1px solid;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;padding:2px 4px;background-color:ButtonFace;color:ButtonText;font:11px Tahoma,Verdana,sans-serif;height:16px;overflow:hidden;}.htmlarea .statusBar .statusBarTree a{padding:2px 5px;color:#00f;}.htmlarea .statusBar .statusBarTree a:visited{color:#00f;}.htmlarea .statusBar .statusBarTree a:hover{background-color:Highlight;color:HighlightText;padding:1px 4px;border:1px solid HighlightText;}.statusBarWidgetContainer{background-color:ButtonFace;}.dialog{color:ButtonText;background:ButtonFace;border:1px outset;border-color:WindowFrame;}div.dialog{padding-bottom:10px;border-radius:8px 8px 0 0;-moz-border-radius:8px 8px 0 0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;box-shadow:9px 9px 10px #444;-moz-box-shadow:9px 9px 10px #444;-webkit-box-shadow:9px 9px 10px #444;}div.dialog.modeless{box-shadow:4px 4px 5px #888;-moz-box-shadow:4px 4px 5px #888;-webkit-box-shadow:4px 4px 5px #888;}div.dialog.chrome{-webkit-box-shadow:none!IMPORTANT;}.panels div.dialog.panel{border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;}.xinha_dialog_background{filter:alpha(opacity=0);-moz-opacity:0;opacity:0;border:none;}.xinha_dialog_background_modal_greyout{background-color:#666;filter:alpha(opacity=70)!IMPORTANT;-moz-opacity:.7;opacity:.7;}.xinha_dialog_background_modal{filter:alpha(opacity=0)!IMPORTANT;-moz-opacity:0;opacity:0;border:none;}body.xinha_dialog_background_modal_greyout{filter:alpha(opacity=100)!IMPORTANT;}body.xinha_dialog_background_modal{filter:alpha(opacity=0);}.dialog .content{padding:2px;}.dialog,.dialog button,.dialog input,.dialog select,.dialog textarea,.dialog table{font:11px Tahoma,Verdana,sans-serif;}.dialog table{border-collapse:collapse;}.dialog .title,.dialog h1{background:ActiveCaption;color:CaptionText;border-bottom:1px solid #000;padding:1px 0 2px 5px;font-size:12px;font-weight:bold;cursor:default;letter-spacing:.01em;}.dialog h1{padding-left:22px;margin:0;border-radius:8px 8px 0 0;-moz-border-radius:8px 8px 0 0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;}.panels .dialog.panel h1{-moz-border-radius:0;-webkit-border-radius:0;}.dialog .title .button{float:right;border:1px solid #66a;padding:0 1px 0 2px;margin-right:1px;color:#fff;text-align:center;}.dialog .title .button-hilite{border-color:#88f;background:#44c;}.dialog button{width:5.5em;padding:0;}.dialog .closeButton{padding:0;cursor:default;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;height:11px;width:11px;vertical-align:top;position:absolute;top:3px;right:2px;background-color:ButtonFace;color:ButtonText;font-size:13px;font-family:Tahoma,Verdana,sans-serif;text-align:center;letter-spacing:0;overflow:hidden;}.dialog .buttonColor{width:1em;padding:1px;cursor:default;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.dialog .buttonColor .chooser,.dialog .buttonColor .nocolor{height:.6em;border:1px solid;padding:0 1em;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonClick{border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonColor-hilite{border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonColor .nocolor{padding:0;}.dialog .buttonColor .nocolor-hilite{background-color:#fff;color:#f00;}.dialog .label{text-align:right;width:6em;}.dialog .value input{width:100%;}.dialog legend{font-weight:bold;}.dialog fieldset table{margin:2px 0;}.dialog .buttons{padding:1em;text-align:center;}.dialog .resizeHandle{-moz-appearance:resizer;width:12px;height:12px;border-bottom:2px solid #000;border-right:2px solid #000;cursor:se-resize;}.popupwin{padding:0;margin:0;}.popupwin .title{background:#fff;color:#000;font-weight:bold;font-size:120%;padding:3px 10px;margin-bottom:10px;border-bottom:1px solid black;letter-spacing:2px;}form{margin:0;border:none;}.htmlarea .panels_top{border-bottom:1px solid;border-color:ButtonShadow;}.htmlarea .panels_right{border-left:1px solid;border-color:ButtonShadow;}.htmlarea .panels_left{border-right:1px solid;border-color:ButtonShadow;}.htmlarea .panels_bottom{border-top:1px solid;border-color:ButtonShadow;}.htmlarea .panel h1{clear:left;font-size:.9em;}.htmlarea .panel{overflow:hidden;background-color:white;padding-bottom:0!IMPORTANT;border:none!IMPORTANT;}.htmlarea .panels_left .panel{border-right:none;border-left:none;}.htmlarea .panels_left h1{border-right:none;}.htmlarea .panels_right .panel{border-right:none;border-left:none;}.htmlarea .panels_left h1{border-left:none;}.htmlarea{border:1px solid black;}.loading{font-family:sans-serif;position:absolute;z-index:998;text-align:center;width:212px;padding:55px 0 5px 0;border:2px solid #ccc;background:url(images/xinha_logo.gif) no-repeat #fff center 5px;}.loading_main{font-size:11px;color:#000;}.loading_sub{font-size:9px;color:#666;text-align:center;}.dialog a img{border:0 none transparent;}.dialog fieldset.collapsed{border:0 none transparent;}.dialog fieldset.collapsed form{display:none;}.hidden{display:none;}.placesmanager{width:95%;overflow:auto;}.filemanager{width:95%;height:200px;overflow:auto;background-color:#fff;}.filemanager div.file{min-width:80px;height:100px;position:relative;float:left;border:1px outset #666;margin:4px;}.placesmanager div.file{min-width:60px;height:70px;position:relative;float:left;border:1px outset #666;margin:4px;}.filemanager div.file:hover,.placesmanager div.file:hover{border:1px solid #333;background:#fffff3;}.filemanager div.selected,.filemanager div.selected:hover,.placesmanager div.selected,.placesmanager div.selected:hover{background:#ffffda;border:1px solid #000;}.filemanager .filename{margin:.5em;color:#222;}.filemanager div.selected .filename{color:#000;}.filemanager img.thumb{width:50px;height:50px;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;border:1px solid black;}.filemanager img.icon{width:32px;height:32px;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;}.filemanager img.action{width:15px;height:15px;position:absolute;}.filemanager img.delete{bottom:3px;left:20px;}.filemanager img.copy{bottom:3px;left:3px;} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/Xinha.css_uncompr.js b/ccm-core/web/assets/xinha/Xinha.css_uncompr.js new file mode 100644 index 000000000..d845cf386 --- /dev/null +++ b/ccm-core/web/assets/xinha/Xinha.css_uncompr.js @@ -0,0 +1,477 @@ +.htmlarea { background: #fff; } +.htmlarea td { margin:0;padding:0; } + +.htmlarea .toolbarRow { + width:1px; +} + +.htmlarea .toolbar { + cursor: default; + background: ButtonFace; + padding: 3px; + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} +.htmlarea .toolbar table { margin: 0; font-family: Tahoma, Verdana,sans-serif; font-size: 11px; } +.htmlarea .toolbar img { border: none; vertical-align: top; } +.htmlarea .toolbar .label { padding: 0 3px; } + +.htmlarea .toolbar .button { + background: ButtonFace; + color: ButtonText; + border: 1px solid ButtonFace; + padding: 1px; + margin: 0; + width: 18px; + height: 18px; +} +.htmlarea .toolbar a.button:hover { + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} +.htmlarea .toolbar a.buttonDisabled:hover { + border-color: ButtonFace; +} +.htmlarea .toolbar .buttonActive, +.htmlarea .toolbar .buttonPressed +{ + padding: 2px 0 0 2px; + border: 1px solid; + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} +.htmlarea .toolbar .buttonPressed { + background: ButtonHighlight; +} +.htmlarea .toolbar .indicator { + padding: 0 3px; + overflow: hidden; + width: 20px; + text-align: center; + cursor: default; + border: 1px solid ButtonShadow; +} + +.htmlarea .toolbar .buttonDisabled img { + filter: gray() alpha(opacity = 25); + -moz-opacity: 0.25; + opacity: 0.25; +} + +.htmlarea .toolbar .separator { + /*position: relative;*/ + margin:0 3px; + border-left: 1px solid ButtonShadow; + border-right: 1px solid ButtonHighlight; + width: 0; + height: 18px; + padding: 0; +} + +.htmlarea .toolbar .space { width: 5px; } + +.htmlarea .toolbar select, .htmlarea .toolbar option { font: 11px Tahoma,Verdana,sans-serif;} + +.htmlarea .toolbar select, +.htmlarea .toolbar select:hover, +.htmlarea .toolbar select:active { + position:relative; + top:-2px; + margin-bottom:-2px; + color: ButtonText; +} + +.htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea +{ + border: none; /*1px solid;*/ +} + +.htmlarea .statusBar { + border: 1px solid; + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; + padding: 2px 4px; + background-color: ButtonFace; + color: ButtonText; + font: 11px Tahoma,Verdana,sans-serif; + height:16px; + overflow: hidden; +} + +.htmlarea .statusBar .statusBarTree a { + padding: 2px 5px; + color: #00f; +} + +.htmlarea .statusBar .statusBarTree a:visited { color: #00f; } +.htmlarea .statusBar .statusBarTree a:hover { + background-color: Highlight; + color: HighlightText; + padding: 1px 4px; + border: 1px solid HighlightText; +} + +.statusBarWidgetContainer { + background-color: ButtonFace; +} + +/* popup dialogs */ + +.dialog { + color: ButtonText; + background: ButtonFace; + border: 1px outset; + border-color: WindowFrame; +} +div.dialog { + padding-bottom:10px; + border-radius: 8px 8px 0 0; + -moz-border-radius: 8px 8px 0 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + + box-shadow: 9px 9px 10px #444; + -moz-box-shadow: 9px 9px 10px #444; + -webkit-box-shadow: 9px 9px 10px #444; +} +div.dialog.modeless { + box-shadow: 4px 4px 5px #888; + -moz-box-shadow: 4px 4px 5px #888; + -webkit-box-shadow: 4px 4px 5px #888; +} +div.dialog.chrome { + -webkit-box-shadow: none !IMPORTANT; +} +.panels div.dialog.panel { + border-radius:0; + -moz-border-radius: 0; + -webkit-border-radius:0; + + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; +} +.xinha_dialog_background { + filter: alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + border:none; +} +.xinha_dialog_background_modal_greyout { + background-color:#666; + filter: alpha(opacity=70) !IMPORTANT; + -moz-opacity: 0.7; + opacity: 0.7; +} +.xinha_dialog_background_modal { + filter: alpha(opacity=0) !IMPORTANT; + -moz-opacity: 0; + opacity: 0; + border:none; +} +body.xinha_dialog_background_modal_greyout { + filter: alpha(opacity=100) !IMPORTANT; +} +body.xinha_dialog_background_modal { + filter: alpha(opacity=0); +} +.dialog .content { padding: 2px; } + +.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table { + font: 11px Tahoma,Verdana,sans-serif; +} + +.dialog table { border-collapse: collapse; } + +.dialog .title, .dialog h1 +{ + background: ActiveCaption; + color: CaptionText; + border-bottom: 1px solid #000; + padding: 1px 0 2px 5px; + font-size: 12px; + font-weight: bold; + cursor: default; + letter-spacing: 0.01em; +} +.dialog h1 { + padding-left:22px; + margin:0; + border-radius: 8px 8px 0 0; + -moz-border-radius: 8px 8px 0 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; +} +.panels .dialog.panel h1 { + -moz-border-radius: 0; + -webkit-border-radius:0; +} + +.dialog .title .button { + float: right; + border: 1px solid #66a; + padding: 0 1px 0 2px; + margin-right: 1px; + color: #fff; + text-align: center; +} + +.dialog .title .button-hilite { border-color: #88f; background: #44c; } + +.dialog button { + width: 5.5em; + padding: 0; +} +.dialog .closeButton { + padding: 0; + cursor: default; + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; + height : 11px; + width : 11px; + vertical-align : top; + position : absolute; + top : 3px; + right : 2px; + background-color: ButtonFace; + color: ButtonText; + font-size: 13px; + font-family: Tahoma,Verdana,sans-serif; + text-align:center; + letter-spacing:0; + overflow:hidden; +} +.dialog .buttonColor { + width :1em; + padding: 1px; + cursor: default; + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} + +.dialog .buttonColor .chooser, .dialog .buttonColor .nocolor { + height: 0.6em; + border: 1px solid; + padding: 0 1em; + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} + +.dialog .buttonClick { + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} +.dialog .buttonColor-hilite { + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} + +.dialog .buttonColor .nocolor { padding: 0; } +.dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; } + +.dialog .label { text-align: right; width: 6em; } +.dialog .value input { width: 100%; } + +.dialog legend { font-weight: bold; } +.dialog fieldset table { margin: 2px 0; } + +.dialog .buttons { + + padding: 1em; + text-align: center; +} +.dialog .resizeHandle { + -moz-appearance : resizer; + width: 12px; + height: 12px; + border-bottom: 2px solid #000; + border-right: 2px solid #000; + cursor : se-resize; +} +.popupwin { + padding: 0; + margin: 0; +} + +.popupwin .title { + background: #fff; + color: #000; + font-weight: bold; + font-size: 120%; + padding: 3px 10px; + margin-bottom: 10px; + border-bottom: 1px solid black; + letter-spacing: 2px; +} + +form { margin: 0; border: none; } + + +/** Panels **/ +.htmlarea .panels_top +{ + border-bottom : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panels_right +{ + border-left : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panels_left +{ + border-right : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panels_bottom +{ + border-top : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panel h1 { + clear:left; + font-size:0.9em; +} + +.htmlarea .panel { + overflow:hidden; + background-color:white; + padding-bottom:0 !IMPORTANT; + border: none !IMPORTANT; +} +.htmlarea .panels_left .panel { border-right:none; border-left:none; } +.htmlarea .panels_left h1 { border-right:none; } +.htmlarea .panels_right .panel { border-right:none; border-left:none; } +.htmlarea .panels_left h1 { border-left:none; } +.htmlarea { border: 1px solid black; } + +.loading +{ + font-family:sans-serif; + position:absolute; + z-index:998; + text-align:center; + width:212px; + padding: 55px 0 5px 0; + border:2px solid #ccc; + /* border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;*/ + background: url(images/xinha_logo.gif) no-repeat #fff center 5px; +} +.loading_main +{ + font-size:11px; + color:#000; + +} +.loading_sub +{ + font-size:9px; + color:#666; + text-align:center; +} +/* Classes for filemanager styles in a dialog. */ +.dialog a img +{ +border: 0 none transparent; +} + +.dialog fieldset.collapsed { +border: 0 none transparent; +} + +.dialog fieldset.collapsed form { +display: none; +} + +.hidden +{ +display: none; +} + +.placesmanager +{ + width: 95%; + overflow: auto; +} + +.filemanager +{ + width: 95%; + height: 200px; + overflow: auto; + background-color: #fff; +} +.filemanager div.file +{ + min-width: 80px; + height: 100px; + position: relative; + float: left; + border: 1px outset #666; + margin: 4px; +} +.placesmanager div.file +{ + min-width: 60px; + height: 70px; + position: relative; + float: left; + border: 1px outset #666; + margin: 4px; +} +.filemanager div.file:hover, +.placesmanager div.file:hover +{ + border: 1px solid #333; + background: #fffff3; +} + +.filemanager div.selected, +.filemanager div.selected:hover, +.placesmanager div.selected, +.placesmanager div.selected:hover +{ + background: #ffffda; + border: 1px solid #000; +} +.filemanager .filename { + margin: 0.5em; + color: #222; +} +.filemanager div.selected .filename { + color: #000; +} +.filemanager img.thumb +{ + width: 50px; + height: 50px; + position: absolute; + top: 50%; + left: 50%; + margin: -25px 0 0 -25px; + border: 1px solid black; +} +.filemanager img.icon +{ + width: 32px; + height: 32px; + position: absolute; + top: 50%; + left: 50%; + margin: -16px 0 0 -16px; +} +.filemanager img.action +{ + width: 15px; + height: 15px; + position: absolute; +} +.filemanager img.delete +{ + bottom: 3px; + left: 20px; +} +.filemanager img.copy +{ + bottom: 3px; + left: 3px; +} diff --git a/ccm-core/web/assets/xinha/XinhaConfig.js b/ccm-core/web/assets/xinha/XinhaConfig.js deleted file mode 100644 index ff126d004..000000000 --- a/ccm-core/web/assets/xinha/XinhaConfig.js +++ /dev/null @@ -1,19 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */ -xinha_init=null; -xinha_config=null; -xinha_init=xinha_init?xinha_init:function(){ -xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"]; -//xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","Linker","SuperClean","TableOperations"]; -xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","SuperClean","TableOperations"]; -if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){ -return; -} -xinha_config=xinha_config?xinha_config():new Xinha.Config(); -xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"]; -xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins); -Xinha.startEditors(xinha_editors); -}; -Xinha.addOnloadHandler(xinha_init); - diff --git a/ccm-core/web/assets/xinha/XinhaCore.js b/ccm-core/web/assets/xinha/XinhaCore.js index 20f8bb7b8..0d5e6154c 100644 --- a/ccm-core/web/assets/xinha/XinhaCore.js +++ b/ccm-core/web/assets/xinha/XinhaCore.js @@ -1,13 +1,12 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/XinhaCore.js */ +/* The URL of the most recent uncompressed version of this file is http://svn.xinha.org/trunk/XinhaCore.js */ /*-------------------------------------------------------------------------- -- Xinha (is not htmlArea) - http://xinha.org -- -- Use of Xinha is granted by the terms of the htmlArea License (based on -- BSD license) please read license.txt in this package for details. -- - -- Copyright (c) 2005-2008 Xinha Developer Team and contributors + -- Copyright (c) 2005-2010 Xinha Developer Team and contributors -- -- Xinha was originally based on work by Mihai Bazon which is: -- Copyright (c) 2003-2004 dynarch.com. @@ -15,3801 +14,4 @@ -- This copyright notice MUST stay intact for use. -------------------------------------------------------------------------*/ -Xinha.version={"Release":"0.95","Head":"$HeadURL:http://svn.xinha.webfactional.com/trunk/XinhaCore.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),"Date":"$LastChangedDate:2008-05-01 14:33:36 +0200 (Do, 01 Mai 2008) $".replace(/^[^:]*:\s*([0-9-]*) ([0-9:]*) ([+0-9]*) \((.*)\)\s*\$/,"$4 $2 $3"),"Revision":"$LastChangedRevision:999 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),"RevisionBy":"$LastChangedBy:ray $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1")}; -Xinha._resolveRelativeUrl=function(_1,_2){ -if(_2.match(/^([^:]+\:)?\/\//)){ -return _2; -}else{ -var b=_1.split("/"); -if(b[b.length-1]==""){ -b.pop(); -} -var p=_2.split("/"); -if(p[0]=="."){ -p.shift(); -} -while(p[0]==".."){ -b.pop(); -p.shift(); -} -return b.join("/")+"/"+p.join("/"); -} -}; -if(typeof _editor_url=="string"){ -_editor_url=_editor_url.replace(/\x2f*$/,"/"); -if(!_editor_url.match(/^([^:]+\:)?\//)){ -var path=window.location.toString().split("/"); -path.pop(); -_editor_url=Xinha._resolveRelativeUrl(path.join("/"),_editor_url); -} -}else{ -alert("WARNING: _editor_url is not set! You should set this variable to the editor files path; it should preferably be an absolute path, like in '/htmlarea/', but it can be relative if you prefer. Further we will try to load the editor files correctly but we'll probably fail."); -_editor_url=""; -} -if(typeof _editor_lang=="string"){ -_editor_lang=_editor_lang.toLowerCase(); -}else{ -_editor_lang="en"; -} -if(typeof _editor_skin!=="string"){ -_editor_skin=""; -} -var __xinhas=[]; -Xinha.agt=navigator.userAgent.toLowerCase(); -Xinha.is_ie=((Xinha.agt.indexOf("msie")!=-1)&&(Xinha.agt.indexOf("opera")==-1)); -Xinha.ie_version=parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5)); -Xinha.is_opera=(Xinha.agt.indexOf("opera")!=-1); -if(Xinha.is_opera&&Xinha.agt.match(/opera[\/ ]([0-9.]+)/)){ -Xinha.opera_version=parseFloat(RegExp.$1); -}else{ -Xinha.opera_version=0; -} -Xinha.is_khtml=(Xinha.agt.indexOf("khtml")!=-1); -Xinha.is_webkit=(Xinha.agt.indexOf("applewebkit")!=-1); -Xinha.webkit_version=parseInt(navigator.appVersion.replace(/.*?AppleWebKit\/([\d]).*?/,"$1")); -Xinha.is_safari=(Xinha.agt.indexOf("safari")!=-1); -Xinha.is_mac=(Xinha.agt.indexOf("mac")!=-1); -Xinha.is_mac_ie=(Xinha.is_ie&&Xinha.is_mac); -Xinha.is_win_ie=(Xinha.is_ie&&!Xinha.is_mac); -Xinha.is_gecko=(navigator.product=="Gecko")||Xinha.is_opera; -Xinha.is_real_gecko=(navigator.product=="Gecko"&&!Xinha.is_webkit); -Xinha.is_ff3=Xinha.is_real_gecko&&parseInt(navigator.productSub)>=2007121016; -Xinha.is_ff2=Xinha.is_real_gecko&&parseInt(navigator.productSub)<2007121016; -Xinha.isRunLocally=document.URL.toLowerCase().search(/^file:/)!=-1; -Xinha.is_designMode=(typeof document.designMode!="undefined"&&!Xinha.is_ie); -Xinha.checkSupportedBrowser=function(){ -return Xinha.is_real_gecko||(Xinha.is_opera&&Xinha.opera_version>=9.2)||Xinha.ie_version>=5.5||Xinha.webkit_version>=522; -}; -Xinha.isSupportedBrowser=Xinha.checkSupportedBrowser(); -if(Xinha.isRunLocally&&Xinha.isSupportedBrowser){ -alert("Xinha *must* be installed on a web server. Locally opened files (those that use the \"file://\" protocol) cannot properly function. Xinha will try to initialize but may not be correctly loaded."); -} -function Xinha(_5,_6){ -if(!Xinha.isSupportedBrowser){ -return; -} -if(!_5){ -throw new Error("Tried to create Xinha without textarea specified."); -} -if(typeof _6=="undefined"){ -this.config=new Xinha.Config(); -}else{ -this.config=_6; -} -if(typeof _5!="object"){ -_5=Xinha.getElementById("textarea",_5); -} -this._textArea=_5; -this._textArea.spellcheck=false; -Xinha.freeLater(this,"_textArea"); -this._initial_ta_size={w:_5.style.width?_5.style.width:(_5.offsetWidth?(_5.offsetWidth+"px"):(_5.cols+"em")),h:_5.style.height?_5.style.height:(_5.offsetHeight?(_5.offsetHeight+"px"):(_5.rows+"em"))}; -if(document.getElementById("loading_"+_5.id)||this.config.showLoading){ -if(!document.getElementById("loading_"+_5.id)){ -Xinha.createLoadingMessage(_5); -} -this.setLoadingMessage(Xinha._lc("Constructing object")); -} -this._editMode="wysiwyg"; -this.plugins={}; -this._timerToolbar=null; -this._timerUndo=null; -this._undoQueue=[this.config.undoSteps]; -this._undoPos=-1; -this._customUndo=true; -this._mdoc=document; -this.doctype=""; -this.__htmlarea_id_num=__xinhas.length; -__xinhas[this.__htmlarea_id_num]=this; -this._notifyListeners={}; -var _7={right:{on:true,container:document.createElement("td"),panels:[]},left:{on:true,container:document.createElement("td"),panels:[]},top:{on:true,container:document.createElement("td"),panels:[]},bottom:{on:true,container:document.createElement("td"),panels:[]}}; -for(var i in _7){ -if(!_7[i].container){ -continue; -} -_7[i].div=_7[i].container; -_7[i].container.className="panels "+i; -Xinha.freeLater(_7[i],"container"); -Xinha.freeLater(_7[i],"div"); -} -this._panels=_7; -this._statusBar=null; -this._statusBarTree=null; -this._statusBarTextMode=null; -this._statusBarItems=[]; -this._framework={}; -this._htmlArea=null; -this._iframe=null; -this._doc=null; -this._toolBar=this._toolbar=null; -this._toolbarObjects={}; -} -Xinha.onload=function(){ -}; -Xinha.init=function(){ -Xinha.onload(); -}; -Xinha.RE_tagName=/(<\/|<)\s*([^ \t\n>]+)/ig; -Xinha.RE_doctype=/()\n?/i; -Xinha.RE_head=/((.|\n)*?)<\/head>/i; -Xinha.RE_body=/]*>((.|\n|\r|\t)*?)<\/body>/i; -Xinha.RE_Specials=/([\/\^$*+?.()|{}[\]])/g; -Xinha.escapeStringForRegExp=function(_9){ -return _9.replace(Xinha.RE_Specials,"\\$1"); -}; -Xinha.RE_email=/^[_a-z\d\-\.]{3,}@[_a-z\d\-]{2,}(\.[_a-z\d\-]{2,})+$/i; -Xinha.RE_url=/(https?:\/\/)?(([a-z0-9_]+:[a-z0-9_]+@)?[a-z0-9_-]{2,}(\.[a-z0-9_-]{2,}){2,}(:[0-9]+)?(\/\S+)*)/i; -Xinha.Config=function(){ -this.version=Xinha.version.Revision; -this.width="auto"; -this.height="auto"; -this.sizeIncludesBars=true; -this.sizeIncludesPanels=true; -this.panel_dimensions={left:"200px",right:"200px",top:"100px",bottom:"100px"}; -this.iframeWidth=null; -this.statusBar=true; -this.htmlareaPaste=false; -this.mozParaHandler="best"; -this.getHtmlMethod="DOMwalk"; -this.undoSteps=20; -this.undoTimeout=500; -this.changeJustifyWithDirection=false; -this.fullPage=false; -this.pageStyle=""; -this.pageStyleSheets=[]; -this.baseHref=null; -this.expandRelativeUrl=true; -this.stripBaseHref=true; -this.stripSelfNamedAnchors=true; -this.only7BitPrintablesInURLs=true; -this.sevenBitClean=false; -this.specialReplacements={}; -this.inwardHtml=function(_a){ -return _a; -}; -this.outwardHtml=function(_b){ -return _b; -}; -this.killWordOnPaste=true; -this.makeLinkShowsTarget=true; -this.charSet=(typeof document.characterSet!="undefined")?document.characterSet:document.charset; -this.browserQuirksMode=null; -this.imgURL="images/"; -this.popupURL="popups/"; -this.htmlRemoveTags=null; -this.flowToolbars=true; -this.toolbarAlign="left"; -this.showLoading=false; -this.stripScripts=true; -this.convertUrlsToLinks=true; -this.colorPickerCellSize="6px"; -this.colorPickerGranularity=18; -this.colorPickerPosition="bottom,right"; -this.colorPickerWebSafe=false; -this.colorPickerSaveColors=20; -this.fullScreen=false; -this.fullScreenMargins=[0,0,0,0]; -this.toolbar=[["popupeditor"],["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],["separator","forecolor","hilitecolor","textindicator"],["separator","subscript","superscript"],["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],["separator","insertorderedlist","insertunorderedlist","outdent","indent"],["separator","inserthorizontalrule","createlink","insertimage","inserttable"],["linebreak","separator","undo","redo","selectall","print"],(Xinha.is_gecko?[]:["cut","copy","paste","overwrite","saveas"]),["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright","righttoleft"],["separator","htmlmode","showhelp","about"]]; -this.fontname={"— font —":"","Arial":"arial,helvetica,sans-serif","Courier New":"courier new,courier,monospace","Georgia":"georgia,times new roman,times,serif","Tahoma":"tahoma,arial,helvetica,sans-serif","Times New Roman":"times new roman,times,serif","Verdana":"verdana,arial,helvetica,sans-serif","impact":"impact","WingDings":"wingdings"}; -this.fontsize={"— size —":"","1 (8 pt)":"1","2 (10 pt)":"2","3 (12 pt)":"3","4 (14 pt)":"4","5 (18 pt)":"5","6 (24 pt)":"6","7 (36 pt)":"7"}; -this.formatblock={"— format —":"","Heading 1":"h1","Heading 2":"h2","Heading 3":"h3","Heading 4":"h4","Heading 5":"h5","Heading 6":"h6","Normal":"p","Address":"address","Formatted":"pre"}; -this.customSelects={}; -this.debug=true; -this.URIs={"blank":_editor_url+"popups/blank.html","link":_editor_url+"modules/CreateLink/link.html","insert_image":_editor_url+"modules/InsertImage/insert_image.html","insert_table":_editor_url+"modules/InsertTable/insert_table.html","select_color":_editor_url+"popups/select_color.html","about":_editor_url+"popups/about.html","help":_editor_url+"popups/editor_help.html"}; -this.btnList={bold:["Bold",Xinha._lc({key:"button_bold",string:["ed_buttons_main.gif",3,2]},"Xinha"),false,function(e){ -e.execCommand("bold"); -}],italic:["Italic",Xinha._lc({key:"button_italic",string:["ed_buttons_main.gif",2,2]},"Xinha"),false,function(e){ -e.execCommand("italic"); -}],underline:["Underline",Xinha._lc({key:"button_underline",string:["ed_buttons_main.gif",2,0]},"Xinha"),false,function(e){ -e.execCommand("underline"); -}],strikethrough:["Strikethrough",Xinha._lc({key:"button_strikethrough",string:["ed_buttons_main.gif",3,0]},"Xinha"),false,function(e){ -e.execCommand("strikethrough"); -}],subscript:["Subscript",Xinha._lc({key:"button_subscript",string:["ed_buttons_main.gif",3,1]},"Xinha"),false,function(e){ -e.execCommand("subscript"); -}],superscript:["Superscript",Xinha._lc({key:"button_superscript",string:["ed_buttons_main.gif",2,1]},"Xinha"),false,function(e){ -e.execCommand("superscript"); -}],justifyleft:["Justify Left",["ed_buttons_main.gif",0,0],false,function(e){ -e.execCommand("justifyleft"); -}],justifycenter:["Justify Center",["ed_buttons_main.gif",1,1],false,function(e){ -e.execCommand("justifycenter"); -}],justifyright:["Justify Right",["ed_buttons_main.gif",1,0],false,function(e){ -e.execCommand("justifyright"); -}],justifyfull:["Justify Full",["ed_buttons_main.gif",0,1],false,function(e){ -e.execCommand("justifyfull"); -}],orderedlist:["Ordered List",["ed_buttons_main.gif",0,3],false,function(e){ -e.execCommand("insertorderedlist"); -}],unorderedlist:["Bulleted List",["ed_buttons_main.gif",1,3],false,function(e){ -e.execCommand("insertunorderedlist"); -}],insertorderedlist:["Ordered List",["ed_buttons_main.gif",0,3],false,function(e){ -e.execCommand("insertorderedlist"); -}],insertunorderedlist:["Bulleted List",["ed_buttons_main.gif",1,3],false,function(e){ -e.execCommand("insertunorderedlist"); -}],outdent:["Decrease Indent",["ed_buttons_main.gif",1,2],false,function(e){ -e.execCommand("outdent"); -}],indent:["Increase Indent",["ed_buttons_main.gif",0,2],false,function(e){ -e.execCommand("indent"); -}],forecolor:["Font Color",["ed_buttons_main.gif",3,3],false,function(e){ -e.execCommand("forecolor"); -}],hilitecolor:["Background Color",["ed_buttons_main.gif",2,3],false,function(e){ -e.execCommand("hilitecolor"); -}],undo:["Undoes your last action",["ed_buttons_main.gif",4,2],false,function(e){ -e.execCommand("undo"); -}],redo:["Redoes your last action",["ed_buttons_main.gif",5,2],false,function(e){ -e.execCommand("redo"); -}],cut:["Cut selection",["ed_buttons_main.gif",5,0],false,function(e,cmd){ -e.execCommand(cmd); -}],copy:["Copy selection",["ed_buttons_main.gif",4,0],false,function(e,cmd){ -e.execCommand(cmd); -}],paste:["Paste from clipboard",["ed_buttons_main.gif",4,1],false,function(e,cmd){ -e.execCommand(cmd); -}],selectall:["Select all","ed_selectall.gif",false,function(e){ -e.execCommand("selectall"); -}],inserthorizontalrule:["Horizontal Rule",["ed_buttons_main.gif",6,0],false,function(e){ -e.execCommand("inserthorizontalrule"); -}],createlink:["Insert Web Link",["ed_buttons_main.gif",6,1],false,function(e){ -e._createLink(); -}],insertimage:["Insert/Modify Image",["ed_buttons_main.gif",6,3],false,function(e){ -e.execCommand("insertimage"); -}],inserttable:["Insert Table",["ed_buttons_main.gif",6,2],false,function(e){ -e.execCommand("inserttable"); -}],htmlmode:["Toggle HTML Source",["ed_buttons_main.gif",7,0],true,function(e){ -e.execCommand("htmlmode"); -}],toggleborders:["Toggle Borders",["ed_buttons_main.gif",7,2],false,function(e){ -e._toggleBorders(); -}],print:["Print document",["ed_buttons_main.gif",8,1],false,function(e){ -if(Xinha.is_gecko){ -e._iframe.contentWindow.print(); -}else{ -e.focusEditor(); -print(); -} -}],saveas:["Save as","ed_saveas.gif",false,function(e){ -e.execCommand("saveas",false,"noname.htm"); -}],about:["About this editor",["ed_buttons_main.gif",8,2],true,function(e){ -e.execCommand("about"); -}],showhelp:["Help using editor",["ed_buttons_main.gif",9,2],true,function(e){ -e.execCommand("showhelp"); -}],splitblock:["Split Block","ed_splitblock.gif",false,function(e){ -e._splitBlock(); -}],lefttoright:["Direction left to right",["ed_buttons_main.gif",0,4],false,function(e){ -e.execCommand("lefttoright"); -}],righttoleft:["Direction right to left",["ed_buttons_main.gif",1,4],false,function(e){ -e.execCommand("righttoleft"); -}],overwrite:["Insert/Overwrite","ed_overwrite.gif",false,function(e){ -e.execCommand("overwrite"); -}],wordclean:["MS Word Cleaner",["ed_buttons_main.gif",5,3],false,function(e){ -e._wordClean(); -}],clearfonts:["Clear Inline Font Specifications",["ed_buttons_main.gif",5,4],true,function(e){ -e._clearFonts(); -}],removeformat:["Remove formatting",["ed_buttons_main.gif",4,4],false,function(e){ -e.execCommand("removeformat"); -}],killword:["Clear MSOffice tags",["ed_buttons_main.gif",4,3],false,function(e){ -e.execCommand("killword"); -}]}; -for(var i in this.btnList){ -var btn=this.btnList[i]; -if(typeof btn!="object"){ -continue; -} -if(typeof btn[1]!="string"){ -btn[1][0]=_editor_url+this.imgURL+btn[1][0]; -}else{ -btn[1]=_editor_url+this.imgURL+btn[1]; -} -btn[0]=Xinha._lc(btn[0]); -} -}; -Xinha.Config.prototype.registerButton=function(id,_3c,_3d,_3e,_3f,_40){ -var _41; -if(typeof id=="string"){ -_41=id; -}else{ -if(typeof id=="object"){ -_41=id.id; -}else{ -alert("ERROR [Xinha.Config::registerButton]:\ninvalid arguments"); -return false; -} -} -switch(typeof id){ -case "string": -this.btnList[id]=[_3c,_3d,_3e,_3f,_40]; -break; -case "object": -this.btnList[id.id]=[id.tooltip,id.image,id.textMode,id.action,id.context]; -break; -} -}; -Xinha.prototype.registerPanel=function(_42,_43){ -if(!_42){ -_42="right"; -} -this.setLoadingMessage("Register "+_42+" panel "); -var _44=this.addPanel(_42); -if(_43){ -_43.drawPanelIn(_44); -} -}; -Xinha.Config.prototype.registerDropdown=function(_45){ -this.customSelects[_45.id]=_45; -}; -Xinha.Config.prototype.hideSomeButtons=function(_46){ -var _47=this.toolbar; -for(var i=_47.length;--i>=0;){ -var _49=_47[i]; -for(var j=_49.length;--j>=0;){ -if(_46.indexOf(" "+_49[j]+" ")>=0){ -var len=1; -if(/separator|space/.test(_49[j+1])){ -len=2; -} -_49.splice(j,len); -} -} -} -}; -Xinha.Config.prototype.addToolbarElement=function(id,_4d,_4e){ -var _4f=this.toolbar; -var a,i,j,o,sid; -var _51=false; -var _52=false; -var _53=0; -var _54=0; -var _55=0; -var _56=false; -var _57=false; -if((id&&typeof id=="object")&&(id.constructor==Array)){ -_51=true; -} -if((_4d&&typeof _4d=="object")&&(_4d.constructor==Array)){ -_52=true; -_53=_4d.length; -} -if(_51){ -for(i=0;i=0;){ -a.splice(j,0,id[i]); -} -}else{ -a[j]=id; -} -}else{ -if(_4e<0){ -j=j+_4e+1; -}else{ -if(_4e>0){ -j=j+_4e; -} -} -if(_51){ -for(i=id.length;--i>=0;){ -a.splice(j,0,id[i]); -} -}else{ -a.splice(j,0,id); -} -} -}else{ -_4f[0].splice(0,0,"separator"); -if(_51){ -for(i=id.length;--i>=0;){ -_4f[0].splice(0,0,id[i]); -} -}else{ -_4f[0].splice(0,0,id); -} -} -}; -Xinha.Config.prototype.removeToolbarElement=Xinha.Config.prototype.hideSomeButtons; -Xinha.replaceAll=function(_58){ -var tas=document.getElementsByTagName("textarea"); -for(var i=tas.length;i>0;(new Xinha(tas[--i],_58)).generate()){ -} -}; -Xinha.replace=function(id,_5c){ -var ta=Xinha.getElementById("textarea",id); -return ta?(new Xinha(ta,_5c)).generate():null; -}; -Xinha.prototype._createToolbar=function(){ -this.setLoadingMessage(Xinha._lc("Create Toolbar")); -var _5e=this; -var _5f=document.createElement("div"); -this._toolBar=this._toolbar=_5f; -_5f.className="toolbar"; -_5f.unselectable="1"; -_5f.align=this.config.toolbarAlign; -Xinha.freeLater(this,"_toolBar"); -Xinha.freeLater(this,"_toolbar"); -var _60=null; -var _61={}; -this._toolbarObjects=_61; -this._createToolbar1(_5e,_5f,_61); -this._htmlArea.appendChild(_5f); -return _5f; -}; -Xinha.prototype._setConfig=function(_62){ -this.config=_62; -}; -Xinha.prototype._addToolbar=function(){ -this._createToolbar1(this,this._toolbar,this._toolbarObjects); -}; -Xinha._createToolbarBreakingElement=function(){ -var brk=document.createElement("div"); -brk.style.height="1px"; -brk.style.width="1px"; -brk.style.lineHeight="1px"; -brk.style.fontSize="1px"; -brk.style.clear="both"; -return brk; -}; -Xinha.prototype._createToolbar1=function(_64,_65,_66){ -var _67; -if(_64.config.flowToolbars){ -_65.appendChild(Xinha._createToolbarBreakingElement()); -} -function newLine(){ -if(typeof _67!="undefined"&&_67.childNodes.length===0){ -return; -} -var _68=document.createElement("table"); -_68.border="0px"; -_68.cellSpacing="0px"; -_68.cellPadding="0px"; -if(_64.config.flowToolbars){ -if(Xinha.is_ie){ -_68.style.styleFloat="left"; -}else{ -_68.style.cssFloat="left"; -} -} -_65.appendChild(_68); -var _69=document.createElement("tbody"); -_68.appendChild(_69); -_67=document.createElement("tr"); -_69.appendChild(_67); -_68.className="toolbarRow"; -} -newLine(); -function setButtonStatus(id,_6b){ -var _6c=this[id]; -var el=this.element; -if(_6c!=_6b){ -switch(id){ -case "enabled": -if(_6b){ -Xinha._removeClass(el,"buttonDisabled"); -el.disabled=false; -}else{ -Xinha._addClass(el,"buttonDisabled"); -el.disabled=true; -} -break; -case "active": -if(_6b){ -Xinha._addClass(el,"buttonPressed"); -}else{ -Xinha._removeClass(el,"buttonPressed"); -} -break; -} -this[id]=_6b; -} -} -function createSelect(txt){ -var _6f=null; -var el=null; -var cmd=null; -var _72=_64.config.customSelects; -var _73=null; -var _74=""; -switch(txt){ -case "fontsize": -case "fontname": -case "formatblock": -_6f=_64.config[txt]; -cmd=txt; -break; -default: -cmd=txt; -var _75=_72[cmd]; -if(typeof _75!="undefined"){ -_6f=_75.options; -_73=_75.context; -if(typeof _75.tooltip!="undefined"){ -_74=_75.tooltip; -} -}else{ -alert("ERROR [createSelect]:\nCan't find the requested dropdown definition"); -} -break; -} -if(_6f){ -el=document.createElement("select"); -el.title=_74; -var obj={name:txt,element:el,enabled:true,text:false,cmd:cmd,state:setButtonStatus,context:_73}; -Xinha.freeLater(obj); -_66[txt]=obj; -for(var i in _6f){ -if(typeof (_6f[i])!="string"){ -continue; -} -var op=document.createElement("option"); -op.innerHTML=Xinha._lc(i); -op.value=_6f[i]; -el.appendChild(op); -} -Xinha._addEvent(el,"change",function(){ -_64._comboSelected(el,txt); -}); -} -return el; -} -function createButton(txt){ -var el,btn,obj=null; -switch(txt){ -case "separator": -if(_64.config.flowToolbars){ -newLine(); -} -el=document.createElement("div"); -el.className="separator"; -break; -case "space": -el=document.createElement("div"); -el.className="space"; -break; -case "linebreak": -newLine(); -return false; -case "textindicator": -el=document.createElement("div"); -el.appendChild(document.createTextNode("A")); -el.className="indicator"; -el.title=Xinha._lc("Current style"); -obj={name:txt,element:el,enabled:true,active:false,text:false,cmd:"textindicator",state:setButtonStatus}; -Xinha.freeLater(obj); -_66[txt]=obj; -break; -default: -btn=_64.config.btnList[txt]; -} -if(!el&&btn){ -el=document.createElement("a"); -el.style.display="block"; -el.href="javascript:void(0)"; -el.style.textDecoration="none"; -el.title=btn[0]; -el.className="button"; -el.style.direction="ltr"; -obj={name:txt,element:el,enabled:true,active:false,text:btn[2],cmd:btn[3],state:setButtonStatus,context:btn[4]||null}; -Xinha.freeLater(el); -Xinha.freeLater(obj); -_66[txt]=obj; -el.ondrag=function(){ -return false; -}; -Xinha._addEvent(el,"mouseout",function(ev){ -if(obj.enabled){ -Xinha._removeClass(el,"buttonActive"); -if(obj.active){ -Xinha._addClass(el,"buttonPressed"); -} -} -}); -Xinha._addEvent(el,"mousedown",function(ev){ -if(obj.enabled){ -Xinha._addClass(el,"buttonActive"); -Xinha._removeClass(el,"buttonPressed"); -Xinha._stopEvent(Xinha.is_ie?window.event:ev); -} -}); -Xinha._addEvent(el,"click",function(ev){ -ev=Xinha.is_ie?window.event:ev; -_64.btnClickEvent=ev; -if(obj.enabled){ -Xinha._removeClass(el,"buttonActive"); -if(Xinha.is_gecko){ -_64.activateEditor(); -} -obj.cmd(_64,obj.name,obj); -Xinha._stopEvent(ev); -} -}); -var _7e=Xinha.makeBtnImg(btn[1]); -var img=_7e.firstChild; -Xinha.freeLater(_7e); -Xinha.freeLater(img); -el.appendChild(_7e); -obj.imgel=img; -obj.swapImage=function(_80){ -if(typeof _80!="string"){ -img.src=_80[0]; -img.style.position="relative"; -img.style.top=_80[2]?("-"+(18*(_80[2]+1))+"px"):"-18px"; -img.style.left=_80[1]?("-"+(18*(_80[1]+1))+"px"):"-18px"; -}else{ -obj.imgel.src=_80; -img.style.top="0px"; -img.style.left="0px"; -} -}; -}else{ -if(!el){ -el=createSelect(txt); -} -} -return el; -} -var _81=true; -for(var i=0;i] button to switch back to WYSIWYG."); -div.style.display="none"; -this._statusBarTextMode=div; -Xinha.freeLater(this,"_statusBarTextMode"); -this._statusBar.appendChild(div); -if(!this.config.statusBar){ -_8e.style.display="none"; -} -return _8e; -}; -Xinha.prototype.generate=function(){ -if(!Xinha.isSupportedBrowser){ -return; -} -var i; -var _91=this; -var url; -var _93=false; -var _94=document.getElementsByTagName("link"); -if(!document.getElementById("XinhaCoreDesign")){ -_editor_css=(typeof _editor_css=="string")?_editor_css:"Xinha.css"; -for(i=0;i<_94.length;i++){ -if((_94[i].rel=="stylesheet")&&(_94[i].href==_editor_url+_editor_css)){ -_93=true; -} -} -if(!_93){ -Xinha.loadStyle(_editor_css,null,"XinhaCoreDesign",true); -} -} -if(_editor_skin!==""&&!document.getElementById("XinhaSkin")){ -_93=false; -for(i=0;i<_94.length;i++){ -if((_94[i].rel=="stylesheet")&&(_94[i].href==_editor_url+"skins/"+_editor_skin+"/skin.css")){ -_93=true; -} -} -if(!_93){ -Xinha.loadStyle("skins/"+_editor_skin+"/skin.css",null,"XinhaSkin"); -} -} -if(Xinha.is_ie){ -url=_editor_url+"modules/InternetExplorer/InternetExplorer.js"; -if(!Xinha.loadPlugins([{plugin:"InternetExplorer",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("InternetExplorer"); -}else{ -if(Xinha.is_webkit){ -url=_editor_url+"modules/WebKit/WebKit.js"; -if(!Xinha.loadPlugins([{plugin:"WebKit",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("WebKit"); -}else{ -if(Xinha.is_opera){ -url=_editor_url+"modules/Opera/Opera.js"; -if(!Xinha.loadPlugins([{plugin:"Opera",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("Opera"); -}else{ -if(Xinha.is_gecko){ -url=_editor_url+"modules/Gecko/Gecko.js"; -if(!Xinha.loadPlugins([{plugin:"Gecko",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("Gecko"); -} -} -} -} -if(typeof Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/dialog.js",this.generate,this)){ -return false; -} -if(typeof Xinha.Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/inline-dialog.js",this.generate,this)){ -return false; -} -url=_editor_url+"modules/FullScreen/full-screen.js"; -if(!Xinha.loadPlugins([{plugin:"FullScreen",url:url}],function(){ -_91.generate(); -})){ -return false; -} -url=_editor_url+"modules/ColorPicker/ColorPicker.js"; -if(!Xinha.loadPlugins([{plugin:"ColorPicker",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof ColorPicker!="undefined"){ -_91.registerPlugin("ColorPicker"); -} -} -var _95=_91.config.toolbar; -for(i=_95.length;--i>=0;){ -for(var j=_95[i].length;--j>=0;){ -switch(_95[i][j]){ -case "popupeditor": -_91.registerPlugin("FullScreen"); -break; -case "insertimage": -url=_editor_url+"modules/InsertImage/insert_image.js"; -if(typeof Xinha.prototype._insertImage=="undefined"&&!Xinha.loadPlugins([{plugin:"InsertImage",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof InsertImage!="undefined"){ -_91.registerPlugin("InsertImage"); -} -} -break; -case "createlink": -url=_editor_url+"modules/CreateLink/link.js"; -if(typeof Linker=="undefined"&&!Xinha.loadPlugins([{plugin:"CreateLink",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof CreateLink!="undefined"){ -_91.registerPlugin("CreateLink"); -} -} -break; -case "inserttable": -url=_editor_url+"modules/InsertTable/insert_table.js"; -if(!Xinha.loadPlugins([{plugin:"InsertTable",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof InsertTable!="undefined"){ -_91.registerPlugin("InsertTable"); -} -} -break; -} -} -} -if(Xinha.is_gecko&&_91.config.mozParaHandler!="built-in"){ -if(!Xinha.loadPlugins([{plugin:"EnterParagraphs",url:_editor_url+"modules/Gecko/paraHandlerBest.js"}],function(){ -_91.generate(); -})){ -return false; -} -_91.registerPlugin("EnterParagraphs"); -} -if(Xinha.ie_version==8){ -this.config.getHtmlMethod="TransformInnerHTML"; -} -switch(this.config.getHtmlMethod){ -case "TransformInnerHTML": -var _97=_editor_url+"modules/GetHtml/TransformInnerHTML.js"; -break; -default: -var _97=_editor_url+"modules/GetHtml/DOMwalk.js"; -break; -} -if(!Xinha.loadPlugins([{plugin:"GetHtmlImplementation",url:_97}],function(){ -_91.generate(); -})){ -return false; -}else{ -_91.registerPlugin("GetHtmlImplementation"); -} -this.setLoadingMessage(Xinha._lc("Generate Xinha framework")); -this._framework={"table":document.createElement("table"),"tbody":document.createElement("tbody"),"tb_row":document.createElement("tr"),"tb_cell":document.createElement("td"),"tp_row":document.createElement("tr"),"tp_cell":this._panels.top.container,"ler_row":document.createElement("tr"),"lp_cell":this._panels.left.container,"ed_cell":document.createElement("td"),"rp_cell":this._panels.right.container,"bp_row":document.createElement("tr"),"bp_cell":this._panels.bottom.container,"sb_row":document.createElement("tr"),"sb_cell":document.createElement("td")}; -Xinha.freeLater(this._framework); -var fw=this._framework; -fw.table.border="0"; -fw.table.cellPadding="0"; -fw.table.cellSpacing="0"; -fw.tb_row.style.verticalAlign="top"; -fw.tp_row.style.verticalAlign="top"; -fw.ler_row.style.verticalAlign="top"; -fw.bp_row.style.verticalAlign="top"; -fw.sb_row.style.verticalAlign="top"; -fw.ed_cell.style.position="relative"; -fw.tb_row.appendChild(fw.tb_cell); -fw.tb_cell.colSpan=3; -fw.tp_row.appendChild(fw.tp_cell); -fw.tp_cell.colSpan=3; -fw.ler_row.appendChild(fw.lp_cell); -fw.ler_row.appendChild(fw.ed_cell); -fw.ler_row.appendChild(fw.rp_cell); -fw.bp_row.appendChild(fw.bp_cell); -fw.bp_cell.colSpan=3; -fw.sb_row.appendChild(fw.sb_cell); -fw.sb_cell.colSpan=3; -fw.tbody.appendChild(fw.tb_row); -fw.tbody.appendChild(fw.tp_row); -fw.tbody.appendChild(fw.ler_row); -fw.tbody.appendChild(fw.bp_row); -fw.tbody.appendChild(fw.sb_row); -fw.table.appendChild(fw.tbody); -var _99=this._framework.table; -this._htmlArea=_99; -Xinha.freeLater(this,"_htmlArea"); -_99.className="htmlarea"; -this._framework.tb_cell.appendChild(this._createToolbar()); -var _9a=document.createElement("iframe"); -_9a.src=this.popupURL(_91.config.URIs.blank); -_9a.id="XinhaIFrame_"+this._textArea.id; -this._framework.ed_cell.appendChild(_9a); -this._iframe=_9a; -this._iframe.className="xinha_iframe"; -Xinha.freeLater(this,"_iframe"); -var _9b=this._createStatusBar(); -this._framework.sb_cell.appendChild(_9b); -var _9c=this._textArea; -_9c.parentNode.insertBefore(_99,_9c); -_9c.className="xinha_textarea"; -Xinha.removeFromParent(_9c); -this._framework.ed_cell.appendChild(_9c); -Xinha.addDom0Event(this._textArea,"click",function(){ -if(Xinha._currentlyActiveEditor!=this){ -_91.updateToolbar(); -} -return true; -}); -if(_9c.form){ -Xinha.prependDom0Event(this._textArea.form,"submit",function(){ -_91.firePluginEvent("onBeforeSubmit"); -_91._textArea.value=_91.outwardHtml(_91.getHTML()); -return true; -}); -var _9d=_9c.value; -Xinha.prependDom0Event(this._textArea.form,"reset",function(){ -_91.setHTML(_91.inwardHtml(_9d)); -_91.updateToolbar(); -return true; -}); -if(!_9c.form.xinha_submit){ -try{ -_9c.form.xinha_submit=_9c.form.submit; -_9c.form.submit=function(){ -this.onsubmit(); -this.xinha_submit(); -}; -} -catch(ex){ -} -} -} -Xinha.prependDom0Event(window,"unload",function(){ -_91.firePluginEvent("onBeforeUnload"); -_9c.value=_91.outwardHtml(_91.getHTML()); -if(!Xinha.is_ie){ -_99.parentNode.replaceChild(_9c,_99); -} -return true; -}); -_9c.style.display="none"; -_91.initSize(); -this.setLoadingMessage(Xinha._lc("Finishing")); -_91._iframeLoadDone=false; -if(Xinha.is_opera){ -_91.initIframe(); -}else{ -Xinha._addEvent(this._iframe,"load",function(e){ -if(!_91._iframeLoadDone){ -_91._iframeLoadDone=true; -_91.initIframe(); -} -return true; -}); -} -}; -Xinha.prototype.initSize=function(){ -this.setLoadingMessage(Xinha._lc("Init editor size")); -var _9f=this; -var _a0=null; -var _a1=null; -switch(this.config.width){ -case "auto": -_a0=this._initial_ta_size.w; -break; -case "toolbar": -_a0=this._toolBar.offsetWidth+"px"; -break; -default: -_a0=/[^0-9]/.test(this.config.width)?this.config.width:this.config.width+"px"; -break; -} -switch(this.config.height){ -case "auto": -_a1=this._initial_ta_size.h; -break; -default: -_a1=/[^0-9]/.test(this.config.height)?this.config.height:this.config.height+"px"; -break; -} -this.sizeEditor(_a0,_a1,this.config.sizeIncludesBars,this.config.sizeIncludesPanels); -this.notifyOn("panel_change",function(){ -_9f.sizeEditor(); -}); -}; -Xinha.prototype.sizeEditor=function(_a2,_a3,_a4,_a5){ -if(this._risizing){ -return; -} -this._risizing=true; -this.notifyOf("before_resize",{width:_a2,height:_a3}); -this.firePluginEvent("onBeforeResize",_a2,_a3); -this._iframe.style.height="100%"; -this._textArea.style.height="100%"; -this._iframe.style.width=""; -this._textArea.style.width=""; -if(_a4!==null){ -this._htmlArea.sizeIncludesToolbars=_a4; -} -if(_a5!==null){ -this._htmlArea.sizeIncludesPanels=_a5; -} -if(_a2){ -this._htmlArea.style.width=_a2; -if(!this._htmlArea.sizeIncludesPanels){ -var _a6=this._panels.right; -if(_a6.on&&_a6.panels.length&&Xinha.hasDisplayedChildren(_a6.div)){ -this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.right,10))+"px"; -} -var _a7=this._panels.left; -if(_a7.on&&_a7.panels.length&&Xinha.hasDisplayedChildren(_a7.div)){ -this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.left,10))+"px"; -} -} -} -if(_a3){ -this._htmlArea.style.height=_a3; -if(!this._htmlArea.sizeIncludesToolbars){ -this._htmlArea.style.height=(this._htmlArea.offsetHeight+this._toolbar.offsetHeight+this._statusBar.offsetHeight)+"px"; -} -if(!this._htmlArea.sizeIncludesPanels){ -var _a8=this._panels.top; -if(_a8.on&&_a8.panels.length&&Xinha.hasDisplayedChildren(_a8.div)){ -this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.top,10))+"px"; -} -var _a9=this._panels.bottom; -if(_a9.on&&_a9.panels.length&&Xinha.hasDisplayedChildren(_a9.div)){ -this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.bottom,10))+"px"; -} -} -} -_a2=this._htmlArea.offsetWidth; -_a3=this._htmlArea.offsetHeight; -var _aa=this._panels; -var _ab=this; -var _ac=1; -function panel_is_alive(pan){ -if(_aa[pan].on&&_aa[pan].panels.length&&Xinha.hasDisplayedChildren(_aa[pan].container)){ -_aa[pan].container.style.display=""; -return true; -}else{ -_aa[pan].container.style.display="none"; -return false; -} -} -if(panel_is_alive("left")){ -_ac+=1; -} -if(panel_is_alive("right")){ -_ac+=1; -} -this._framework.tb_cell.colSpan=_ac; -this._framework.tp_cell.colSpan=_ac; -this._framework.bp_cell.colSpan=_ac; -this._framework.sb_cell.colSpan=_ac; -if(!this._framework.tp_row.childNodes.length){ -Xinha.removeFromParent(this._framework.tp_row); -}else{ -if(!Xinha.hasParentNode(this._framework.tp_row)){ -this._framework.tbody.insertBefore(this._framework.tp_row,this._framework.ler_row); -} -} -if(!this._framework.bp_row.childNodes.length){ -Xinha.removeFromParent(this._framework.bp_row); -}else{ -if(!Xinha.hasParentNode(this._framework.bp_row)){ -this._framework.tbody.insertBefore(this._framework.bp_row,this._framework.ler_row.nextSibling); -} -} -if(!this.config.statusBar){ -Xinha.removeFromParent(this._framework.sb_row); -}else{ -if(!Xinha.hasParentNode(this._framework.sb_row)){ -this._framework.table.appendChild(this._framework.sb_row); -} -} -this._framework.lp_cell.style.width=this.config.panel_dimensions.left; -this._framework.rp_cell.style.width=this.config.panel_dimensions.right; -this._framework.tp_cell.style.height=this.config.panel_dimensions.top; -this._framework.bp_cell.style.height=this.config.panel_dimensions.bottom; -this._framework.tb_cell.style.height=this._toolBar.offsetHeight+"px"; -this._framework.sb_cell.style.height=this._statusBar.offsetHeight+"px"; -var _ae=_a3-this._toolBar.offsetHeight-this._statusBar.offsetHeight; -if(panel_is_alive("top")){ -_ae-=parseInt(this.config.panel_dimensions.top,10); -} -if(panel_is_alive("bottom")){ -_ae-=parseInt(this.config.panel_dimensions.bottom,10); -} -this._iframe.style.height=_ae+"px"; -var _af=_a2; -if(panel_is_alive("left")){ -_af-=parseInt(this.config.panel_dimensions.left,10); -} -if(panel_is_alive("right")){ -_af-=parseInt(this.config.panel_dimensions.right,10); -} -var _b0=(this.config.iframeWidth)?parseInt(this.config.iframeWidth,10):null; -this._iframe.style.width=(_b0&&_b0<_af)?_b0+"px":_af+"px"; -this._textArea.style.height=this._iframe.style.height; -this._textArea.style.width=this._iframe.style.width; -this.notifyOf("resize",{width:this._htmlArea.offsetWidth,height:this._htmlArea.offsetHeight}); -this.firePluginEvent("onResize",this._htmlArea.offsetWidth,this._htmlArea.offsetWidth); -this._risizing=false; -}; -Xinha.prototype.registerPanel=function(_b1,_b2){ -if(!_b1){ -_b1="right"; -} -this.setLoadingMessage("Register "+_b1+" panel "); -var _b3=this.addPanel(_b1); -if(_b2){ -_b2.drawPanelIn(_b3); -} -}; -Xinha.prototype.addPanel=function(_b4){ -var div=document.createElement("div"); -div.side=_b4; -if(_b4=="left"||_b4=="right"){ -div.style.width=this.config.panel_dimensions[_b4]; -if(this._iframe){ -div.style.height=this._iframe.style.height; -} -} -Xinha.addClasses(div,"panel"); -this._panels[_b4].panels.push(div); -this._panels[_b4].div.appendChild(div); -this.notifyOf("panel_change",{"action":"add","panel":div}); -this.firePluginEvent("onPanelChange","add",div); -return div; -}; -Xinha.prototype.removePanel=function(_b6){ -this._panels[_b6.side].div.removeChild(_b6); -var _b7=[]; -for(var i=0;i"; -}else{ -if(_c8.config.browserQuirksMode===true){ -var _ca=""; -}else{ -var _ca=Xinha.getDoctype(document); -} -} -if(!_c8.config.fullPage){ -_c9+=_ca+"\n"; -_c9+="\n"; -_c9+="\n"; -_c9+="\n"; -if(typeof _c8.config.baseHref!="undefined"&&_c8.config.baseHref!==null){ -_c9+="\n"; -} -_c9+=Xinha.addCoreCSS(); -if(typeof _c8.config.pageStyleSheets!=="undefined"){ -for(var i=0;i<_c8.config.pageStyleSheets.length;i++){ -if(_c8.config.pageStyleSheets[i].length>0){ -_c9+=""; -} -} -} -if(_c8.config.pageStyle){ -_c9+=""; -} -_c9+="\n"; -_c9+="\n"; -_c9+=_c8.inwardHtml(_c8._textArea.value); -_c9+="\n"; -_c9+=""; -}else{ -_c9=_c8.inwardHtml(_c8._textArea.value); -if(_c9.match(Xinha.RE_doctype)){ -_c8.setDoctype(RegExp.$1); -} -var _cc=_c9.match(//gi); -_c9=_c9.replace(/\s*/gi,""); -_cc?_c9=_c9.replace(/<\/head>/i,_cc.join("\n")+"\n"):null; -} -doc.write(_c9); -doc.close(); -if(this.config.fullScreen){ -this._fullScreen(); -} -this.setEditorEvents(); -}; -Xinha.prototype.whenDocReady=function(f){ -var e=this; -if(this._doc&&this._doc.body){ -f(); -}else{ -setTimeout(function(){ -e.whenDocReady(f); -},50); -} -}; -Xinha.prototype.setMode=function(_cf){ -var _d0; -if(typeof _cf=="undefined"){ -_cf=this._editMode=="textmode"?"wysiwyg":"textmode"; -} -switch(_cf){ -case "textmode": -this.firePluginEvent("onBeforeMode","textmode"); -this.setCC("iframe"); -_d0=this.outwardHtml(this.getHTML()); -this.setHTML(_d0); -this.deactivateEditor(); -this._iframe.style.display="none"; -this._textArea.style.display=""; -if(this.config.statusBar){ -this._statusBarTree.style.display="none"; -this._statusBarTextMode.style.display=""; -} -this.findCC("textarea"); -this.notifyOf("modechange",{"mode":"text"}); -this.firePluginEvent("onMode","textmode"); -break; -case "wysiwyg": -this.firePluginEvent("onBeforeMode","wysiwyg"); -this.setCC("textarea"); -_d0=this.inwardHtml(this.getHTML()); -this.deactivateEditor(); -this.setHTML(_d0); -this._iframe.style.display=""; -this._textArea.style.display="none"; -this.activateEditor(); -if(this.config.statusBar){ -this._statusBarTree.style.display=""; -this._statusBarTextMode.style.display="none"; -} -this.findCC("iframe"); -this.notifyOf("modechange",{"mode":"wysiwyg"}); -this.firePluginEvent("onMode","wysiwyg"); -break; -default: -alert("Mode <"+_cf+"> not defined!"); -return false; -} -this._editMode=_cf; -}; -Xinha.prototype.setFullHTML=function(_d1){ -var _d2=RegExp.multiline; -RegExp.multiline=true; -if(_d1.match(Xinha.RE_doctype)){ -this.setDoctype(RegExp.$1); -} -RegExp.multiline=_d2; -if(0){ -if(_d1.match(Xinha.RE_head)){ -this._doc.getElementsByTagName("head")[0].innerHTML=RegExp.$1; -} -if(_d1.match(Xinha.RE_body)){ -this._doc.getElementsByTagName("body")[0].innerHTML=RegExp.$1; -} -}else{ -var _d3=this.editorIsActivated(); -if(_d3){ -this.deactivateEditor(); -} -var _d4=/((.|\n)*?)<\/html>/i; -_d1=_d1.replace(_d4,"$1"); -this._doc.open("text/html","replace"); -this._doc.write(_d1); -this._doc.close(); -if(_d3){ -this.activateEditor(); -} -this.setEditorEvents(); -return true; -} -}; -Xinha.prototype.setEditorEvents=function(){ -var _d5=this; -var doc=this._doc; -_d5.whenDocReady(function(){ -Xinha._addEvents(doc,["mousedown"],function(){ -_d5.activateEditor(); -return true; -}); -if(Xinha.is_ie){ -Xinha._addEvent(_d5._doc.getElementsByTagName("html")[0],"click",function(){ -if(_d5._iframe.contentWindow.event.srcElement.tagName.toLowerCase()=="html"){ -var r=_d5._doc.body.createTextRange(); -r.collapse(); -r.select(); -} -return true; -}); -} -Xinha._addEvents(doc,["keydown","keypress","mousedown","mouseup","drag"],function(_d8){ -return _d5._editorEvent(Xinha.is_ie?_d5._iframe.contentWindow.event:_d8); -}); -for(var i in _d5.plugins){ -var _da=_d5.plugins[i].instance; -Xinha.refreshPlugin(_da); -} -if(typeof _d5._onGenerate=="function"){ -_d5._onGenerate(); -} -Xinha.addDom0Event(window,"resize",function(e){ -_d5.sizeEditor(); -}); -_d5.removeLoadingMessage(); -}); -}; -Xinha.prototype.registerPlugin=function(){ -if(!Xinha.isSupportedBrowser){ -return; -} -var _dc=arguments[0]; -if(_dc===null||typeof _dc=="undefined"||(typeof _dc=="string"&&typeof window[_dc]=="undefined")){ -return false; -} -var _dd=[]; -for(var i=1;i=0;){ -ta.value+=" "; -} -ta.value+=str+"\n"; -} -function _dt(root,_108){ -var tag=root.tagName.toLowerCase(),i; -var ns=Xinha.is_ie?root.scopeName:root.prefix; -debug(_108,"- "+tag+" ["+ns+"]"); -for(i=root.firstChild;i;i=i.nextSibling){ -if(i.nodeType==1){ -_dt(i,_108+2); -} -} -} -_dt(this._doc.body,0); -document.body.appendChild(ta); -}; -Xinha.getInnerText=function(el){ -var txt="",i; -for(i=el.firstChild;i;i=i.nextSibling){ -if(i.nodeType==3){ -txt+=i.data; -}else{ -if(i.nodeType==1){ -txt+=Xinha.getInnerText(i); -} -} -} -return txt; -}; -Xinha.prototype._wordClean=function(){ -var _10d=this; -var _10e={empty_tags:0,mso_class:0,mso_style:0,mso_xmlel:0,orig_len:this._doc.body.innerHTML.length,T:(new Date()).getTime()}; -var _10f={empty_tags:"Empty tags removed: ",mso_class:"MSO class names removed: ",mso_style:"MSO inline style removed: ",mso_xmlel:"MSO XML elements stripped: "}; -function showStats(){ -var txt="Xinha word cleaner stats: \n\n"; -for(var i in _10e){ -if(_10f[i]){ -txt+=_10f[i]+_10e[i]+"\n"; -} -} -txt+="\nInitial document length: "+_10e.orig_len+"\n"; -txt+="Final document length: "+_10d._doc.body.innerHTML.length+"\n"; -txt+="Clean-up took "+(((new Date()).getTime()-_10e.T)/1000)+" seconds"; -alert(txt); -} -function clearClass(node){ -var newc=node.className.replace(/(^|\s)mso.*?(\s|$)/ig," "); -if(newc!=node.className){ -node.className=newc; -if(!(/\S/.test(node.className))){ -node.removeAttribute("className"); -++_10e.mso_class; -} -} -} -function clearStyle(node){ -var _115=node.style.cssText.split(/\s*;\s*/); -for(var i=_115.length;--i>=0;){ -if((/^mso|^tab-stops/i.test(_115[i]))||(/^margin\s*:\s*0..\s+0..\s+0../i.test(_115[i]))){ -++_10e.mso_style; -_115.splice(i,1); -} -} -node.style.cssText=_115.join("; "); -} -var _117=null; -if(Xinha.is_ie){ -_117=function(el){ -el.outerHTML=Xinha.htmlEncode(el.innerText); -++_10e.mso_xmlel; -}; -}else{ -_117=function(el){ -var txt=document.createTextNode(Xinha.getInnerText(el)); -el.parentNode.insertBefore(txt,el); -Xinha.removeFromParent(el); -++_10e.mso_xmlel; -}; -} -function checkEmpty(el){ -if(/^(span|b|strong|i|em|font|div|p)$/i.test(el.tagName)&&!el.firstChild){ -Xinha.removeFromParent(el); -++_10e.empty_tags; -} -} -function parseTree(root){ -var tag=root.tagName.toLowerCase(),i,next; -if((Xinha.is_ie&&root.scopeName!="HTML")||(!Xinha.is_ie&&(/:/.test(tag)))){ -_117(root); -return false; -}else{ -clearClass(root); -clearStyle(root); -for(i=root.firstChild;i;i=next){ -next=i.nextSibling; -if(i.nodeType==1&&parseTree(i)){ -checkEmpty(i); -} -} -} -return true; -} -parseTree(this._doc.body); -this.updateToolbar(); -}; -Xinha.prototype._clearFonts=function(){ -var D=this.getInnerHTML(); -if(confirm(Xinha._lc("Would you like to clear font typefaces?"))){ -D=D.replace(/face="[^"]*"/gi,""); -D=D.replace(/font-family:[^;}"']+;?/gi,""); -} -if(confirm(Xinha._lc("Would you like to clear font sizes?"))){ -D=D.replace(/size="[^"]*"/gi,""); -D=D.replace(/font-size:[^;}"']+;?/gi,""); -} -if(confirm(Xinha._lc("Would you like to clear font colours?"))){ -D=D.replace(/color="[^"]*"/gi,""); -D=D.replace(/([^-])color:[^;}"']+;?/gi,"$1"); -} -D=D.replace(/(style|class)="\s*"/gi,""); -D=D.replace(/<(font|span)\s*>/gi,""); -this.setHTML(D); -this.updateToolbar(); -}; -Xinha.prototype._splitBlock=function(){ -this._doc.execCommand("formatblock",false,"div"); -}; -Xinha.prototype.forceRedraw=function(){ -this._doc.body.style.visibility="hidden"; -this._doc.body.style.visibility=""; -}; -Xinha.prototype.focusEditor=function(){ -switch(this._editMode){ -case "wysiwyg": -try{ -if(Xinha._someEditorHasBeenActivated){ -this.activateEditor(); -this._iframe.contentWindow.focus(); -} -} -catch(ex){ -} -break; -case "textmode": -try{ -this._textArea.focus(); -} -catch(e){ -} -break; -default: -alert("ERROR: mode "+this._editMode+" is not defined"); -} -return this._doc; -}; -Xinha.prototype._undoTakeSnapshot=function(){ -++this._undoPos; -if(this._undoPos>=this.config.undoSteps){ -this._undoQueue.shift(); ---this._undoPos; -} -var take=true; -var txt=this.getInnerHTML(); -if(this._undoPos>0){ -take=(this._undoQueue[this._undoPos-1]!=txt); -} -if(take){ -this._undoQueue[this._undoPos]=txt; -}else{ -this._undoPos--; -} -}; -Xinha.prototype.undo=function(){ -if(this._undoPos>0){ -var txt=this._undoQueue[--this._undoPos]; -if(txt){ -this.setHTML(txt); -}else{ -++this._undoPos; -} -} -}; -Xinha.prototype.redo=function(){ -if(this._undoPos=0;){ -var el=_129[i]; -if(!el){ -continue; -} -var a=document.createElement("a"); -a.href="javascript:void(0)"; -a.el=el; -a.editor=this; -this._statusBarItems.push(a); -Xinha.addDom0Event(a,"click",function(){ -this.blur(); -this.editor.selectNodeContents(this.el); -this.editor.updateToolbar(true); -return false; -}); -Xinha.addDom0Event(a,"contextmenu",function(){ -this.blur(); -var info="Inline style:\n\n"; -info+=this.el.style.cssText.split(/;\s*/).join(";\n"); -alert(info); -return false; -}); -var txt=el.tagName.toLowerCase(); -if(typeof el.style!="undefined"){ -a.title=el.style.cssText; -} -if(el.id){ -txt+="#"+el.id; -} -if(el.className){ -txt+="."+el.className; -} -a.appendChild(document.createTextNode(txt)); -this._statusBarTree.appendChild(a); -if(i!==0){ -this._statusBarTree.appendChild(document.createTextNode(String.fromCharCode(187))); -} -Xinha.freeLater(a); -} -} -} -for(var cmd in this._toolbarObjects){ -var btn=this._toolbarObjects[cmd]; -var _132=true; -if(typeof (btn.state)!="function"){ -continue; -} -if(btn.context&&!text){ -_132=false; -var _133=btn.context; -var _134=[]; -if(/(.*)\[(.*?)\]/.test(_133)){ -_133=RegExp.$1; -_134=RegExp.$2.split(","); -} -_133=_133.toLowerCase(); -var _135=(_133=="*"); -for(var k=0;k<_129.length;++k){ -if(!_129[k]){ -continue; -} -if(_135||(_129[k].tagName.toLowerCase()==_133)){ -_132=true; -var _137=null; -var att=null; -var comp=null; -var _13a=null; -for(var ka=0;ka<_134.length;++ka){ -_137=_134[ka].match(/(.*)(==|!=|===|!==|>|>=|<|<=)(.*)/); -att=_137[1]; -comp=_137[2]; -_13a=_137[3]; -if(!eval(_129[k][att]+comp+_13a)){ -_132=false; -break; -} -} -if(_132){ -break; -} -} -} -} -btn.state("enabled",(!text||btn.text)&&_132); -if(typeof cmd=="function"){ -continue; -} -var _13c=this.config.customSelects[cmd]; -if((!text||btn.text)&&(typeof _13c!="undefined")){ -_13c.refresh(this); -continue; -} -switch(cmd){ -case "fontname": -case "fontsize": -if(!text){ -try{ -var _13d=(""+doc.queryCommandValue(cmd)).toLowerCase(); -if(!_13d){ -btn.element.selectedIndex=0; -break; -} -var _13e=this.config[cmd]; -var _13f=0; -for(var j in _13e){ -if((j.toLowerCase()==_13d)||(_13e[j].substr(0,_13d.length).toLowerCase()==_13d)){ -btn.element.selectedIndex=_13f; -throw "ok"; -} -++_13f; -} -btn.element.selectedIndex=0; -} -catch(ex){ -} -} -break; -case "formatblock": -var _141=[]; -for(var _142 in this.config.formatblock){ -if(typeof this.config.formatblock[_142]=="string"){ -_141[_141.length]=this.config.formatblock[_142]; -} -} -var _143=this._getFirstAncestor(this.getSelection(),_141); -if(_143){ -for(var x=0;x<_141.length;x++){ -if(_141[x].toLowerCase()==_143.tagName.toLowerCase()){ -btn.element.selectedIndex=x; -} -} -}else{ -btn.element.selectedIndex=0; -} -break; -case "textindicator": -if(!text){ -try{ -var _145=btn.element.style; -_145.backgroundColor=Xinha._makeColor(doc.queryCommandValue(Xinha.is_ie?"backcolor":"hilitecolor")); -if(/transparent/i.test(_145.backgroundColor)){ -_145.backgroundColor=Xinha._makeColor(doc.queryCommandValue("backcolor")); -} -_145.color=Xinha._makeColor(doc.queryCommandValue("forecolor")); -_145.fontFamily=doc.queryCommandValue("fontname"); -_145.fontWeight=doc.queryCommandState("bold")?"bold":"normal"; -_145.fontStyle=doc.queryCommandState("italic")?"italic":"normal"; -} -catch(ex){ -} -} -break; -case "htmlmode": -btn.state("active",text); -break; -case "lefttoright": -case "righttoleft": -var _146=this.getParentElement(); -while(_146&&!Xinha.isBlockElement(_146)){ -_146=_146.parentNode; -} -if(_146){ -btn.state("active",(_146.style.direction==((cmd=="righttoleft")?"rtl":"ltr"))); -} -break; -default: -cmd=cmd.replace(/(un)?orderedlist/i,"insert$1orderedlist"); -try{ -btn.state("active",(!text&&doc.queryCommandState(cmd))); -} -catch(ex){ -} -break; -} -} -if(this._customUndo&&!this._timerUndo){ -this._undoTakeSnapshot(); -var _147=this; -this._timerUndo=setTimeout(function(){ -_147._timerUndo=null; -},this.config.undoTimeout); -} -this.firePluginEvent("onUpdateToolbar"); -}; -Xinha.getEditor=function(ref){ -for(var i=__xinhas.length;i--;){ -var _14a=__xinhas[i]; -if(_14a&&(_14a._textArea.id==ref||_14a._textArea.name==ref||_14a._textArea==ref)){ -return _14a; -} -} -return null; -}; -Xinha.prototype.getPluginInstance=function(_14b){ -if(this.plugins[_14b]){ -return this.plugins[_14b].instance; -}else{ -return null; -} -}; -Xinha.prototype.getAllAncestors=function(){ -var p=this.getParentElement(); -var a=[]; -while(p&&(p.nodeType==1)&&(p.tagName.toLowerCase()!="body")){ -a.push(p); -p=p.parentNode; -} -a.push(this._doc.body); -return a; -}; -Xinha.prototype._getFirstAncestor=function(sel,_14f){ -var prnt=this.activeElement(sel); -if(prnt===null){ -try{ -prnt=(Xinha.is_ie?this.createRange(sel).parentElement():this.createRange(sel).commonAncestorContainer); -} -catch(ex){ -return null; -} -} -if(typeof _14f=="string"){ -_14f=[_14f]; -} -while(prnt){ -if(prnt.nodeType==1){ -if(_14f===null){ -return prnt; -} -if(_14f.contains(prnt.tagName.toLowerCase())){ -return prnt; -} -if(prnt.tagName.toLowerCase()=="body"){ -break; -} -if(prnt.tagName.toLowerCase()=="table"){ -break; -} -} -prnt=prnt.parentNode; -} -return null; -}; -Xinha.prototype._getAncestorBlock=function(sel){ -var prnt=(Xinha.is_ie?this.createRange(sel).parentElement:this.createRange(sel).commonAncestorContainer); -while(prnt&&(prnt.nodeType==1)){ -switch(prnt.tagName.toLowerCase()){ -case "div": -case "p": -case "address": -case "blockquote": -case "center": -case "del": -case "ins": -case "pre": -case "h1": -case "h2": -case "h3": -case "h4": -case "h5": -case "h6": -case "h7": -return prnt; -case "body": -case "noframes": -case "dd": -case "li": -case "th": -case "td": -case "noscript": -return null; -default: -break; -} -} -return null; -}; -Xinha.prototype._createImplicitBlock=function(type){ -var sel=this.getSelection(); -if(Xinha.is_ie){ -sel.empty(); -}else{ -sel.collapseToStart(); -} -var rng=this.createRange(sel); -}; -Xinha.prototype.surroundHTML=function(_156,_157){ -var html=this.getSelectedHTML(); -this.insertHTML(_156+html+_157); -}; -Xinha.prototype.hasSelectedText=function(){ -return this.getSelectedHTML()!==""; -}; -Xinha.prototype._comboSelected=function(el,txt){ -this.focusEditor(); -var _15b=el.options[el.selectedIndex].value; -switch(txt){ -case "fontname": -case "fontsize": -this.execCommand(txt,false,_15b); -break; -case "formatblock": -if(!_15b){ -this.updateToolbar(); -break; -} -if(!Xinha.is_gecko||_15b!=="blockquote"){ -_15b="<"+_15b+">"; -} -this.execCommand(txt,false,_15b); -break; -default: -var _15c=this.config.customSelects[txt]; -if(typeof _15c!="undefined"){ -_15c.action(this); -}else{ -alert("FIXME: combo box "+txt+" not implemented"); -} -break; -} -}; -Xinha.prototype._colorSelector=function(_15d){ -var _15e=this; -if(Xinha.is_gecko){ -try{ -_15e._doc.execCommand("useCSS",false,false); -_15e._doc.execCommand("styleWithCSS",false,true); -} -catch(ex){ -} -} -var btn=_15e._toolbarObjects[_15d].element; -var _160; -if(_15d=="hilitecolor"){ -if(Xinha.is_ie){ -_15d="backcolor"; -_160=Xinha._colorToRgb(_15e._doc.queryCommandValue("backcolor")); -}else{ -_160=Xinha._colorToRgb(_15e._doc.queryCommandValue("hilitecolor")); -} -}else{ -_160=Xinha._colorToRgb(_15e._doc.queryCommandValue("forecolor")); -} -var _161=function(_162){ -_15e._doc.execCommand(_15d,false,_162); -}; -if(Xinha.is_ie){ -var _163=_15e.createRange(_15e.getSelection()); -_161=function(_164){ -_163.select(); -_15e._doc.execCommand(_15d,false,_164); -}; -} -var _165=new Xinha.colorPicker({cellsize:_15e.config.colorPickerCellSize,callback:_161,granularity:_15e.config.colorPickerGranularity,websafe:_15e.config.colorPickerWebSafe,savecolors:_15e.config.colorPickerSaveColors}); -_165.open(_15e.config.colorPickerPosition,btn,_160); -}; -Xinha.prototype.execCommand=function(_166,UI,_168){ -var _169=this; -this.focusEditor(); -_166=_166.toLowerCase(); -if(this.firePluginEvent("onExecCommand",_166,UI,_168)){ -this.updateToolbar(); -return false; -} -switch(_166){ -case "htmlmode": -this.setMode(); -break; -case "hilitecolor": -case "forecolor": -this._colorSelector(_166); -break; -case "createlink": -this._createLink(); -break; -case "undo": -case "redo": -if(this._customUndo){ -this[_166](); -}else{ -this._doc.execCommand(_166,UI,_168); -} -break; -case "inserttable": -this._insertTable(); -break; -case "insertimage": -this._insertImage(); -break; -case "about": -this._popupDialog(_169.config.URIs.about,null,this); -break; -case "showhelp": -this._popupDialog(_169.config.URIs.help,null,this); -break; -case "killword": -this._wordClean(); -break; -case "cut": -case "copy": -case "paste": -this._doc.execCommand(_166,UI,_168); -if(this.config.killWordOnPaste){ -this._wordClean(); -} -break; -case "lefttoright": -case "righttoleft": -if(this.config.changeJustifyWithDirection){ -this._doc.execCommand((_166=="righttoleft")?"justifyright":"justifyleft",UI,_168); -} -var dir=(_166=="righttoleft")?"rtl":"ltr"; -var el=this.getParentElement(); -while(el&&!Xinha.isBlockElement(el)){ -el=el.parentNode; -} -if(el){ -if(el.style.direction==dir){ -el.style.direction=""; -}else{ -el.style.direction=dir; -} -} -break; -case "justifyleft": -case "justifyright": -_166.match(/^justify(.*)$/); -var ae=this.activeElement(this.getSelection()); -if(ae&&ae.tagName.toLowerCase()=="img"){ -ae.align=ae.align==RegExp.$1?"":RegExp.$1; -}else{ -this._doc.execCommand(_166,UI,_168); -} -break; -default: -try{ -this._doc.execCommand(_166,UI,_168); -} -catch(ex){ -if(this.config.debug){ -alert(ex+"\n\nby execCommand("+_166+");"); -} -} -break; -} -this.updateToolbar(); -return false; -}; -Xinha.prototype._editorEvent=function(ev){ -var _16e=this; -if(typeof _16e._textArea["on"+ev.type]=="function"){ -_16e._textArea["on"+ev.type](); -} -if(this.isKeyEvent(ev)){ -if(_16e.firePluginEvent("onKeyPress",ev)){ -return false; -} -if(this.isShortCut(ev)){ -this._shortCuts(ev); -} -} -if(ev.type=="mousedown"){ -if(_16e.firePluginEvent("onMouseDown",ev)){ -return false; -} -} -if(_16e._timerToolbar){ -clearTimeout(_16e._timerToolbar); -} -_16e._timerToolbar=setTimeout(function(){ -_16e.updateToolbar(); -_16e._timerToolbar=null; -},250); -}; -Xinha.prototype._shortCuts=function(ev){ -var key=this.getKey(ev).toLowerCase(); -var cmd=null; -var _172=null; -switch(key){ -case "b": -cmd="bold"; -break; -case "i": -cmd="italic"; -break; -case "u": -cmd="underline"; -break; -case "s": -cmd="strikethrough"; -break; -case "l": -cmd="justifyleft"; -break; -case "e": -cmd="justifycenter"; -break; -case "r": -cmd="justifyright"; -break; -case "j": -cmd="justifyfull"; -break; -case "z": -cmd="undo"; -break; -case "y": -cmd="redo"; -break; -case "v": -cmd="paste"; -break; -case "n": -cmd="formatblock"; -_172="p"; -break; -case "0": -cmd="killword"; -break; -case "1": -case "2": -case "3": -case "4": -case "5": -case "6": -cmd="formatblock"; -_172="h"+key; -break; -} -if(cmd){ -this.execCommand(cmd,false,_172); -Xinha._stopEvent(ev); -} -}; -Xinha.prototype.convertNode=function(el,_174){ -var _175=this._doc.createElement(_174); -while(el.firstChild){ -_175.appendChild(el.firstChild); -} -return _175; -}; -Xinha.prototype.scrollToElement=function(e){ -if(!e){ -e=this.getParentElement(); -if(!e){ -return; -} -} -var _177=Xinha.getElementTopLeft(e); -this._iframe.contentWindow.scrollTo(_177.left,_177.top); -}; -Xinha.prototype.getEditorContent=function(){ -return this.outwardHtml(this.getHTML()); -}; -Xinha.prototype.setEditorContent=function(html){ -this.setHTML(this.inwardHtml(html)); -}; -Xinha.prototype.getHTML=function(){ -var html=""; -switch(this._editMode){ -case "wysiwyg": -if(!this.config.fullPage){ -html=Xinha.getHTML(this._doc.body,false,this).trim(); -}else{ -html=this.doctype+"\n"+Xinha.getHTML(this._doc.documentElement,true,this); -} -break; -case "textmode": -html=this._textArea.value; -break; -default: -alert("Mode <"+this._editMode+"> not defined!"); -return false; -} -return html; -}; -Xinha.prototype.outwardHtml=function(html){ -for(var i in this.plugins){ -var _17c=this.plugins[i].instance; -if(_17c&&typeof _17c.outwardHtml=="function"){ -html=_17c.outwardHtml(html); -} -} -html=html.replace(/<(\/?)b(\s|>|\/)/ig,"<$1strong$2"); -html=html.replace(/<(\/?)i(\s|>|\/)/ig,"<$1em$2"); -html=html.replace(/<(\/?)strike(\s|>|\/)/ig,"<$1del$2"); -html=html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=['"])if\(window\.parent && window\.parent\.Xinha\)\{return false\}/gi,"$1"); -var _17d=location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/"; -html=html.replace(/https?:\/\/null\//g,_17d); -html=html.replace(/((href|src|background)=[\'\"])\/+/ig,"$1"+_17d); -html=this.outwardSpecialReplacements(html); -html=this.fixRelativeLinks(html); -if(this.config.sevenBitClean){ -html=html.replace(/[^ -~\r\n\t]/g,function(c){ -return "&#"+c.charCodeAt(0)+";"; -}); -} -html=html.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(freezescript)/gi,"$1javascript"); -if(this.config.fullPage){ -html=Xinha.stripCoreCSS(html); -} -if(typeof this.config.outwardHtml=="function"){ -html=this.config.outwardHtml(html); -} -return html; -}; -Xinha.prototype.inwardHtml=function(html){ -for(var i in this.plugins){ -var _181=this.plugins[i].instance; -if(_181&&typeof _181.inwardHtml=="function"){ -html=_181.inwardHtml(html); -} -} -html=html.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); -html=html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=["'])/gi,"$1if(window.parent && window.parent.Xinha){return false}"); -html=this.inwardSpecialReplacements(html); -html=html.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(javascript)/gi,"$1freezescript"); -var _182=new RegExp("((href|src|background)=['\"])/+","gi"); -html=html.replace(_182,"$1"+location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/"); -html=this.fixRelativeLinks(html); -if(this.config.fullPage){ -html=Xinha.addCoreCSS(html); -} -if(typeof this.config.inwardHtml=="function"){ -html=this.config.inwardHtml(html); -} -return html; -}; -Xinha.prototype.outwardSpecialReplacements=function(html){ -for(var i in this.config.specialReplacements){ -var from=this.config.specialReplacements[i]; -var to=i; -if(typeof from.replace!="function"||typeof to.replace!="function"){ -continue; -} -var reg=new RegExp(Xinha.escapeStringForRegExp(from),"g"); -html=html.replace(reg,to.replace(/\$/g,"$$$$")); -} -return html; -}; -Xinha.prototype.inwardSpecialReplacements=function(html){ -for(var i in this.config.specialReplacements){ -var from=i; -var to=this.config.specialReplacements[i]; -if(typeof from.replace!="function"||typeof to.replace!="function"){ -continue; -} -var reg=new RegExp(Xinha.escapeStringForRegExp(from),"g"); -html=html.replace(reg,to.replace(/\$/g,"$$$$")); -} -return html; -}; -Xinha.prototype.fixRelativeLinks=function(html){ -if(typeof this.config.expandRelativeUrl!="undefined"&&this.config.expandRelativeUrl){ -var src=html.match(/(src|href)="([^"]*)"/gi); -} -var b=document.location.href; -if(src){ -var url,url_m,relPath,base_m,absPath; -for(var i=0;i not defined!"); -return false; -} -return html; -}; -Xinha.prototype.setHTML=function(html){ -if(!this.config.fullPage){ -this._doc.body.innerHTML=html; -}else{ -this.setFullHTML(html); -} -this._textArea.value=html; -}; -Xinha.prototype.setDoctype=function(_196){ -this.doctype=_196; -}; -Xinha._object=null; -Array.prototype.isArray=true; -RegExp.prototype.isRegExp=true; -Xinha.cloneObject=function(obj){ -if(!obj){ -return null; -} -var _198=(obj.isArray)?[]:{}; -if(obj.constructor.toString().match(/\s*function Function\(/)||typeof obj=="function"){ -_198=obj; -}else{ -if(obj.isRegExp){ -_198=eval(obj.toString()); -}else{ -for(var n in obj){ -var node=obj[n]; -if(typeof node=="object"){ -_198[n]=Xinha.cloneObject(node); -}else{ -_198[n]=node; -} -} -} -} -return _198; -}; -Xinha.flushEvents=function(){ -var x=0; -var e=Xinha._eventFlushers.pop(); -while(e){ -try{ -if(e.length==3){ -Xinha._removeEvent(e[0],e[1],e[2]); -x++; -}else{ -if(e.length==2){ -e[0]["on"+e[1]]=null; -e[0]._xinha_dom0Events[e[1]]=null; -x++; -} -} -} -catch(ex){ -} -e=Xinha._eventFlushers.pop(); -} -}; -Xinha._eventFlushers=[]; -if(document.addEventListener){ -Xinha._addEvent=function(el,_19e,func){ -el.addEventListener(_19e,func,true); -Xinha._eventFlushers.push([el,_19e,func]); -}; -Xinha._removeEvent=function(el,_1a1,func){ -el.removeEventListener(_1a1,func,true); -}; -Xinha._stopEvent=function(ev){ -ev.preventDefault(); -ev.stopPropagation(); -}; -}else{ -if(document.attachEvent){ -Xinha._addEvent=function(el,_1a5,func){ -el.attachEvent("on"+_1a5,func); -Xinha._eventFlushers.push([el,_1a5,func]); -}; -Xinha._removeEvent=function(el,_1a8,func){ -el.detachEvent("on"+_1a8,func); -}; -Xinha._stopEvent=function(ev){ -try{ -ev.cancelBubble=true; -ev.returnValue=false; -} -catch(ex){ -} -}; -}else{ -Xinha._addEvent=function(el,_1ac,func){ -alert("_addEvent is not supported"); -}; -Xinha._removeEvent=function(el,_1af,func){ -alert("_removeEvent is not supported"); -}; -Xinha._stopEvent=function(ev){ -alert("_stopEvent is not supported"); -}; -} -} -Xinha._addEvents=function(el,evs,func){ -for(var i=evs.length;--i>=0;){ -Xinha._addEvent(el,evs[i],func); -} -}; -Xinha._removeEvents=function(el,evs,func){ -for(var i=evs.length;--i>=0;){ -Xinha._removeEvent(el,evs[i],func); -} -}; -Xinha.addOnloadHandler=function(func,_1bb){ -_1bb=_1bb?_1bb:window; -var init=function(){ -if(arguments.callee.done){ -return; -} -arguments.callee.done=true; -if(Xinha.onloadTimer){ -clearInterval(Xinha.onloadTimer); -} -func(); -}; -if(Xinha.is_ie){ -_1bb.document.write(""); -var _1bd=_1bb.document.getElementById("__ie_onload"); -_1bd.onreadystatechange=function(){ -if(this.readyState=="loaded"){ -this.parentNode.removeChild(_1bd); -init(); -} -}; -}else{ -if(/applewebkit|KHTML/i.test(navigator.userAgent)){ -Xinha.onloadTimer=_1bb.setInterval(function(){ -if(/loaded|complete/.test(_1bb.document.readyState)){ -init(); -} -},10); -}else{ -_1bb.document.addEventListener("DOMContentLoaded",init,false); -} -} -Xinha._addEvent(_1bb,"load",init); -}; -Xinha.addDom0Event=function(el,ev,fn){ -Xinha._prepareForDom0Events(el,ev); -el._xinha_dom0Events[ev].unshift(fn); -}; -Xinha.prependDom0Event=function(el,ev,fn){ -Xinha._prepareForDom0Events(el,ev); -el._xinha_dom0Events[ev].push(fn); -}; -Xinha._prepareForDom0Events=function(el,ev){ -if(typeof el._xinha_dom0Events=="undefined"){ -el._xinha_dom0Events={}; -Xinha.freeLater(el,"_xinha_dom0Events"); -} -if(typeof el._xinha_dom0Events[ev]=="undefined"){ -el._xinha_dom0Events[ev]=[]; -if(typeof el["on"+ev]=="function"){ -el._xinha_dom0Events[ev].push(el["on"+ev]); -} -el["on"+ev]=function(_1c6){ -var a=el._xinha_dom0Events[ev]; -var _1c8=true; -for(var i=a.length;--i>=0;){ -el._xinha_tempEventHandler=a[i]; -if(el._xinha_tempEventHandler(_1c6)===false){ -el._xinha_tempEventHandler=null; -_1c8=false; -break; -} -el._xinha_tempEventHandler=null; -} -return _1c8; -}; -Xinha._eventFlushers.push([el,ev]); -} -}; -Xinha.prototype.notifyOn=function(ev,fn){ -if(typeof this._notifyListeners[ev]=="undefined"){ -this._notifyListeners[ev]=[]; -Xinha.freeLater(this,"_notifyListeners"); -} -this._notifyListeners[ev].push(fn); -}; -Xinha.prototype.notifyOf=function(ev,args){ -if(this._notifyListeners[ev]){ -for(var i=0;i/ig,">"); -str=str.replace(/\xA0/g," "); -str=str.replace(/\x22/g,"""); -return str; -}; -Xinha.prototype.stripBaseURL=function(_1d3){ -if(this.config.baseHref===null||!this.config.stripBaseHref){ -return _1d3; -} -var _1d4=this.config.baseHref.replace(/^(https?:\/\/[^\/]+)(.*)$/,"$1"); -var _1d5=new RegExp(_1d4); -return _1d3.replace(_1d5,""); -}; -String.prototype.trim=function(){ -return this.replace(/^\s+/,"").replace(/\s+$/,""); -}; -Xinha._makeColor=function(v){ -if(typeof v!="number"){ -return v; -} -var r=v&255; -var g=(v>>8)&255; -var b=(v>>16)&255; -return "rgb("+r+","+g+","+b+")"; -}; -Xinha._colorToRgb=function(v){ -if(!v){ -return ""; -} -var r,g,b; -function hex(d){ -return (d<16)?("0"+d.toString(16)):d.toString(16); -} -if(typeof v=="number"){ -r=v&255; -g=(v>>8)&255; -b=(v>>16)&255; -return "#"+hex(r)+hex(g)+hex(b); -} -if(v.substr(0,3)=="rgb"){ -var re=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/; -if(v.match(re)){ -r=parseInt(RegExp.$1,10); -g=parseInt(RegExp.$2,10); -b=parseInt(RegExp.$3,10); -return "#"+hex(r)+hex(g)+hex(b); -} -return null; -} -if(v.substr(0,1)=="#"){ -return v; -} -return null; -}; -Xinha.prototype._popupDialog=function(url,_1df,init){ -Dialog(this.popupURL(url),_1df,init); -}; -Xinha.prototype.imgURL=function(file,_1e2){ -if(typeof _1e2=="undefined"){ -return _editor_url+file; -}else{ -return _editor_url+"plugins/"+_1e2+"/img/"+file; -} -}; -Xinha.prototype.popupURL=function(file){ -var url=""; -if(file.match(/^plugin:\/\/(.*?)\/(.*)/)){ -var _1e5=RegExp.$1; -var _1e6=RegExp.$2; -if(!(/\.(html?|php)$/.test(_1e6))){ -_1e6+=".html"; -} -url=Xinha.getPluginDir(_1e5)+"/popups/"+_1e6; -}else{ -if(file.match(/^\/.*?/)||file.match(/^https?:\/\//)){ -url=file; -}else{ -url=_editor_url+this.config.popupURL+file; -} -} -return url; -}; -Xinha.getElementById=function(tag,id){ -var el,i,objs=document.getElementsByTagName(tag); -for(i=objs.length;--i>=0&&(el=objs[i]);){ -if(el.id==id){ -return el; -} -} -return null; -}; -Xinha.prototype._toggleBorders=function(){ -var _1ea=this._doc.getElementsByTagName("TABLE"); -if(_1ea.length!==0){ -if(!this.borders){ -this.borders=true; -}else{ -this.borders=false; -} -for(var i=0;i<_1ea.length;i++){ -if(this.borders){ -Xinha._addClass(_1ea[i],"htmtableborders"); -}else{ -Xinha._removeClass(_1ea[i],"htmtableborders"); -} -} -} -return true; -}; -Xinha.addCoreCSS=function(html){ -var _1ed="\n"; -if(html&&//i.test(html)){ -return html.replace(//i,""+_1ed); -}else{ -if(html){ -return _1ed+html; -}else{ -return _1ed; -} -} -}; -Xinha.prototype.addEditorStylesheet=function(_1ee){ -var _1ef=this._doc.createElement("link"); -_1ef.rel="stylesheet"; -_1ef.type="text/css"; -_1ef.title="XinhaInternalCSS"; -_1ef.href=_1ee; -this._doc.getElementsByTagName("HEAD")[0].appendChild(_1ef); -}; -Xinha.stripCoreCSS=function(html){ -return html.replace(/]+title="XinhaInternalCSS"(.|\n)*?<\/style>/ig,"").replace(/]+title="XinhaInternalCSS"(.|\n)*?>/ig,""); -}; -Xinha._removeClass=function(el,_1f2){ -if(!(el&&el.className)){ -return; -} -var cls=el.className.split(" "); -var ar=[]; -for(var i=cls.length;i>0;){ -if(cls[--i]!=_1f2){ -ar[ar.length]=cls[i]; -} -} -el.className=ar.join(" "); -}; -Xinha._addClass=function(el,_1f7){ -Xinha._removeClass(el,_1f7); -el.className+=" "+_1f7; -}; -Xinha.addClasses=function(el,_1f9){ -if(el!==null){ -var _1fa=el.className.trim().split(" "); -var ours=_1f9.split(" "); -for(var x=0;x0;){ -if(cls[--i]==_208){ -return true; -} -} -return false; -}; -Xinha._postback_send_charset=true; -Xinha._postback=function(url,data,_20d){ -var req=null; -req=Xinha.getXMLHTTPRequestObject(); -var _20f=""; -if(typeof data=="string"){ -_20f=data; -}else{ -if(typeof data=="object"){ -for(var i in data){ -_20f+=(_20f.length?"&":"")+i+"="+encodeURIComponent(data[i]); -} -} -} -function callBack(){ -if(req.readyState==4){ -if(req.status==200||Xinha.isRunLocally&&req.status==0){ -if(typeof _20d=="function"){ -_20d(req.responseText,req); -} -}else{ -if(Xinha._postback_send_charset){ -Xinha._postback_send_charset=false; -Xinha._postback(url,data,_20d); -}else{ -alert("An error has occurred: "+req.statusText+"\nURL: "+url); -} -} -} -} -req.onreadystatechange=callBack; -req.open("POST",url,true); -req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"+(Xinha._postback_send_charset?"; charset=UTF-8":"")); -req.send(_20f); -}; -Xinha._getback=function(url,_212){ -var req=null; -req=Xinha.getXMLHTTPRequestObject(); -function callBack(){ -if(req.readyState==4){ -if(req.status==200||Xinha.isRunLocally&&req.status==0){ -_212(req.responseText,req); -}else{ -alert("An error has occurred: "+req.statusText+"\nURL: "+url); -} -} -} -req.onreadystatechange=callBack; -req.open("GET",url,true); -req.send(null); -}; -Xinha._geturlcontent=function(url){ -var req=null; -req=Xinha.getXMLHTTPRequestObject(); -req.open("GET",url,false); -req.send(null); -if(req.status==200||Xinha.isRunLocally&&req.status==0){ -return req.responseText; -}else{ -return ""; -} -}; -if(typeof dumpValues=="undefined"){ -function dumpValues(o){ -var s=""; -for(var prop in o){ -if(window.console&&typeof window.console.log=="function"){ -if(typeof console.firebug!="undefined"){ -console.log(o); -}else{ -console.log(prop+" = "+o[prop]+"\n"); -} -}else{ -s+=prop+" = "+o[prop]+"\n"; -} -} -if(s){ -if(document.getElementById("errors")){ -document.getElementById("errors").value+=s; -}else{ -var x=window.open("","debugger"); -x.document.write("
"+s+"
"); -} -} -} -} -if(!Array.prototype.contains){ -Array.prototype.contains=function(_21a){ -var _21b=this; -for(var i=0;i<_21b.length;i++){ -if(_21a==_21b[i]){ -return true; -} -} -return false; -}; -} -if(!Array.prototype.indexOf){ -Array.prototype.indexOf=function(_21d){ -var _21e=this; -for(var i=0;i<_21e.length;i++){ -if(_21d==_21e[i]){ -return i; -} -} -return null; -}; -} -if(!Array.prototype.append){ -Array.prototype.append=function(a){ -for(var i=0;i>2; -enc2=((chr1&3)<<4)|(chr2>>4); -enc3=((chr2&15)<<2)|(chr3>>6); -enc4=chr3&63; -if(isNaN(chr2)){ -enc3=enc4=64; -}else{ -if(isNaN(chr3)){ -enc4=64; -} -} -_252=_252+_251.charAt(enc1)+_251.charAt(enc2)+_251.charAt(enc3)+_251.charAt(enc4); -}while(i<_250.length); -return _252; -}; -Xinha.base64_decode=function(_256){ -var _257="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; -var _258=""; -var chr1,chr2,chr3; -var enc1,enc2,enc3,enc4; -var i=0; -_256=_256.replace(/[^A-Za-z0-9\+\/\=]/g,""); -do{ -enc1=_257.indexOf(_256.charAt(i++)); -enc2=_257.indexOf(_256.charAt(i++)); -enc3=_257.indexOf(_256.charAt(i++)); -enc4=_257.indexOf(_256.charAt(i++)); -chr1=(enc1<<2)|(enc2>>4); -chr2=((enc2&15)<<4)|(enc3>>2); -chr3=((enc3&3)<<6)|enc4; -_258=_258+String.fromCharCode(chr1); -if(enc3!=64){ -_258=_258+String.fromCharCode(chr2); -} -if(enc4!=64){ -_258=_258+String.fromCharCode(chr3); -} -}while(i<_256.length); -return _258; -}; -Xinha.removeFromParent=function(el){ -if(!el.parentNode){ -return; -} -var pN=el.parentNode; -pN.removeChild(el); -return el; -}; -Xinha.hasParentNode=function(el){ -if(el.parentNode){ -if(el.parentNode.nodeType==11){ -return false; -} -return true; -} -return false; -}; -Xinha.viewportSize=function(_25f){ -_25f=(_25f)?_25f:window; -var x,y; -if(_25f.innerHeight){ -x=_25f.innerWidth; -y=_25f.innerHeight; -}else{ -if(_25f.document.documentElement&&_25f.document.documentElement.clientHeight){ -x=_25f.document.documentElement.clientWidth; -y=_25f.document.documentElement.clientHeight; -}else{ -if(_25f.document.body){ -x=_25f.document.body.clientWidth; -y=_25f.document.body.clientHeight; -} -} -} -return {"x":x,"y":y}; -}; -Xinha.pageSize=function(_261){ -_261=(_261)?_261:window; -var x,y; -var _263=_261.document.body.scrollHeight; -var _264=_261.document.documentElement.scrollHeight; -if(_263>_264){ -x=_261.document.body.scrollWidth; -y=_261.document.body.scrollHeight; -}else{ -x=_261.document.documentElement.scrollWidth; -y=_261.document.documentElement.scrollHeight; -} -return {"x":x,"y":y}; -}; -Xinha.prototype.scrollPos=function(_265){ -_265=(_265)?_265:window; -var x,y; -if(_265.pageYOffset){ -x=_265.pageXOffset; -y=_265.pageYOffset; -}else{ -if(_265.document.documentElement&&document.documentElement.scrollTop){ -x=_265.document.documentElement.scrollLeft; -y=_265.document.documentElement.scrollTop; -}else{ -if(_265.document.body){ -x=_265.document.body.scrollLeft; -y=_265.document.body.scrollTop; -} -} -} -return {"x":x,"y":y}; -}; -Xinha.getElementTopLeft=function(_267){ -var _268=curtop=0; -if(_267.offsetParent){ -_268=_267.offsetLeft; -curtop=_267.offsetTop; -while(_267=_267.offsetParent){ -_268+=_267.offsetLeft; -curtop+=_267.offsetTop; -} -} -return {top:curtop,left:_268}; -}; -Xinha.findPosX=function(obj){ -var _26a=0; -if(obj.offsetParent){ -return Xinha.getElementTopLeft(obj).left; -}else{ -if(obj.x){ -_26a+=obj.x; -} -} -return _26a; -}; -Xinha.findPosY=function(obj){ -var _26c=0; -if(obj.offsetParent){ -return Xinha.getElementTopLeft(obj).top; -}else{ -if(obj.y){ -_26c+=obj.y; -} -} -return _26c; -}; -Xinha.createLoadingMessages=function(_26d){ -if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){ -return; -} -Xinha.loadingMessages=[]; -for(var i=0;i<_26d.length;i++){ -if(!document.getElementById(_26d[i])){ -continue; -} -Xinha.loadingMessages.push(Xinha.createLoadingMessage(Xinha.getElementById("textarea",_26d[i]))); -} -}; -Xinha.createLoadingMessage=function(_26f,text){ -if(document.getElementById("loading_"+_26f.id)||!Xinha.isSupportedBrowser){ -return; -} -var _271=document.createElement("div"); -_271.id="loading_"+_26f.id; -_271.className="loading"; -_271.style.left=(Xinha.findPosX(_26f)+_26f.offsetWidth/2)-106+"px"; -_271.style.top=(Xinha.findPosY(_26f)+_26f.offsetHeight/2)-50+"px"; -var _272=document.createElement("div"); -_272.className="loading_main"; -_272.id="loading_main_"+_26f.id; -_272.appendChild(document.createTextNode(Xinha._lc("Loading in progress. Please wait!"))); -var _273=document.createElement("div"); -_273.className="loading_sub"; -_273.id="loading_sub_"+_26f.id; -text=text?text:Xinha._lc("Loading Core"); -_273.appendChild(document.createTextNode(text)); -_271.appendChild(_272); -_271.appendChild(_273); -document.body.appendChild(_271); -Xinha.freeLater(_271); -Xinha.freeLater(_272); -Xinha.freeLater(_273); -return _273; -}; -Xinha.prototype.setLoadingMessage=function(_274,_275){ -if(!document.getElementById("loading_sub_"+this._textArea.id)){ -return; -} -document.getElementById("loading_main_"+this._textArea.id).innerHTML=_275?_275:Xinha._lc("Loading in progress. Please wait!"); -document.getElementById("loading_sub_"+this._textArea.id).innerHTML=_274; -}; -Xinha.setLoadingMessage=function(_276){ -if(!Xinha.loadingMessages){ -return; -} -for(var i=0;i=9.2)||Xinha.ie_version>=5.5||Xinha.webkit_version>=522};Xinha.isSupportedBrowser=Xinha.checkSupportedBrowser();if(Xinha.isRunLocally&&Xinha.isSupportedBrowser){alert('Xinha *must* be installed on a web server. Locally opened files (those that use the "file://" protocol) cannot properly function. Xinha will try to initialize but may not be correctly loaded.')}function Xinha(d,c){if(!Xinha.isSupportedBrowser){return}if(!d){throw new Error("Tried to create Xinha without textarea specified.")}if(typeof c=="undefined"){this.config=new Xinha.Config()}else{this.config=c}if(typeof d!="object"){d=Xinha.getElementById("textarea",d)}this._textArea=d;this._textArea.spellcheck=false;Xinha.freeLater(this,"_textArea");this._initial_ta_size={w:d.style.width?d.style.width:(d.offsetWidth?(d.offsetWidth+"px"):(d.cols+"em")),h:d.style.height?d.style.height:(d.offsetHeight?(d.offsetHeight+"px"):(d.rows+"em"))};if(document.getElementById("loading_"+d.id)||this.config.showLoading){if(!document.getElementById("loading_"+d.id)){Xinha.createLoadingMessage(d)}this.setLoadingMessage(Xinha._lc("Constructing object"))}this._editMode="wysiwyg";this.plugins={};this._timerToolbar=null;this._timerUndo=null;this._undoQueue=[this.config.undoSteps];this._undoPos=-1;this._customUndo=true;this._mdoc=document;this.doctype="";this.__htmlarea_id_num=__xinhas.length;__xinhas[this.__htmlarea_id_num]=this;this._notifyListeners={};var b={right:{on:true,container:document.createElement("td"),panels:[]},left:{on:true,container:document.createElement("td"),panels:[]},top:{on:true,container:document.createElement("td"),panels:[]},bottom:{on:true,container:document.createElement("td"),panels:[]}};for(var a in b){if(!b[a].container){continue}b[a].div=b[a].container;b[a].container.className="panels panels_"+a;Xinha.freeLater(b[a],"container");Xinha.freeLater(b[a],"div")}this._panels=b;this._statusBar=null;this._statusBarTree=null;this._statusBarTextMode=null;this._statusBarItems=[];this._framework={};this._htmlArea=null;this._iframe=null;this._doc=null;this._toolBar=this._toolbar=null;this._toolbarObjects={};this.plugins.Events={name:"Events",developer:"The Xinha Core Developer Team",instance:c.Events}}Xinha.onload=function(){};Xinha.init=function(){Xinha.onload()};Xinha.RE_tagName=/(<\/|<)\s*([^ \t\n>]+)/ig;Xinha.RE_doctype=/()\n?/i;Xinha.RE_head=/((.|\n)*?)<\/head>/i;Xinha.RE_body=/]*>((.|\n|\r|\t)*?)<\/body>/i;Xinha.RE_Specials=/([\/\^$*+?.()|{}\[\]])/g;Xinha.escapeStringForRegExp=function(a){return a.replace(Xinha.RE_Specials,"\\$1")};Xinha.RE_email=/^[_a-z\d\-\.]{3,}@[_a-z\d\-]{2,}(\.[_a-z\d\-]{2,})+$/i;Xinha.RE_url=/(https?:\/\/)?(([a-z0-9_]+:[a-z0-9_]+@)?[a-z0-9_\-]{2,}(\.[a-z0-9_\-]{2,}){2,}(:[0-9]+)?(\/\S+)*)/i;Xinha.Config=function(){this.version=Xinha.version.Revision;this.width="auto";this.height="auto";this.sizeIncludesBars=true;this.sizeIncludesPanels=true;this.panel_dimensions={left:"200px",right:"200px",top:"100px",bottom:"100px"};this.iframeWidth=null;this.statusBar=true;this.htmlareaPaste=false;this.mozParaHandler="best";this.getHtmlMethod="DOMwalk";this.undoSteps=20;this.undoTimeout=500;this.changeJustifyWithDirection=false;this.fullPage=false;this.pageStyle="";this.pageStyleSheets=[];this.baseHref=null;this.expandRelativeUrl=true;this.stripBaseHref=true;this.stripSelfNamedAnchors=true;this.only7BitPrintablesInURLs=true;this.sevenBitClean=false;this.specialReplacements={};this.inwardHtml=function(c){return c};this.outwardHtml=function(c){return c};this.autofocus=false;this.killWordOnPaste=true;this.makeLinkShowsTarget=true;this.charSet=(typeof document.characterSet!="undefined")?document.characterSet:document.charset;this.browserQuirksMode=null;this.imgURL="images/";this.popupURL="popups/";this.htmlRemoveTags=null;this.flowToolbars=true;this.toolbarAlign="left";this.showFontStylesInToolbar=false;this.showLoading=false;this.stripScripts=true;this.convertUrlsToLinks=true;this.colorPickerCellSize="6px";this.colorPickerGranularity=18;this.colorPickerPosition="bottom,right";this.colorPickerWebSafe=false;this.colorPickerSaveColors=20;this.fullScreen=false;this.fullScreenMargins=[0,0,0,0];this.fullScreenSizeDownMethod="initSize";this.toolbar=[["popupeditor"],["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],["separator","forecolor","hilitecolor","textindicator"],["separator","subscript","superscript"],["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],["separator","insertorderedlist","insertunorderedlist","outdent","indent"],["separator","inserthorizontalrule","createlink","insertimage","inserttable"],["linebreak","separator","undo","redo","selectall","print"],(Xinha.is_gecko?[]:["cut","copy","paste","overwrite","saveas"]),["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright","righttoleft"],["separator","htmlmode","showhelp","about"]];this.fontname={"— font —":"",Arial:"arial,helvetica,sans-serif","Courier New":"courier new,courier,monospace",Georgia:"georgia,times new roman,times,serif",Tahoma:"tahoma,arial,helvetica,sans-serif","Times New Roman":"times new roman,times,serif",Verdana:"verdana,arial,helvetica,sans-serif",impact:"impact",WingDings:"wingdings"};this.fontsize={"— size —":"","1 (8 pt)":"1","2 (10 pt)":"2","3 (12 pt)":"3","4 (14 pt)":"4","5 (18 pt)":"5","6 (24 pt)":"6","7 (36 pt)":"7"};this.formatblock={"— format —":"","Heading 1":"h1","Heading 2":"h2","Heading 3":"h3","Heading 4":"h4","Heading 5":"h5","Heading 6":"h6",Normal:"p",Address:"address",Formatted:"pre"};this.dialogOptions={centered:true,greyout:true,closeOnEscape:true};this.Events={};this.customSelects={};this.debug=false;this.URIs={blank:_editor_url+"popups/blank.html",link:_editor_url+"modules/CreateLink/link.html",insert_image:_editor_url+"modules/InsertImage/insert_image.html",insert_table:_editor_url+"modules/InsertTable/insert_table.html",select_color:_editor_url+"popups/select_color.html",help:_editor_url+"popups/editor_help.html"};this.btnList={bold:["Bold",Xinha._lc({key:"button_bold",string:["ed_buttons_main.png",3,2]},"Xinha"),false,function(c){c.execCommand("bold")}],italic:["Italic",Xinha._lc({key:"button_italic",string:["ed_buttons_main.png",2,2]},"Xinha"),false,function(c){c.execCommand("italic")}],underline:["Underline",Xinha._lc({key:"button_underline",string:["ed_buttons_main.png",2,0]},"Xinha"),false,function(c){c.execCommand("underline")}],strikethrough:["Strikethrough",Xinha._lc({key:"button_strikethrough",string:["ed_buttons_main.png",3,0]},"Xinha"),false,function(c){c.execCommand("strikethrough")}],subscript:["Subscript",Xinha._lc({key:"button_subscript",string:["ed_buttons_main.png",3,1]},"Xinha"),false,function(c){c.execCommand("subscript")}],superscript:["Superscript",Xinha._lc({key:"button_superscript",string:["ed_buttons_main.png",2,1]},"Xinha"),false,function(c){c.execCommand("superscript")}],justifyleft:["Justify Left",["ed_buttons_main.png",0,0],false,function(c){c.execCommand("justifyleft")}],justifycenter:["Justify Center",["ed_buttons_main.png",1,1],false,function(c){c.execCommand("justifycenter")}],justifyright:["Justify Right",["ed_buttons_main.png",1,0],false,function(c){c.execCommand("justifyright")}],justifyfull:["Justify Full",["ed_buttons_main.png",0,1],false,function(c){c.execCommand("justifyfull")}],orderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(c){c.execCommand("insertorderedlist")}],unorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(c){c.execCommand("insertunorderedlist")}],insertorderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(c){c.execCommand("insertorderedlist")}],insertunorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(c){c.execCommand("insertunorderedlist")}],outdent:["Decrease Indent",["ed_buttons_main.png",1,2],false,function(c){c.execCommand("outdent")}],indent:["Increase Indent",["ed_buttons_main.png",0,2],false,function(c){c.execCommand("indent")}],forecolor:["Font Color",["ed_buttons_main.png",3,3],false,function(c){c.execCommand("forecolor")}],hilitecolor:["Background Color",["ed_buttons_main.png",2,3],false,function(c){c.execCommand("hilitecolor")}],undo:["Undoes your last action",["ed_buttons_main.png",4,2],false,function(c){c.execCommand("undo")}],redo:["Redoes your last action",["ed_buttons_main.png",5,2],false,function(c){c.execCommand("redo")}],cut:["Cut selection",["ed_buttons_main.png",5,0],false,function(d,c){d.execCommand(c)}],copy:["Copy selection",["ed_buttons_main.png",4,0],false,function(d,c){d.execCommand(c)}],paste:["Paste from clipboard",["ed_buttons_main.png",4,1],false,function(d,c){d.execCommand(c)}],selectall:["Select all",["ed_buttons_main.png",3,5],false,function(c){c.execCommand("selectall")}],inserthorizontalrule:["Horizontal Rule",["ed_buttons_main.png",6,0],false,function(c){c.execCommand("inserthorizontalrule")}],createlink:["Insert Web Link",["ed_buttons_main.png",6,1],false,function(c){c._createLink()}],insertimage:["Insert/Modify Image",["ed_buttons_main.png",6,3],false,function(c){c.execCommand("insertimage")}],inserttable:["Insert Table",["ed_buttons_main.png",6,2],false,function(c){c.execCommand("inserttable")}],htmlmode:["Toggle HTML Source",["ed_buttons_main.png",7,0],true,function(c){c.execCommand("htmlmode")}],toggleborders:["Toggle Borders",["ed_buttons_main.png",7,2],false,function(c){c._toggleBorders()}],print:["Print document",["ed_buttons_main.png",8,1],false,function(c){if(Xinha.is_gecko){c._iframe.contentWindow.print()}else{c.focusEditor();print()}}],saveas:["Save as",["ed_buttons_main.png",9,1],false,function(c){c.execCommand("saveas",false,"noname.htm")}],about:["About this editor",["ed_buttons_main.png",8,2],true,function(c){c.getPluginInstance("AboutBox").show()}],showhelp:["Help using editor",["ed_buttons_main.png",9,2],true,function(c){c.execCommand("showhelp")}],splitblock:["Split Block","ed_splitblock.gif",false,function(c){c._splitBlock()}],lefttoright:["Direction left to right",["ed_buttons_main.png",0,2],false,function(c){c.execCommand("lefttoright")}],righttoleft:["Direction right to left",["ed_buttons_main.png",1,2],false,function(c){c.execCommand("righttoleft")}],overwrite:["Insert/Overwrite","ed_overwrite.gif",false,function(c){c.execCommand("overwrite")}],wordclean:["MS Word Cleaner",["ed_buttons_main.png",5,3],false,function(c){c._wordClean()}],clearfonts:["Clear Inline Font Specifications",["ed_buttons_main.png",5,4],true,function(c){c._clearFonts()}],removeformat:["Remove formatting",["ed_buttons_main.png",4,4],false,function(c){c.execCommand("removeformat")}],killword:["Clear MSOffice tags",["ed_buttons_main.png",4,3],false,function(c){c.execCommand("killword")}]};this.dblclickList={a:[function(c,d){c._createLink(d)}],img:[function(c,d){c._insertImage(d)}]};this.iconList={dialogCaption:_editor_url+"images/xinha-small-icon.gif",wysiwygmode:[_editor_url+"images/ed_buttons_main.png",7,1]};for(var b in this.btnList){var a=this.btnList[b];if(typeof a!="object"){continue}if(typeof a[1]!="string"){a[1][0]=_editor_url+this.imgURL+a[1][0]}else{a[1]=_editor_url+this.imgURL+a[1]}a[0]=Xinha._lc(a[0])}};Xinha.Config.prototype.registerIcon=function(b,a){this.iconList[b]=a};Xinha.Config.prototype.registerButton=function(f,b,e,d,a,c){if(typeof f=="string"){this.btnList[f]=[b,e,d,a,c]}else{if(typeof f=="object"){this.btnList[f.id]=[f.tooltip,f.image,f.textMode,f.action,f.context]}else{alert("ERROR [Xinha.Config::registerButton]:\ninvalid arguments");return false}}};Xinha.prototype.registerPanel=function(c,b){if(!c){c="right"}this.setLoadingMessage("Register "+c+" panel ");var a=this.addPanel(c);if(b){b.drawPanelIn(a)}};Xinha.Config.prototype.registerDropdown=function(a){this.customSelects[a.id]=a};Xinha.Config.prototype.hideSomeButtons=function(f){var c=this.toolbar;for(var e=c.length;--e>=0;){var b=c[e];for(var d=b.length;--d>=0;){if(f.indexOf(" "+b[d]+" ")>=0){var a=1;if(/separator|space/.test(b[d+1])){a=2}b.splice(d,a)}}}};Xinha.Config.prototype.addToolbarElement=function(d,k,m){var s=this.toolbar;var q,l,h,f,c;var p=false;var b=false;var n=0;var g=0;var e=0;var r=false;var t=false;if((d&&typeof d=="object")&&(d.constructor==Array)){p=true}if((k&&typeof k=="object")&&(k.constructor==Array)){b=true;n=k.length}if(p){for(l=0;l=0;){q.splice(h,0,d[l])}}else{q[h]=d}}else{if(m<0){h=h+m+1}else{if(m>0){h=h+m}}if(p){for(l=d.length;--l>=0;){q.splice(h,0,d[l])}}else{q.splice(h,0,d)}}}else{s[0].splice(0,0,"separator");if(p){for(l=d.length;--l>=0;){s[0].splice(0,0,d[l])}}else{s[0].splice(0,0,d)}}};Xinha.Config.prototype.removeToolbarElement=Xinha.Config.prototype.hideSomeButtons;Xinha.replaceAll=function(b){var c=document.getElementsByTagName("textarea");for(var a=c.length;a>0;new Xinha(c[--a],b).generate()){}};Xinha.replace=function(c,b){var a=Xinha.getElementById("textarea",c);return a?new Xinha(a,b).generate():null};Xinha.prototype._createToolbar=function(){this.setLoadingMessage(Xinha._lc("Create Toolbar"));var b=this;var a=document.createElement("div");this._toolBar=this._toolbar=a;a.className="toolbar";a.align=this.config.toolbarAlign;Xinha.freeLater(this,"_toolBar");Xinha.freeLater(this,"_toolbar");var c=null;var e={};this._toolbarObjects=e;this._createToolbar1(b,a,e);function d(g){if(g.tagName){g.unselectable="on"}if(g.childNodes){for(var f=0;f] button to switch back to WYSIWYG."));c.style.display="none";this._statusBarTextMode=c;Xinha.freeLater(this,"_statusBarTextMode");b.appendChild(c);b.style.whiteSpace="nowrap";var a=this;this.notifyOn("before_resize",function(f,g){a._statusBar.style.width=null});this.notifyOn("resize",function(f,g){if(Xinha.is_ie&&Xinha.ie_version==6){a._statusBar.style.width="100%"}else{var h=g.width;a._statusBar.style.width=h+"px"}});this.notifyOn("modechange",function(g,l){for(var j in a._statusWidgets){var f=a._statusWidgets[j];for(var h=0;h=0;){for(var v=a[w].length;--v>=0;){switch(a[w][v]){case"popupeditor":if(!this.plugins.FullScreen){k.registerPlugin("FullScreen")}break;case"insertimage":g=_editor_url+"modules/InsertImage/insert_image.js";if(typeof Xinha.prototype._insertImage=="undefined"&&!Xinha.loadPlugins([{plugin:"InsertImage",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("InsertImage")!="undefined"&&!this.plugins.InsertImage){k.registerPlugin("InsertImage")}}break;case"createlink":g=_editor_url+"modules/CreateLink/link.js";if(typeof Xinha.getPluginConstructor("Linker")=="undefined"&&!Xinha.loadPlugins([{plugin:"CreateLink",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("CreateLink")!="undefined"&&!this.plugins.CreateLink){k.registerPlugin("CreateLink")}}break;case"inserttable":g=_editor_url+"modules/InsertTable/insert_table.js";if(!Xinha.loadPlugins([{plugin:"InsertTable",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("InsertTable")!="undefined"&&!this.plugins.InsertTable){k.registerPlugin("InsertTable")}}break;case"about":g=_editor_url+"modules/AboutBox/AboutBox.js";if(!Xinha.loadPlugins([{plugin:"AboutBox",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("AboutBox")!="undefined"&&!this.plugins.AboutBox){k.registerPlugin("AboutBox")}}break}}}if(Xinha.is_gecko&&k.config.mozParaHandler!="built-in"){if(!Xinha.loadPlugins([{plugin:"EnterParagraphs",url:_editor_url+"modules/Gecko/paraHandlerBest.js"}],h)){return false}if(!this.plugins.EnterParagraphs){k.registerPlugin("EnterParagraphs")}}var C=this.config.getHtmlMethod=="TransformInnerHTML"?_editor_url+"modules/GetHtml/TransformInnerHTML.js":_editor_url+"modules/GetHtml/DOMwalk.js";if(!Xinha.loadPlugins([{plugin:"GetHtmlImplementation",url:C}],h)){return false}else{if(!this.plugins.GetHtmlImplementation){k.registerPlugin("GetHtmlImplementation")}}function D(i){return i.textContent||i.text}if(_editor_skin){this.skinInfo={};var s=Xinha._geturlcontent(_editor_url+"skins/"+_editor_skin+"/skin.xml",true);if(s){var p=s.getElementsByTagName("meta");for(w=0;w'}else{if(b.config.browserQuirksMode===true){a=""}else{a=Xinha.getDoctype(document)}}if(!b.config.fullPage){e+=a+"\n";e+="\n";e+="\n";e+='\n';if(typeof b.config.baseHref!="undefined"&&b.config.baseHref!==null){e+='\n'}e+=Xinha.addCoreCSS();if(typeof b.config.pageStyleSheets!=="undefined"){for(var d=0;d0){e+=''}}}if(b.config.pageStyle){e+='"}e+="\n";e+="\n";e+=b.inwardHtml(b._textArea.value);e+="\n";e+=""}else{e=b.inwardHtml(b._textArea.value);if(e.match(Xinha.RE_doctype)){b.setDoctype(RegExp.$1)}var c=e.match(//gi);e=e.replace(/\s*/gi,"");if(c){e=e.replace(/<\/head>/i,c.join("\n")+"\n")}}g.write(e);g.close();if(this.config.fullScreen){this._fullScreen()}this.setEditorEvents();if((typeof b.config.autofocus!="undefined")&&b.config.autofocus!==false&&((b.config.autofocus==b._textArea.id)||b.config.autofocus==true)){b.activateEditor();b.focusEditor()}};Xinha.prototype.whenDocReady=function(a){var b=this;if(this._doc&&this._doc.body){a()}else{setTimeout(function(){b.whenDocReady(a)},50)}};Xinha.prototype.setMode=function(b){var a;if(typeof b=="undefined"){b=this._editMode=="textmode"?"wysiwyg":"textmode"}switch(b){case"textmode":this.firePluginEvent("onBeforeMode","textmode");this._toolbarObjects.htmlmode.swapImage(this.config.iconList.wysiwygmode);this.setCC("iframe");a=this.outwardHtml(this.getHTML());this.setHTML(a);this.deactivateEditor();this._iframe.style.display="none";this._textArea.style.display="";if(this.config.statusBar){this._statusBarTree.style.display="none";this._statusBarTextMode.style.display=""}this.findCC("textarea");this.notifyOf("modechange",{mode:"text"});this.firePluginEvent("onMode","textmode");break;case"wysiwyg":this.firePluginEvent("onBeforeMode","wysiwyg");this._toolbarObjects.htmlmode.swapImage([this.imgURL("images/ed_buttons_main.png"),7,0]);this.setCC("textarea");a=this.inwardHtml(this.getHTML());this.deactivateEditor();this.setHTML(a);this._iframe.style.display="";this._textArea.style.display="none";this.activateEditor();if(this.config.statusBar){this._statusBarTree.style.display="";this._statusBarTextMode.style.display="none"}this.findCC("iframe");this.notifyOf("modechange",{mode:"wysiwyg"});this.firePluginEvent("onMode","wysiwyg");break;default:alert("Mode <"+b+"> not defined!");return false}this._editMode=b};Xinha.prototype.setFullHTML=function(c){var a=RegExp.multiline;RegExp.multiline=true;if(c.match(Xinha.RE_doctype)){this.setDoctype(RegExp.$1)}RegExp.multiline=a;if(0){if(c.match(Xinha.RE_head)){this._doc.getElementsByTagName("head")[0].innerHTML=RegExp.$1}if(c.match(Xinha.RE_body)){this._doc.getElementsByTagName("body")[0].innerHTML=RegExp.$1}}else{var d=this.editorIsActivated();if(d){this.deactivateEditor()}var b=/((.|\n)*?)<\/html>/i;c=c.replace(b,"$1");this._doc.open("text/html","replace");this._doc.write(c);this._doc.close();if(d){this.activateEditor()}this.setEditorEvents();return true}};Xinha.prototype.setEditorEvents=function(c){var a=this;var b=this._doc;a.whenDocReady(function(){if(!c){Xinha._addEvents(b,["mousedown"],function(){a.activateEditor();return true});if(Xinha.is_ie){Xinha._addEvent(a._doc.getElementsByTagName("html")[0],"click",function(){if(a._iframe.contentWindow.event.srcElement.tagName.toLowerCase()=="html"){var f=a._doc.body.createTextRange();f.collapse();f.select()}return true})}}Xinha._addEvents(b,["keydown","keypress","mousedown","mouseup","drag"],function(f){return a._editorEvent(Xinha.is_ie?a._iframe.contentWindow.event:f)});Xinha._addEvents(b,["dblclick"],function(f){return a._onDoubleClick(Xinha.is_ie?a._iframe.contentWindow.event:f)});if(c){return}for(var e in a.plugins){var d=a.plugins[e].instance;Xinha.refreshPlugin(d)}if(typeof a._onGenerate=="function"){a._onGenerate()}Xinha.addDom0Event(window,"resize",function(f){if(Xinha.ie_version>7&&!window.parent){if(a.execResize){a.sizeEditor();a.execResize=false}else{a.execResize=true}}else{a.sizeEditor()}});a.removeLoadingMessage()})};Xinha.getPluginConstructor=function(a){return Xinha.plugins[a]||window[a]};Xinha.prototype.registerPlugin=function(){if(!Xinha.isSupportedBrowser){return}var a=arguments[0];if(a===null||typeof a=="undefined"||(typeof a=="string"&&Xinha.getPluginConstructor(a)=="undefined")){return false}var b=[];for(var c=1;c=1){if(arguments[a][0].match(/\.css$/i)){b.loadStyle(arguments[a][0],arguments[a][1])}else{b.loadScript(arguments[a][0],arguments[a][1])}}}}}return b};Xinha.prototype.debugTree=function(){var c=document.createElement("textarea");c.style.width="100%";c.style.height="20em";c.value="";function b(d,e){for(;--d>=0;){c.value+=" "}c.value+=e+"\n"}function a(e,h){var d=e.tagName.toLowerCase(),f;var g=Xinha.is_ie?e.scopeName:e.prefix;b(h,"- "+d+" ["+g+"]");for(f=e.firstChild;f;f=f.nextSibling){if(f.nodeType==1){a(f,h+2)}}}a(this._doc.body,0);document.body.appendChild(c)};Xinha.getInnerText=function(c){var a="",b;for(b=c.firstChild;b;b=b.nextSibling){if(b.nodeType==3){a+=b.data}else{if(b.nodeType==1){a+=Xinha.getInnerText(b)}}}return a};Xinha.prototype._wordClean=function(){var b=this;var e={empty_tags:0,cond_comm:0,mso_elmts:0,mso_class:0,mso_style:0,mso_xmlel:0,orig_len:this._doc.body.innerHTML.length,T:new Date().getTime()};var g={empty_tags:"Empty tags removed: ",cond_comm:"Conditional comments removed",mso_elmts:"MSO invalid elements removed",mso_class:"MSO class names removed: ",mso_style:"MSO inline style removed: ",mso_xmlel:"MSO XML elements stripped: "};function f(){var j="Xinha word cleaner stats: \n\n";for(var k in e){if(g[k]){j+=g[k]+e[k]+"\n"}}j+="\nInitial document length: "+e.orig_len+"\n";j+="Final document length: "+b._doc.body.innerHTML.length+"\n";j+="Clean-up took "+((new Date().getTime()-e.T)/1000)+" seconds";alert(j)}function h(j){var k=j.className.replace(/(^|\s)mso.*?(\s|$)/ig," ");if(k!=j.className){j.className=k;if(!/\S/.test(j.className)){j.removeAttribute("className");++e.mso_class}}}function a(k){var l=k.style.cssText.split(/\s*;\s*/);for(var j=l.length;--j>=0;){if(/^mso|^tab-stops/i.test(l[j])||/^margin\s*:\s*0..\s+0..\s+0../i.test(l[j])){++e.mso_style;l.splice(j,1)}}k.style.cssText=l.join("; ")}function c(j){if(("link"==j.tagName.toLowerCase()&&(j.attributes&&/File-List|Edit-Time-Data|themeData|colorSchemeMapping/.test(j.attributes.rel.nodeValue)))||/^(style|meta)$/i.test(j.tagName)){Xinha.removeFromParent(j);++e.mso_elmts;return true}return false}function d(j){if(/^(a|span|b|strong|i|em|font|div|p)$/i.test(j.tagName)&&!j.firstChild){Xinha.removeFromParent(j);++e.empty_tags;return true}return false}function i(j){h(j);a(j);var m;for(var l=j.firstChild;l;l=m){m=l.nextSibling;if(l.nodeType==1&&i(l)){if((Xinha.is_ie&&j.scopeName!="HTML")||(!Xinha.is_ie&&/:/.test(l.tagName))){for(var k=l.childNodes&&l.childNodes.length-1;l.childNodes&&l.childNodes.length&&l.childNodes[k];--k){if(l.nextSibling){l.parentNode.insertBefore(l.childNodes[k],l.nextSibling)}else{l.parentNode.appendChild(l.childNodes[k])}}Xinha.removeFromParent(l);continue}if(d(l)){continue}if(c(l)){continue}}else{if(l.nodeType==8){if(/(\s*\[\s*if\s*(([gl]te?|!)\s*)?(IE|mso)\s*(\d+(\.\d+)?\s*)?\]>)/.test(l.nodeValue)){Xinha.removeFromParent(l);++e.cond_comm}}}}return true}i(this._doc.body);this.updateToolbar()};Xinha.prototype._clearFonts=function(){var a=this.getInnerHTML();if(confirm(Xinha._lc("Would you like to clear font typefaces?"))){a=a.replace(/face="[^"]*"/gi,"");a=a.replace(/font-family:[^;}"']+;?/gi,"")}if(confirm(Xinha._lc("Would you like to clear font sizes?"))){a=a.replace(/size="[^"]*"/gi,"");a=a.replace(/font-size:[^;}"']+;?/gi,"")}if(confirm(Xinha._lc("Would you like to clear font colours?"))){a=a.replace(/color="[^"]*"/gi,"");a=a.replace(/([^\-])color:[^;}"']+;?/gi,"$1")}a=a.replace(/(style|class)="\s*"/gi,"");a=a.replace(/<(font|span)\s*>/gi,"");this.setHTML(a);this.updateToolbar()};Xinha.prototype._splitBlock=function(){this._doc.execCommand("formatblock",false,"div")};Xinha.prototype.forceRedraw=function(){this._doc.body.style.visibility="hidden";this._doc.body.style.visibility=""};Xinha.prototype.focusEditor=function(){switch(this._editMode){case"wysiwyg":try{if(Xinha._someEditorHasBeenActivated){this.activateEditor();this._iframe.contentWindow.focus()}}catch(a){}break;case"textmode":try{this._textArea.focus()}catch(b){}break;default:alert("ERROR: mode "+this._editMode+" is not defined")}return this._doc};Xinha.prototype._undoTakeSnapshot=function(){++this._undoPos;if(this._undoPos>=this.config.undoSteps){this._undoQueue.shift();--this._undoPos}var b=true;var a=this.getInnerHTML();if(this._undoPos>0){b=(this._undoQueue[this._undoPos-1]!=a)}if(b){this._undoQueue[this._undoPos]=a}else{this._undoPos--}};Xinha.prototype.undo=function(){if(this._undoPos>0){var a=this._undoQueue[--this._undoPos];if(a){this.setHTML(a)}else{++this._undoPos}}};Xinha.prototype.redo=function(){if(this._undoPos=0;){var el=ancestors[i];if(!el){continue}var a=document.createElement("a");a.href="javascript:void(0);";a.el=el;a.editor=this;this._statusBarItems.push(a);Xinha.addDom0Event(a,"click",function(){this.blur();this.editor.selectNodeContents(this.el);this.editor.updateToolbar(true);return false});Xinha.addDom0Event(a,"contextmenu",function(){this.blur();var info="Inline style:\n\n";info+=this.el.style.cssText.split(/;\s*/).join(";\n");alert(info);return false});var txt=el.tagName.toLowerCase();switch(txt){case"b":txt="strong";break;case"i":txt="em";break;case"strike":txt="del";break}if(typeof el.style!="undefined"){a.title=el.style.cssText}if(el.id){txt+="#"+el.id}if(el.className){txt+="."+el.className}a.appendChild(document.createTextNode(txt));this._statusBarTree.appendChild(a);if(i!==0){this._statusBarTree.appendChild(document.createTextNode(String.fromCharCode(187)))}Xinha.freeLater(a)}}}for(var cmd in this._toolbarObjects){var btn=this._toolbarObjects[cmd];var inContext=true;if(typeof btn.state!="function"){continue}if(btn.context&&!text){inContext=false;var context=btn.context;var attrs=[];if(/(.*)\[(.*?)\]/.test(context)){context=RegExp.$1;attrs=RegExp.$2.split(",")}context=context.toLowerCase();var match=(context=="*");for(var k=0;k|>=|<|<=)(.*)/);att=contextSplit[1];comp=contextSplit[2];attVal=contextSplit[3];if(!eval(ancestors[k][att]+comp+attVal)){inContext=false;break}}if(inContext){break}}}}btn.state("enabled",(!text||btn.text)&&inContext);if(typeof cmd=="function"){continue}var dropdown=this.config.customSelects[cmd];if((!text||btn.text)&&(typeof dropdown!="undefined")){dropdown.refresh(this);continue}switch(cmd){case"fontname":case"fontsize":if(!text){try{var value=(""+doc.queryCommandValue(cmd)).toLowerCase();if(!value){btn.element.selectedIndex=0;break}var options=this.config[cmd];var sIndex=0;for(var j in options){if((j.toLowerCase()==value)||(options[j].substr(0,value.length).toLowerCase()==value)){btn.element.selectedIndex=sIndex;throw"ok"}++sIndex}btn.element.selectedIndex=0}catch(ex){}}break;case"formatblock":var blocks=[];for(var indexBlock in this.config.formatblock){if(typeof this.config.formatblock[indexBlock]=="string"){blocks[blocks.length]=this.config.formatblock[indexBlock]}}var deepestAncestor=this._getFirstAncestor(this.getSelection(),blocks);if(deepestAncestor){for(var x=0;x"}this.execCommand(a,false,c);break;default:var d=this.config.customSelects[a];if(typeof d!="undefined"){d.action(this,c,b,a)}else{alert("FIXME: combo box "+a+" not implemented")}break}};Xinha.prototype._colorSelector=function(h){var d=this;if(Xinha.is_gecko){try{d._doc.execCommand("useCSS",false,false);d._doc.execCommand("styleWithCSS",false,true)}catch(g){}}var f=d._toolbarObjects[h].element;var c;if(h=="hilitecolor"){if(Xinha.is_ie){h="backcolor";c=Xinha._colorToRgb(d._doc.queryCommandValue("backcolor"))}else{c=Xinha._colorToRgb(d._doc.queryCommandValue("hilitecolor"))}}else{c=Xinha._colorToRgb(d._doc.queryCommandValue("forecolor"))}var b=function(i){d._doc.execCommand(h,false,i)};if(Xinha.is_ie){var a=d.createRange(d.getSelection());b=function(i){a.select();d._doc.execCommand(h,false,i)}}var e=new Xinha.colorPicker({cellsize:d.config.colorPickerCellSize,callback:b,granularity:d.config.colorPickerGranularity,websafe:d.config.colorPickerWebSafe,savecolors:d.config.colorPickerSaveColors});e.open(d.config.colorPickerPosition,f,c)};Xinha.prototype.execCommand=function(h,f,g){var a=this;this.focusEditor();h=h.toLowerCase();if(this.firePluginEvent("onExecCommand",h,f,g)){this.updateToolbar();return false}switch(h){case"htmlmode":this.setMode();break;case"hilitecolor":case"forecolor":this._colorSelector(h);break;case"createlink":this._createLink();break;case"undo":case"redo":if(this._customUndo){this[h]()}else{this._doc.execCommand(h,f,g)}break;case"inserttable":this._insertTable();break;case"insertimage":this._insertImage();break;case"showhelp":this._popupDialog(a.config.URIs.help,null,this);break;case"killword":this._wordClean();break;case"cut":case"copy":case"paste":this._doc.execCommand(h,f,g);if(this.config.killWordOnPaste){this._wordClean()}break;case"lefttoright":case"righttoleft":if(this.config.changeJustifyWithDirection){this._doc.execCommand((h=="righttoleft")?"justifyright":"justifyleft",f,g)}var b=(h=="righttoleft")?"rtl":"ltr";var e=this.getParentElement();while(e&&!Xinha.isBlockElement(e)){e=e.parentNode}if(e){if(e.style.direction==b){e.style.direction=""}else{e.style.direction=b}}break;case"justifyleft":case"justifyright":h.match(/^justify(.*)$/);var d=this.activeElement(this.getSelection());if(d&&d.tagName.toLowerCase()=="img"){d.align=d.align==RegExp.$1?"":RegExp.$1}else{this._doc.execCommand(h,f,g)}break;default:try{this._doc.execCommand(h,f,g)}catch(c){if(this.config.debug){alert(c+"\n\nby execCommand("+h+");")}}break}this.updateToolbar();return false};Xinha.prototype._editorEvent=function(b){var a=this;if(typeof a._textArea["on"+b.type]=="function"){a._textArea["on"+b.type](b)}if(this.isKeyEvent(b)){if(a.firePluginEvent("onKeyPress",b)){return false}if(this.isShortCut(b)){this._shortCuts(b)}}if(b.type=="mousedown"){if(a.firePluginEvent("onMouseDown",b)){return false}}if(a._timerToolbar){clearTimeout(a._timerToolbar)}if(!this.suspendUpdateToolbar){a._timerToolbar=setTimeout(function(){a.updateToolbar();a._timerToolbar=null},250)}};Xinha.prototype._onDoubleClick=function(d){var c=this;var e=Xinha.is_ie?d.srcElement:d.target;var a=e.tagName;var b=e.className;if(a){a=a.toLowerCase();if(b&&(this.config.dblclickList[a+"."+b]!=undefined)){this.config.dblclickList[a+"."+b][0](c,e)}else{if(this.config.dblclickList[a]!=undefined){this.config.dblclickList[a][0](c,e)}}}};Xinha.prototype._shortCuts=function(b){var a=this.getKey(b).toLowerCase();var d=null;var c=null;switch(a){case"b":d="bold";break;case"i":d="italic";break;case"u":d="underline";break;case"s":d="strikethrough";break;case"l":d="justifyleft";break;case"e":d="justifycenter";break;case"r":d="justifyright";break;case"j":d="justifyfull";break;case"z":d="undo";break;case"y":d="redo";break;case"v":d="paste";break;case"n":d="formatblock";c="p";break;case"0":d="killword";break;case"1":case"2":case"3":case"4":case"5":case"6":d="formatblock";c="h"+a;break}if(d){this.execCommand(d,false,c);Xinha._stopEvent(b)}};Xinha.prototype.convertNode=function(a,c){var b=this._doc.createElement(c);while(a.firstChild){b.appendChild(a.firstChild)}return b};Xinha.prototype.scrollToElement=function(b){if(!b){b=this.getParentElement();if(!b){return}}var a=Xinha.getElementTopLeft(b);this._iframe.contentWindow.scrollTo(a.left,a.top)};Xinha.prototype.getEditorContent=function(){return this.outwardHtml(this.getHTML())};Xinha.prototype.setEditorContent=function(a){this.setHTML(this.inwardHtml(a))};Xinha.updateTextareas=function(){var b;for(var a=0;a<__xinhas.length;a++){b=__xinhas[a];b._textArea.value=b.getEditorContent()}};Xinha.prototype.getHTML=function(){var a="";switch(this._editMode){case"wysiwyg":if(!this.config.fullPage){a=Xinha.getHTML(this._doc.body,false,this).trim()}else{a=this.doctype+"\n"+Xinha.getHTML(this._doc.documentElement,true,this)}break;case"textmode":a=this._textArea.value;break;default:alert("Mode <"+this._editMode+"> not defined!");return false}return a};Xinha.prototype.outwardHtml=function(d){for(var c in this.plugins){var a=this.plugins[c].instance;if(a&&typeof a.outwardHtml=="function"){d=a.outwardHtml(d)}}d=d.replace(/<(\/?)b(\s|>|\/)/ig,"<$1strong$2");d=d.replace(/<(\/?)i(\s|>|\/)/ig,"<$1em$2");d=d.replace(/<(\/?)strike(\s|>|\/)/ig,"<$1del$2");d=d.replace(/(<[^>]*on(click|mouse(over|out|up|down))=['"])if\(window\.parent && window\.parent\.Xinha\)\{return false\}/gi,"$1");var b=location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/";d=d.replace(/https?:\/\/null\//g,b);d=d.replace(/((href|src|background)=[\'\"])\/+/ig,"$1"+b);d=this.outwardSpecialReplacements(d);d=this.fixRelativeLinks(d);if(this.config.sevenBitClean){d=d.replace(/[^ -~\r\n\t]/g,function(e){return(e!=Xinha.cc)?"&#"+e.charCodeAt(0)+";":e})}d=d.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(freezescript)/gi,"$1javascript");if(this.config.fullPage){d=Xinha.stripCoreCSS(d)}if(typeof this.config.outwardHtml=="function"){d=this.config.outwardHtml(d)}return d};Xinha.prototype.inwardHtml=function(c){for(var b in this.plugins){var a=this.plugins[b].instance;if(a&&typeof a.inwardHtml=="function"){c=a.inwardHtml(c)}}c=c.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");c=c.replace(/(<[^>]*on(click|mouse(over|out|up|down))=["'])/gi,"$1if(window.parent && window.parent.Xinha){return false}");c=this.inwardSpecialReplacements(c);c=c.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(javascript)/gi,"$1freezescript");var d=new RegExp("((href|src|background)=['\"])/+","gi");c=c.replace(d,"$1"+location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/");c=this.fixRelativeLinks(c);if(this.config.fullPage){c=Xinha.addCoreCSS(c)}if(typeof this.config.inwardHtml=="function"){c=this.config.inwardHtml(c)}return c};Xinha.prototype.outwardSpecialReplacements=function(b){for(var a in this.config.specialReplacements){var e=this.config.specialReplacements[a];var d=a;if(typeof e.replace!="function"||typeof d.replace!="function"){continue}var c=new RegExp(Xinha.escapeStringForRegExp(e),"g");b=b.replace(c,d.replace(/\$/g,"$$$$"))}return b};Xinha.prototype.inwardSpecialReplacements=function(b){for(var a in this.config.specialReplacements){var e=a;var d=this.config.specialReplacements[a];if(typeof e.replace!="function"||typeof d.replace!="function"){continue}var c=new RegExp(Xinha.escapeStringForRegExp(e),"g");b=b.replace(c,d.replace(/\$/g,"$$$$"))}return b};Xinha.prototype.fixRelativeLinks=function(f){if(typeof this.config.expandRelativeUrl!="undefined"&&this.config.expandRelativeUrl){if(f==null){return""}var c=f.match(/(src|href)="([^"]*)"/gi);var j=document.location.href;if(c){var d,l,k,m,h;for(var e=0;e not defined!");return false}return a};Xinha.prototype.setHTML=function(a){if(!this.config.fullPage){this._doc.body.innerHTML=a}else{this.setFullHTML(a)}this._textArea.value=a};Xinha.prototype.setDoctype=function(a){this.doctype=a};Xinha._object=null;Array.prototype.isArray=true;RegExp.prototype.isRegExp=true;Xinha.cloneObject=function(obj){if(!obj){return null}var newObj=obj.isArray?[]:{};if(obj.constructor.toString().match(/\s*function Function\(/)||typeof obj=="function"){newObj=obj}else{if(obj.isRegExp){newObj=eval(obj.toString())}else{for(var n in obj){var node=obj[n];if(typeof node=="object"){newObj[n]=Xinha.cloneObject(node)}else{newObj[n]=node}}}}return newObj};Xinha.extend=function(a,c){function b(){}b.prototype=c.prototype;a.prototype=new b();a.prototype.constructor=a;a.parentConstructor=c;a.superClass=c.prototype};Xinha.flushEvents=function(){var a=0;var c=Xinha._eventFlushers.pop();while(c){try{if(c.length==3){Xinha._removeEvent(c[0],c[1],c[2]);a++}else{if(c.length==2){c[0]["on"+c[1]]=null;c[0]._xinha_dom0Events[c[1]]=null;a++}}}catch(b){}c=Xinha._eventFlushers.pop()}};Xinha._eventFlushers=[];if(document.addEventListener){Xinha._addEvent=function(b,a,c){b.addEventListener(a,c,false);Xinha._eventFlushers.push([b,a,c])};Xinha._removeEvent=function(b,a,c){b.removeEventListener(a,c,false)};Xinha._stopEvent=function(a){a.preventDefault();a.stopPropagation()}}else{if(document.attachEvent){Xinha._addEvent=function(b,a,c){b.attachEvent("on"+a,c);Xinha._eventFlushers.push([b,a,c])};Xinha._removeEvent=function(b,a,c){b.detachEvent("on"+a,c)};Xinha._stopEvent=function(b){try{b.cancelBubble=true;b.returnValue=false}catch(a){}}}else{Xinha._addEvent=function(b,a,c){alert("_addEvent is not supported")};Xinha._removeEvent=function(b,a,c){alert("_removeEvent is not supported")};Xinha._stopEvent=function(a){alert("_stopEvent is not supported")}}}Xinha._addEvents=function(c,a,d){for(var b=a.length;--b>=0;){Xinha._addEvent(c,a[b],d)}};Xinha._removeEvents=function(c,a,d){for(var b=a.length;--b>=0;){Xinha._removeEvent(c,a[b],d)}};Xinha.addOnloadHandler=function(b,a){a=a?a:window;var c=function(){if(arguments.callee.done){return}arguments.callee.done=true;if(Xinha.onloadTimer){clearInterval(Xinha.onloadTimer)}b()};if(Xinha.is_ie){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);c()}});if(document.documentElement.doScroll&&typeof window.frameElement==="undefined"){(function(){if(arguments.callee.done){return}try{document.documentElement.doScroll("left")}catch(d){setTimeout(arguments.callee,0);return}c()})()}}else{if(/applewebkit|KHTML/i.test(navigator.userAgent)){Xinha.onloadTimer=a.setInterval(function(){if(/loaded|complete/.test(a.document.readyState)){c()}},10)}else{a.document.addEventListener("DOMContentLoaded",c,false)}}Xinha._addEvent(a,"load",c)};Xinha.addDom0Event=function(b,c,a){Xinha._prepareForDom0Events(b,c);b._xinha_dom0Events[c].unshift(a)};Xinha.prependDom0Event=function(b,c,a){Xinha._prepareForDom0Events(b,c);b._xinha_dom0Events[c].push(a)};Xinha.getEvent=function(a){return a||window.event};Xinha._prepareForDom0Events=function(a,b){if(typeof a._xinha_dom0Events=="undefined"){a._xinha_dom0Events={};Xinha.freeLater(a,"_xinha_dom0Events")}if(typeof a._xinha_dom0Events[b]=="undefined"){a._xinha_dom0Events[b]=[];if(typeof a["on"+b]=="function"){a._xinha_dom0Events[b].push(a["on"+b])}a["on"+b]=function(e){var c=a._xinha_dom0Events[b];var f=true;for(var d=c.length;--d>=0;){a._xinha_tempEventHandler=c[d];if(a._xinha_tempEventHandler(e)===false){a._xinha_tempEventHandler=null;f=false;break}a._xinha_tempEventHandler=null}return f};Xinha._eventFlushers.push([a,b])}};Xinha.prototype.notifyOn=function(b,a){if(typeof this._notifyListeners[b]=="undefined"){this._notifyListeners[b]=[];Xinha.freeLater(this,"_notifyListeners")}this._notifyListeners[b].push(a)};Xinha.prototype.notifyOf=function(c,a){if(this._notifyListeners[c]){for(var b=0;b/ig,">");a=a.replace(/\xA0/g," ");a=a.replace(/\x22/g,""");return a};Xinha.prototype.stripBaseURL=function(b){if(this.config.baseHref===null||!this.config.stripBaseHref){return b}var c=this.config.baseHref.replace(/^(https?:\/\/[^\/]+)(.*)$/,"$1");var a=new RegExp(c);return b.replace(a,"")};if(typeof String.prototype.trim!="function"){String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}}Xinha._makeColor=function(c){if(typeof c!="number"){return c}var e=c&255;var d=(c>>8)&255;var a=(c>>16)&255;return"rgb("+e+","+d+","+a+")"};Xinha._colorToRgb=function(c){if(!c){return""}var h,f,a;function e(b){return(b<16)?("0"+b.toString(16)):b.toString(16)}if(typeof c=="number"){h=c&255;f=(c>>8)&255;a=(c>>16)&255;return"#"+e(h)+e(f)+e(a)}if(c.substr(0,3)=="rgb"){var d=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/;if(c.match(d)){h=parseInt(RegExp.$1,10);f=parseInt(RegExp.$2,10);a=parseInt(RegExp.$3,10);return"#"+e(h)+e(f)+e(a)}return null}if(c.substr(0,1)=="#"){return c}return null};Xinha.prototype._popupDialog=function(b,a,c){Dialog(this.popupURL(b),a,c)};Xinha.prototype.imgURL=function(b,a){if(typeof a=="undefined"){return _editor_url+b}else{return Xinha.getPluginDir(a)+"/img/"+b}};Xinha.prototype.popupURL=function(d){var c="";if(d.match(/^plugin:\/\/(.*?)\/(.*)/)){var b=RegExp.$1;var a=RegExp.$2;if(!/\.(html?|php)$/.test(a)){a+=".html"}c=Xinha.getPluginDir(b)+"/popups/"+a}else{if(d.match(/^\/.*?/)||d.match(/^https?:\/\//)){c=d}else{c=_editor_url+this.config.popupURL+d}}return c};Xinha.getElementById=function(a,e){var c,b,d=document.getElementsByTagName(a);for(b=d.length;--b>=0&&(c=d[b]);){if(c.id==e){return c}}return null};Xinha.prototype._toggleBorders=function(){var a=this._doc.getElementsByTagName("TABLE");if(a.length!==0){if(!this.borders){this.borders=true}else{this.borders=false}for(var b=0;b/i.test(b)){return b.replace(//i,""+a)}else{if(b){return a+b}else{return a}}};Xinha.prototype.addEditorStylesheet=function(a){var b=this._doc.createElement("link");b.rel="stylesheet";b.type="text/css";b.title="XinhaInternalCSS";b.href=a;this._doc.getElementsByTagName("HEAD")[0].appendChild(b)};Xinha.stripCoreCSS=function(a){return a.replace(/]+title="XinhaInternalCSS"(.|\n)*?<\/style>/ig,"").replace(/]+title="XinhaInternalCSS"(.|\n)*?>/ig,"")};Xinha._removeClass=function(e,c){if(!(e&&e.className)){return}var a=e.className.split(" ");var b=[];for(var d=a.length;d>0;){if(a[--d]!=c){b[b.length]=a[d]}}e.className=b.join(" ")};Xinha._addClass=function(b,a){Xinha._removeClass(b,a);b.className+=" "+a};Xinha.addClasses=function(g,e){if(g!==null){var f=g.className.trim().split(" ");var d=e.split(" ");for(var a=0;a0;){if(a[--c]==b){return true}}return false};Xinha._postback_send_charset=true;Xinha._postback=function(b,g,h,d){var f=null;f=Xinha.getXMLHTTPRequestObject();var e="";if(typeof g=="string"){e=g}else{if(typeof g=="object"){for(var c in g){e+=(e.length?"&":"")+c+"="+encodeURIComponent(g[c])}}}function a(){if(f.readyState==4){if(((f.status/100)==2)||Xinha.isRunLocally&&f.status===0){if(typeof h=="function"){h(f.responseText,f)}}else{if(Xinha._postback_send_charset){Xinha._postback_send_charset=false;Xinha._postback(b,g,h,d)}else{if(typeof d=="function"){d(f)}else{alert("An error has occurred: "+f.statusText+"\nURL: "+b)}}}}}f.onreadystatechange=a;f.open("POST",b,true);f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"+(Xinha._postback_send_charset?"; charset=UTF-8":""));f.send(e)};Xinha._getback=function(b,e,c){var d=null;d=Xinha.getXMLHTTPRequestObject();function a(){if(d.readyState==4){if(((d.status/100)==2)||Xinha.isRunLocally&&d.status===0){e(d.responseText,d)}else{if(typeof c=="function"){c(d)}else{alert("An error has occurred: "+d.statusText+"\nURL: "+b)}}}}d.onreadystatechange=a;d.open("GET",b,true);d.send(null)};Xinha.ping=function(d,c,b){var e=null;e=Xinha.getXMLHTTPRequestObject();function a(){if(e.readyState==4){if(((e.status/100)==2)||Xinha.isRunLocally&&e.status===0){if(c){c(e)}}else{if(b){b(e)}}}}var f="GET";e.onreadystatechange=a;e.open(f,d,true);e.send(null)};Xinha._geturlcontent=function(a,c){var b=null;b=Xinha.getXMLHTTPRequestObject();b.open("GET",a,false);b.send(null);if(((b.status/100)==2)||Xinha.isRunLocally&&b.status===0){return(c)?b.responseXML:b.responseText}else{return""}};if(typeof dumpValues=="undefined"){dumpValues=function(c){var b="";for(var d in c){if(window.console&&typeof window.console.log=="function"){if(typeof console.firebug!="undefined"){console.log(c)}else{console.log(d+" = "+c[d]+"\n")}}else{b+=d+" = "+c[d]+"\n"}}if(b){if(document.getElementById("errors")){document.getElementById("errors").value+=b}else{var a=window.open("","debugger");a.document.write("
"+b+"
")}}}}if(!Array.prototype.contains){Array.prototype.contains=function(c){var b=this;for(var a=0;a>2;j=((k&3)<<4)|(h>>4);f=((h&15)<<2)|(g>>6);e=g&63;if(isNaN(h)){f=e=64}else{if(isNaN(g)){e=64}}b=b+c.charAt(l)+c.charAt(j)+c.charAt(f)+c.charAt(e)}while(a>4);h=((j&15)<<4)|(f>>2);g=((f&3)<<6)|e;b=b+String.fromCharCode(k);if(f!=64){b=b+String.fromCharCode(h)}if(e!=64){b=b+String.fromCharCode(g)}}while(ab){a=d.document.body.scrollWidth;e=d.document.body.scrollHeight}else{a=d.document.documentElement.scrollWidth;e=d.document.documentElement.scrollHeight}return{x:a,y:e}};Xinha.prototype.scrollPos=function(b){b=(b)?b:window;var a,c;if(typeof b.pageYOffset!="undefined"){a=b.pageXOffset;c=b.pageYOffset}else{if(b.document.documentElement&&typeof document.documentElement.scrollTop!="undefined"){a=b.document.documentElement.scrollLeft;c=b.document.documentElement.scrollTop}else{if(b.document.body){a=b.document.body.scrollLeft;c=b.document.body.scrollTop}}}return{x:a,y:c}};Xinha.getElementTopLeft=function(b){var c=0;var a=0;if(b.offsetParent){c=b.offsetLeft;a=b.offsetTop;while(b=b.offsetParent){c+=b.offsetLeft;a+=b.offsetTop}}return{top:a,left:c}};Xinha.findPosX=function(a){var b=0;if(a.offsetParent){return Xinha.getElementTopLeft(a).left}else{if(a.x){b+=a.x}}return b};Xinha.findPosY=function(b){var a=0;if(b.offsetParent){return Xinha.getElementTopLeft(b).top}else{if(b.y){a+=b.y}}return a};Xinha.createLoadingMessages=function(b){if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){return}Xinha.loadingMessages=[];for(var a=0;a=9.1)||Xinha.ie_version>=5.5||Xinha.is_safari; -Xinha.loadPlugins=function(_1,_2){ -if(!Xinha.isSupportedBrowser){ -return; -} -Xinha.loadStyle(typeof _editor_css=="string"?_editor_css:"Xinha.css","XinhaCoreDesign"); -Xinha.createLoadingMessages(xinha_editors); -var _3=Xinha.loadingMessages; -Xinha._loadback(_editor_url+"XinhaCore.js",function(){ -Xinha.removeLoadingMessages(xinha_editors); -Xinha.createLoadingMessages(xinha_editors); -_2(); -}); -return false; -}; -Xinha._loadback=function(_4,_5,_6,_7){ -var T=!Xinha.is_ie?"onload":"onreadystatechange"; -var S=document.createElement("script"); -S.type="text/javascript"; -S.src=_4; -if(_5){ -S[T]=function(){ -if(Xinha.is_ie&&(!(/loaded|complete/.test(window.event.srcElement.readyState)))){ -return; -} -_5.call(_6?_6:this,_7); -S[T]=null; -}; -} -document.getElementsByTagName("head")[0].appendChild(S); -}; -Xinha.getElementTopLeft=function(_a){ -var _b=curtop=0; -if(_a.offsetParent){ -_b=_a.offsetLeft; -curtop=_a.offsetTop; -while(_a=_a.offsetParent){ -_b+=_a.offsetLeft; -curtop+=_a.offsetTop; -} -} -return {top:curtop,left:_b}; -}; -Xinha.findPosX=function(_c){ -var _d=0; -if(_c.offsetParent){ -return Xinha.getElementTopLeft(_c).left; -}else{ -if(_c.x){ -_d+=_c.x; -} -} -return _d; -}; -Xinha.findPosY=function(_e){ -var _f=0; -if(_e.offsetParent){ -return Xinha.getElementTopLeft(_e).top; -}else{ -if(_e.y){ -_f+=_e.y; -} -} -return _f; -}; -Xinha.createLoadingMessages=function(_10){ -if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){ -return; -} -Xinha.loadingMessages=[]; -for(var i=0;i<_10.length;i++){ -if(!document.getElementById(_10[i])){ -continue; -} -Xinha.loadingMessages.push(Xinha.createLoadingMessage(document.getElementById(_10[i]))); -} -}; -Xinha.createLoadingMessage=function(_12,_13){ -if(document.getElementById("loading_"+_12.id)||!Xinha.isSupportedBrowser){ -return; -} -var _14=document.createElement("div"); -_14.id="loading_"+_12.id; -_14.className="loading"; -_14.style.left=(Xinha.findPosX(_12)+_12.offsetWidth/2)-106+"px"; -_14.style.top=(Xinha.findPosY(_12)+_12.offsetHeight/2)-50+"px"; -var _15=document.createElement("div"); -_15.className="loading_main"; -_15.id="loading_main_"+_12.id; -_15.appendChild(document.createTextNode(Xinha._lc("Loading in progress. Please wait!"))); -var _16=document.createElement("div"); -_16.className="loading_sub"; -_16.id="loading_sub_"+_12.id; -_13=_13?_13:Xinha._lc("Loading Core"); -_16.appendChild(document.createTextNode(_13)); -_14.appendChild(_15); -_14.appendChild(_16); -document.body.appendChild(_14); -return _16; -}; -Xinha.loadStyle=function(_17,id){ -var url=_editor_url||""; -url+=_17; -var _1a=document.getElementsByTagName("head")[0]; -var _1b=document.createElement("link"); -_1b.rel="stylesheet"; -_1b.href=url; -if(id){ -_1b.id=id; -} -_1a.appendChild(_1b); -}; -Xinha._lc=function(_1c){ -return _1c; -}; -Xinha._addEvent=function(el,_1e,_1f){ -if(document.addEventListener){ -el.addEventListener(_1e,_1f,true); -}else{ -el.attachEvent("on"+_1e,_1f); -} -}; -Xinha.addOnloadHandler=function(_20){ -var _21=function(){ -if(arguments.callee.done){ -return; -} -arguments.callee.done=true; -if(Xinha.onloadTimer){ -clearInterval(Xinha.onloadTimer); -} -_20.call(); -}; -if(Xinha.is_ie){ -document.write(""); -var _22=document.getElementById("__ie_onload"); -_22.onreadystatechange=function(){ -if(this.readyState=="loaded"){ -_21(); -} -}; -}else{ -if(/WebKit/i.test(navigator.userAgent)){ -Xinha.onloadTimer=setInterval(function(){ -if(/loaded|complete/.test(document.readyState)){ -_21(); -} -},10); -}else{ -document.addEventListener("DOMContentLoaded",_21,false); -} -} -}; - +var Xinha={};if(!window._editor_url){(function(){var scripts=document.getElementsByTagName("script");var this_script=scripts[scripts.length-1];var args=this_script.src.split("?");args=args.length==2?args[1].split("&"):"";for(var index=0;index=9.1)||Xinha.ie_version>=5.5||Xinha.is_safari;Xinha.loadPlugins=function(b,a){if(!Xinha.isSupportedBrowser){return}Xinha.loadStyle(typeof _editor_css=="string"?_editor_css:"Xinha.css","XinhaCoreDesign");Xinha.createLoadingMessages(xinha_editors);var c=Xinha.loadingMessages;Xinha._loadback(_editor_url+"XinhaCore.js",function(){Xinha.removeLoadingMessages(xinha_editors);Xinha.createLoadingMessages(xinha_editors);a()});return false};Xinha._loadback=function(f,e,a,d){var b=!Xinha.is_ie?"onload":"onreadystatechange";var c=document.createElement("script");c.type="text/javascript";c.src=f;if(e){c[b]=function(){if(Xinha.is_ie&&(!(/loaded|complete/.test(window.event.srcElement.readyState)))){return}e.call(a?a:this,d);c[b]=null}}document.getElementsByTagName("head")[0].appendChild(c)};Xinha.getElementTopLeft=function(b){var c=0;var a=0;if(b.offsetParent){c=b.offsetLeft;a=b.offsetTop;while(b=b.offsetParent){c+=b.offsetLeft;a+=b.offsetTop}}return{top:a,left:c}};Xinha.findPosX=function(a){var b=0;if(a.offsetParent){return Xinha.getElementTopLeft(a).left}else{if(a.x){b+=a.x}}return b};Xinha.findPosY=function(b){var a=0;if(b.offsetParent){return Xinha.getElementTopLeft(b).top}else{if(b.y){a+=b.y}}return a};Xinha.createLoadingMessages=function(b){if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){return}Xinha.loadingMessages=[];for(var a=0;a %%V 2>&1 + +FOR %%V IN (%*) DO del %%V_uncompressed.js + +# pause \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/contrib/compress.php b/ccm-core/web/assets/xinha/contrib/compress.php new file mode 100644 index 000000000..e348353b2 --- /dev/null +++ b/ccm-core/web/assets/xinha/contrib/compress.php @@ -0,0 +1,99 @@ +"; + +$prefix = "/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */"; +if ($version) $prefix .= "\n/* This file is part of version $version released $date */"; + +$core_prefix = ' + /*-------------------------------------------------------------------------- + -- Xinha (is not htmlArea) - http://xinha.org + -- + -- Use of Xinha is granted by the terms of the htmlArea License (based on + -- BSD license) please read license.txt in this package for details. + -- + -- Copyright (c) 2005-2008 Xinha Developer Team and contributors + -- + -- Xinha was originally based on work by Mihai Bazon which is: + -- Copyright (c) 2003-2004 dynarch.com. + -- Copyright (c) 2002-2003 interactivetools.com, inc. + -- This copyright notice MUST stay intact for use. + -------------------------------------------------------------------------*/ +'; +foreach ($return as $file) +{ + set_time_limit ( 60 ); + print "Processed $file
"; + flush(); + $file_url = $repository_url.str_replace($root_dir,'',$file); + + copy($file,$file."_uncompr.js"); + + $file_prefix = $prefix."\n/* The URL of the most recent version of this file is $file_url */"; + + exec("echo \"".(preg_match('/XinhaCore.js$/',$file) ? $file_prefix.$core_prefix : $file_prefix)."\" > $file && java -jar ${cwd}/dojo_js_compressor.jar -c ${file}_uncompr.js >> $file 2>&1"); + if (preg_match('/js: ".*?", line \d+:/',file_get_contents($file)) || preg_match('/sh: java: command not found/', file_get_contents($file))) + { + unlink($file); + rename($file."_uncompr.js",$file); + } + else + { + unlink($file."_uncompr.js"); + } + +} +print "Operation complete." +?> diff --git a/ccm-core/web/assets/xinha/contrib/compress_yui.php b/ccm-core/web/assets/xinha/contrib/compress_yui.php new file mode 100644 index 000000000..3e88cf3b3 --- /dev/null +++ b/ccm-core/web/assets/xinha/contrib/compress_yui.php @@ -0,0 +1,107 @@ +"; + +$prefix = "/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */"; +if ($version) $prefix .= "\n/* This file is part of version $version released $date */"; +$core_prefix = ' + /*-------------------------------------------------------------------------- + -- Xinha (is not htmlArea) - http://xinha.org + -- + -- Use of Xinha is granted by the terms of the htmlArea License (based on + -- BSD license) please read license.txt in this package for details. + -- + -- Copyright (c) 2005-'.date('Y').' Xinha Developer Team and contributors + -- + -- Xinha was originally based on work by Mihai Bazon which is: + -- Copyright (c) 2003-2004 dynarch.com. + -- Copyright (c) 2002-2003 interactivetools.com, inc. + -- This copyright notice MUST stay intact for use. + -------------------------------------------------------------------------*/ +'; + +foreach ($return as $file) +{ + set_time_limit ( 60 ); + print "Processing $file\n"; + flush(); + + $file_url = $repository_url.str_replace($xinha_root,'',$file); + + copy($file,$file."_uncompr.js"); + + $file_prefix = $prefix."\n/* The URL of the most recent uncompressed version of this file is $file_url */"; + $ext = preg_replace('/.*?(\.js|\.css)$/','$1',$file); + + file_put_contents($file."_uncompr${ext}", preg_replace('/(\/\/[^\n]*)?(?![*])\\\[\n]/','',file_get_contents($file))); + + passthru("echo \"".(preg_match('/XinhaCore.js$/',$file) ? $file_prefix.$core_prefix : $prefix)."\" > $file && java -jar {$xinha_root}/contrib/yuicompressor-2.4.2.jar --charset UTF-8 ${file}_uncompr${ext} >> $file 2>&1"); + if (preg_match('/\d+:\d+:syntax error/',file_get_contents($file)) || preg_match('/sh: java: command not found/', file_get_contents($file))) + { + unlink($file); + rename($file."_uncompr${ext}",$file); + } + else + { + unlink($file."_uncompr${ext}"); + } + +} +print "Operation complete." +?> diff --git a/ccm-core/web/assets/xinha/contrib/dojo_js_compressor.jar b/ccm-core/web/assets/xinha/contrib/dojo_js_compressor.jar new file mode 100644 index 000000000..8852aed2b Binary files /dev/null and b/ccm-core/web/assets/xinha/contrib/dojo_js_compressor.jar differ diff --git a/ccm-core/web/assets/xinha/contrib/lc_merge_strings.php b/ccm-core/web/assets/xinha/contrib/lc_merge_strings.php new file mode 100644 index 000000000..9b9f3b4ac --- /dev/null +++ b/ccm-core/web/assets/xinha/contrib/lc_merge_strings.php @@ -0,0 +1,178 @@ +, 2009-08-16 + +// Distributed under the same terms as Xinha itself. +// This notice MUST stay intact for use (see license.txt). + +// merge-strings.php - merge translation strings from master into +// individual language files. + + +function usage() +{ + print "merge-strings.php - merge translation strings\n"; + print "Options:\n"; + print " -l xx Process language xx. Required option\n"; + print " -m master Master file. Defaults to 'de.js'\n"; + print " -m base Base directory. Defaults to '..'\n"; + print " -v Verbose\n"; + print " -c Tell about files that must be created\n"; + print " -d Debug. Very noisy\n"; + exit(1); +} + +// This function taken from the php.net manual page for glob + +function rglob($pattern='*', $flags = 0, $path='') +{ + $paths=glob($path.'*', GLOB_MARK|GLOB_ONLYDIR|GLOB_NOSORT); + $files=glob($path.$pattern, $flags); + foreach ($paths as $path) + { + $files=array_merge($files,rglob($pattern, $flags, $path)); + } + return $files; +} + +error_reporting(E_ALL); + +$opts = getopt('l:b:m:cvd'); + +if ($opts === false) usage; +// here we should check extra options, but php lacks that functionality + +$lang = 'xx'; // The language we process +$create = 0; // Tell about missing files? +$verbose = 0; // Log the details to stdout? +$debug = 0; // ? +$basedir = '..'; // Base directory to process +$mastername = 'de.js'; // The best bet on a complete translation file + +if (isset($opts['l'])) $lang = $opts['l']; +else die("Missing -l option\n"); +if (isset($opts['c'])) $create = 1; +if (isset($opts['v'])) $verbose = 1; +if (isset($opts['d'])) $debug = 1; +if (isset($opts['b'])) $basedir = $opts['b']; +if (isset($opts['m'])) $mastername = $opts['m']; + +if (!preg_match('#/$#', $basedir)) $basedir .= '/'; + +// So, find all the master files + +$files = rglob($mastername, 0, $basedir); +if (count($files) == 0) +{ + print "No master files found. Check your -b and -m options!\n"; + exit(1); +} + +// and process them + +$filenum = 0; +foreach ($files as $masterjs) +{ + $langjs = preg_replace("/$mastername/", "$lang.js", $masterjs); + $langnew = $langjs.'.new'; + + if (!file_exists($langjs)) + { + if ($create) print "Missing file: $langjs\n"; + continue; + } + + // Populate $trans with the strings that must be translated + + $filenum++; + $min = fopen($masterjs, "r"); + $trans = array(); + $strings = 0; + while ($str = fgets($min)) + { + $str = trim($str); + if (preg_match('#^ *"([^"]*)" *: *"([^"]*)"(,)? *(//.*)?$#', $str, $m)) + { + if (isset($trans[$m[1]])) + { + print "Duplicate string in $masterjs: $m[1]\n"; + continue; + } + if ($debug) print "Translate: $m[1]\n"; + $trans[$m[1]] = 1; + $strings++; + } + } + fclose($min); + + // Now copy from $lin to $lout while verifying that the strings + // are still current. + // Break out when we hit the last string in the master (no ',' + // after the translation. + + $lin = fopen($langjs, "r"); + $lout = fopen($langnew, "w"); + $obsolete = 0; + $new = 0; + $kept = 0; + while ($fstr = fgets($lin)) + { + $str = trim($fstr); + if (preg_match('#^ *"([^"]*)" *: *"([^"]*)"(,)? *(//.*)?$#', $str, $m)) + { + if (!isset($trans[$m[1]])) + { + if ($verbose) print "Obsolete: $m[1]\n"; + $obsolete++; + fprintf($lout, " // \"%s\": \"%s\" // OBSOLETE\n", $m[1], $m[2]); + } + else + { + if ($debug) print "Keep: $m[1]\n"; + unset($trans[$m[1]]); + $strings--; + $kept++; + fprintf($lout, " \"%s\": \"%s\"%s\n", $m[1], $m[2], $strings ? ',' : ''); + } + if (!isset($m[3]) || $m[3] != ',') + break; + } + else + fprintf($lout, "%s", $fstr); + } + + // Add the strings that are missing + + foreach ($trans as $tr => $v) + { + if ($verbose) print("New: $tr\n"); + $new++; + $strings--; + fprintf($lout, " \"%s\": \"%s\"%s // NEW\n", $tr, $tr, $strings ? ',' : ''); + } + + // And then the final part of $lin + + while ($str = fgets($lin)) + fprintf($lout, "%s", $str); + + // Clean up, and tell user what happened + + fclose($lin); + fclose($lout); + + if ($obsolete == 0 && $new == 0) + { + if ($verbose) print "$langjs: Unchanged\n"; + unlink($langnew); + } + else + { + print "$langnew: $new new, $obsolete obsoleted, $kept unchanged entries.\n"; + // rename($langnew, $langjs); + } +} + +print "$filenum files processed.\n"; + +?> diff --git a/ccm-core/web/assets/xinha/contrib/lc_parse_strings.php b/ccm-core/web/assets/xinha/contrib/lc_parse_strings.php new file mode 100755 index 000000000..26d3fa647 --- /dev/null +++ b/ccm-core/web/assets/xinha/contrib/lc_parse_strings.php @@ -0,0 +1,325 @@ +"; + while(!feof($fp)) { + $data .= fread($fp, 1024); + } + preg_match_all('#_lc\("([^"]+)"|_lc\(\'([^\']+)\'#', $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + foreach($m[2] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + } + } + + if($plugin=="TableOperations") + { + preg_match_all('#options = \\[([^\\]]+)\\];#', $data, $m); + foreach($m[1] as $i) { + preg_match_all('#"([^"]+)"#', $i, $m1); + foreach($m1[1] as $i) { + $ret[] = $i; + } + } + + //["cell-delete", "td", "Delete cell"], + preg_match_all('#\\["[^"]+",[ \t]*"[^"]+",[ \t]*"([^"]+)"\\]#', $data, $m); + foreach($m[1] as $i) { + $ret[] = $i; + } + } + + + $files = getFiles("$pluginDir/", "html$"); + $files = array_merge($files, getFiles("$pluginDir/", "php$")); + foreach($files as $file) + { + $ret = array_merge($ret, parseHtmlFile($file, $plugin)); + } + + $files = getFiles("$pluginDir/popups/", "html$"); + foreach($files as $file) + { + $ret = array_merge($ret, parseHtmlFile($file, $plugin)); + } + $ret = array_unique($ret); + + $langData[$plugin] = $ret; +} + +$plugins = getFiles("../modules/"); +foreach($plugins as $pluginDir) { + $plugin = substr($pluginDir, 12); + $ret = array(); + $files = getFiles("$pluginDir/", "js$"); + foreach($files as $file) + { + $fp = fopen($file, "r"); + $data = ""; + if($fp) { + echo "$file open...
"; + while(!feof($fp)) { + $data .= fread($fp, 1024); + } + preg_match_all('#_lc\("([^"]+)"|_lc\(\'([^\']+)\'#', $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + foreach($m[2] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + } + } + $ret = array_unique($ret); + $langData[$plugin] = $ret; +} + + +foreach($langData as $plugin=>$strings) { + if(sizeof($strings)==0) continue; + + + $data = "// I18N constants\n"; + $data .= "//\n"; + $data .= "// LANG: \"base\", ENCODING: UTF-8\n"; + $data .= "// Author: Translator-Name, \n"; + $data .= "//\n"; + $data .= "// Last revision: 06 september 2007\n"; + $data .= "// Please don´t remove this information\n"; + $data .= "// If you modify any source, please insert a comment with your name and e-mail\n"; + $data .= "//\n"; + $data .= "// Distributed under the same terms as HTMLArea itself.\n"; + $data .= "// This notice MUST stay intact for use (see license.txt).\n"; + $data .= "//\n"; + $data .= "// (Please, remove information below)\n"; + $data .= "// FOR TRANSLATORS:\n"; + $data .= "//\n"; + $data .= "// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE\n"; + $data .= "// (at least a valid email address)\n"; + $data .= "//\n"; + $data .= "// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;\n"; + $data .= "// (if this is not possible, please include a comment\n"; + $data .= "// that states what encoding is necessary.)\n"; + $data .= "\n"; + $data .= "{\n"; + sort($strings); + foreach($strings as $string) { + $string = str_replace(array('\\', '"'), array('\\\\', '\\"'), $string); + $data .= " \"".$string."\": \"\",\n"; + } + $data = substr($data, 0, -2); + $data .= "\n"; + $data .= "}\n"; + + if($plugin=="HTMLArea") { + $file = "../lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
"; + } elseif (($plugin=="InternetExplorer")||($plugin=="InsertTable")||($plugin=="InsertImage")||($plugin=="GetHtml")||($plugin=="Gecko")||($plugin=="Dialogs")||($plugin=="CreateLink")||($plugin=="ColorPicker")) { + $file = "../modules/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
"; + } elseif ($plugin=="FullScreen") { + $file = "../modules/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
"; + $file = "../plugins/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
"; + } else { + $file = "../plugins/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
"; + } +} + + + + +function parseHtmlFile($file, $plugin="") +{ + $ret = array(); + + $fp = fopen($file, "r"); + if(!$fp) { + die("invalid fp"); + } + $data = ""; + while(!feof($fp)) { + $data .= fread($fp, 1024); + } + + if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker") { + //-tags for inline-dialog or panel-dialog based dialogs + $elems = array("l10n"); + } else { + $elems = array("title", "input", "select", "legend", "span", "option", "td", "button", "div", "label"); + } + foreach($elems as $elem) { + preg_match_all("#<{$elem}[^>]*>([^<^\"]+)#i", $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + if($i=="/") continue; + if($plugin=="ImageManager" && preg_match('#^--+$#', $i)) continue; //skip those ------ + if($plugin=="CharacterMap" && preg_match('#&[a-z0-9]+;#i', trim($i)) || $i=="@") continue; + if($plugin=="SpellChecker" && preg_match('#^\'\\.\\$[a-z]+\\.\'$#', $i)) continue; + $ret[] = trim($i); + } + } + + if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker") + { + //_( for inline-dialog or panel-dialog based dialogs + preg_match_all('#"_\(([^"]+)\)"#i', $data, $m); + foreach($m[1] as $i) { + if(trim($i)=="") continue; + $ret[] = $i; + } + } + else + { + preg_match_all('#title="([^"]+)"#i', $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + if(strip_tags($i)==" - ") continue; //skip those - (ImageManager) + $ret[] = $i; + } + } + return($ret); +} + + +function getFiles($rootdirpath, $eregi_match='') { + $array = array(); + if ($dir = @opendir($rootdirpath)) { + $array = array(); + while (($file = readdir($dir)) !== false) { + if($file=="." || $file==".." || $file==".svn") continue; + if($eregi_match=="") + $array[] = $rootdirpath."/".$file; + else if(eregi($eregi_match,$file)) + $array[] = $rootdirpath."/".$file; + + } + closedir($dir); + } + return $array; +} + + + + + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/contrib/php-xinha.php b/ccm-core/web/assets/xinha/contrib/php-xinha.php index 392131bd9..6bbdd0e4a 100755 --- a/ccm-core/web/assets/xinha/contrib/php-xinha.php +++ b/ccm-core/web/assets/xinha/contrib/php-xinha.php @@ -81,6 +81,11 @@ return "'" . xinha_js_encode($var) . "'"; } + if(is_bool($var)) + { + return $var ? 'true': 'false'; + } + if(is_array($var)) { $useObject = false; @@ -138,7 +143,7 @@ * if none was passed or a security error was encountered. */ - function xinha_read_passed_data() + function xinha_read_passed_data($KeyLocation = 'Xinha:BackendKey') { if(isset($_REQUEST['backend_data']) && is_array($_REQUEST['backend_data'])) { @@ -147,6 +152,12 @@ @session_start(); if(!isset($_SESSION[$bk['key_location']])) return NULL; + if($KeyLocation !== $bk['key_location']) + { + trigger_error('Programming Error - please contact the website administrator/programmer to alert them to this problem. A non-default backend key location is being used to pass backend data to Xinha, but the same key location is not being used to receive data. The special backend configuration has been ignored. To resolve this, find where you are using xinha_pass_to_php_backend and remove the non default key, or find the locations where xinha_read_passed_data is used (in Xinha) and add a parameter with the non default key location, or edit contrib/php-xinha.php and change the default key location in both these functions. See: http://trac.xinha.org/ticket/1518', E_USER_ERROR); + return NULL; + } + if($bk['hash'] === function_exists('sha1') ? sha1($_SESSION[$bk['key_location']] . $bk['data']) diff --git a/ccm-core/web/assets/xinha/contrib/yuicompressor-2.4.2.jar b/ccm-core/web/assets/xinha/contrib/yuicompressor-2.4.2.jar new file mode 100644 index 000000000..c29470bd0 Binary files /dev/null and b/ccm-core/web/assets/xinha/contrib/yuicompressor-2.4.2.jar differ diff --git a/ccm-core/web/assets/xinha/examples/ExtendedDemo.html b/ccm-core/web/assets/xinha/examples/ExtendedDemo.html index b9883bb3d..0c30370b4 100755 --- a/ccm-core/web/assets/xinha/examples/ExtendedDemo.html +++ b/ccm-core/web/assets/xinha/examples/ExtendedDemo.html @@ -3,10 +3,10 @@ diff --git a/ccm-core/web/assets/xinha/examples/Newbie.html b/ccm-core/web/assets/xinha/examples/Newbie.html index 2a26db025..e6dc4616d 100755 --- a/ccm-core/web/assets/xinha/examples/Newbie.html +++ b/ccm-core/web/assets/xinha/examples/Newbie.html @@ -5,12 +5,10 @@ Xinha Newbie Guide + - @@ -21,4 +19,4 @@ - \ No newline at end of file + diff --git a/ccm-core/web/assets/xinha/examples/XinhaConfig.js b/ccm-core/web/assets/xinha/examples/XinhaConfig.js index 893b38aa8..28d30f547 100644 --- a/ccm-core/web/assets/xinha/examples/XinhaConfig.js +++ b/ccm-core/web/assets/xinha/examples/XinhaConfig.js @@ -1,20 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */ -xinha_editors=null; -xinha_init=null; -xinha_config=null; -xinha_plugins=null; -xinha_init=xinha_init?xinha_init:function(){ -xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"]; -xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","Linker","SuperClean","TableOperations"]; -if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){ -return; -} -xinha_config=xinha_config?xinha_config():new Xinha.Config(); -xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"]; -xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins); -Xinha.startEditors(xinha_editors); -}; -Xinha.addOnloadHandler(xinha_init); - +xinha_editors=null;xinha_init=null;xinha_config=null;xinha_plugins=null;xinha_init=xinha_init?xinha_init:function(){xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"];xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","ExtendedFileManager","Linker","SuperClean","TableOperations"];if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){return}xinha_config=xinha_config?xinha_config():new Xinha.Config();xinha_config.toolbar=[["popupeditor"],["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],["separator","forecolor","hilitecolor","textindicator"],["separator","subscript","superscript"],["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],["separator","insertorderedlist","insertunorderedlist","outdent","indent"],["separator","inserthorizontalrule","createlink","insertimage","inserttable"],["linebreak","separator","undo","redo","selectall","print"],(Xinha.is_gecko?[]:["cut","copy","paste","overwrite","saveas"]),["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright","righttoleft"],["separator","htmlmode","showhelp","about"]];xinha_config.pageStyleSheets=[_editor_url+"examples/files/full_example.css"];xinha_config.stylistLoadStylesheet(_editor_url+"examples/files/stylist.css");xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins);Xinha.startEditors(xinha_editors)};Xinha.addOnloadHandler(xinha_init); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/examples/files/ext_example-body.html b/ccm-core/web/assets/xinha/examples/files/ext_example-body.html index 796269874..8aeb33b7c 100755 --- a/ccm-core/web/assets/xinha/examples/files/ext_example-body.html +++ b/ccm-core/web/assets/xinha/examples/files/ext_example-body.html @@ -3,10 +3,10 @@ @@ -113,7 +113,7 @@ xinha_config.stripScripts = settings.stripScripts; xinha_config.flowToolbars = settings.flowToolbars; xinha_config.showLoading = settings.showLoading; - xinha_config.pageStyleSheets = ["own.css"]; + xinha_config.pageStyleSheets = ["full_example.css"]; // Create a default configuration for the plugins if (typeof CharCounter != 'undefined') { diff --git a/ccm-core/web/assets/xinha/examples/files/ext_example-menu.php b/ccm-core/web/assets/xinha/examples/files/ext_example-menu.php index a1cab8d0a..f07c2f32d 100755 --- a/ccm-core/web/assets/xinha/examples/files/ext_example-menu.php +++ b/ccm-core/web/assets/xinha/examples/files/ext_example-menu.php @@ -10,10 +10,10 @@ -- frame to provide a menu for generating example editors using -- full_example-body.html, and full_example.js. -- - -- $HeadURL:http://svn.xinha.webfactional.com/trunk/examples/files/ext_example-menu.php $ - -- $LastChangedDate:2008-04-12 23:23:17 +0200 (Sa, 12 Apr 2008) $ - -- $LastChangedRevision:993 $ - -- $LastChangedBy:ray $ + -- $HeadURL: http://svn.xinha.org/trunk/examples/files/ext_example-menu.php $ + -- $LastChangedDate: 2008-10-13 06:42:42 +1300 (Mon, 13 Oct 2008) $ + -- $LastChangedRevision: 1084 $ + -- $LastChangedBy: ray $ ---------------------------------------------------------------------------> diff --git a/ccm-core/web/assets/xinha/examples/files/full_example.css b/ccm-core/web/assets/xinha/examples/files/full_example.css index 2c5d4d83e..2bd258e42 100755 --- a/ccm-core/web/assets/xinha/examples/files/full_example.css +++ b/ccm-core/web/assets/xinha/examples/files/full_example.css @@ -45,4 +45,34 @@ { margin:10px; } - label {font-size: 11px;} \ No newline at end of file + label {font-size: 11px;} + .navi_links { + width: 177px; + margin: 0; + padding: 0px; + list-style:none; + border: none; +} + +.navi_links li { + margin:0 0 3px 0; +} + +.navi_links li a { + font-size: 13px; + line-height: 16px; + height: 16px; + display:block; + color:#000; + text-decoration: none; + font-weight: bold; + background-color: #fff; + cursor: pointer; + border: 2px solid white; + +} + +.Link1 { +background-color: #DF1D1F !important; + +} diff --git a/ccm-core/web/assets/xinha/examples/testbed.html b/ccm-core/web/assets/xinha/examples/testbed.html index 6e19894e0..9dc61f84c 100755 --- a/ccm-core/web/assets/xinha/examples/testbed.html +++ b/ccm-core/web/assets/xinha/examples/testbed.html @@ -13,15 +13,15 @@ -- of the file to remove the auto-example-generating code and allow for the -- use of the file as a boilerplate. -- - -- $HeadURL:http://svn.xinha.webfactional.com/trunk/examples/testbed.html $ - -- $LastChangedDate:2008-04-12 14:39:04 +0200 (Sa, 12 Apr 2008) $ - -- $LastChangedRevision:987 $ - -- $LastChangedBy:ray $ + -- $HeadURL: http://svn.xinha.org/trunk/examples/testbed.html $ + -- $LastChangedDate: 2009-11-08 17:36:46 +1300 (Sun, 08 Nov 2009) $ + -- $LastChangedRevision: 1197 $ + -- $LastChangedBy: gogo $ ---------------------------------------------------------------------------> Example of Xinha - + "); +document.write(''); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/de/bold.gif b/ccm-core/web/assets/xinha/iconsets/Classic/de/bold.gif new file mode 100644 index 000000000..21d286fc4 Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/de/bold.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/de/italic.gif b/ccm-core/web/assets/xinha/iconsets/Classic/de/italic.gif new file mode 100644 index 000000000..0bf794722 Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/de/italic.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/de/underline.gif b/ccm-core/web/assets/xinha/iconsets/Classic/de/underline.gif new file mode 100644 index 000000000..05454894a Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/de/underline.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/ed_buttons_main.gif b/ccm-core/web/assets/xinha/iconsets/Classic/ed_buttons_main.gif new file mode 100644 index 000000000..bc1962ba1 Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/ed_buttons_main.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/ed_charmap.gif b/ccm-core/web/assets/xinha/iconsets/Classic/ed_charmap.gif new file mode 100644 index 000000000..289aa7cda Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/ed_charmap.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/ed_selectall.gif b/ccm-core/web/assets/xinha/iconsets/Classic/ed_selectall.gif new file mode 100644 index 000000000..9acf0a038 Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/ed_selectall.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/fr/bold.gif b/ccm-core/web/assets/xinha/iconsets/Classic/fr/bold.gif new file mode 100644 index 000000000..8a0f6574f Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/fr/bold.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/fr/strikethrough.gif b/ccm-core/web/assets/xinha/iconsets/Classic/fr/strikethrough.gif new file mode 100644 index 000000000..5707aefca Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/fr/strikethrough.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/fr/underline.gif b/ccm-core/web/assets/xinha/iconsets/Classic/fr/underline.gif new file mode 100644 index 000000000..4ecaf2212 Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Classic/fr/underline.gif differ diff --git a/ccm-core/web/assets/xinha/iconsets/Classic/iconset.xml b/ccm-core/web/assets/xinha/iconsets/Classic/iconset.xml new file mode 100644 index 000000000..10b9b8ce5 --- /dev/null +++ b/ccm-core/web/assets/xinha/iconsets/Classic/iconset.xml @@ -0,0 +1,263 @@ + + + + + + + iconsets/Classic/ed_buttons_main.gif + 3 + 2 + + + iconsets/Classic/de/bold.gif + + + iconsets/Classic/fr/bold.gif + + + + + iconsets/Classic/ed_buttons_main.gif + 2 + 2 + + + iconsets/Classic/de/italic.gif + + + + + iconsets/Classic/ed_buttons_main.gif + 2 + 0 + + + iconsets/Classic/fr/underline.gif + + + iconsets/Classic/de/underline.gif + + + + + iconsets/Classic/ed_buttons_main.gif + 3 + 0 + + + iconsets/Classic/fr/strikethrough.gif + + + + + iconsets/Classic/ed_buttons_main.gif + 3 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 2 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 4 + 2 + + + + + iconsets/Classic/ed_buttons_main.gif + 5 + 2 + + + + + iconsets/Classic/ed_buttons_main.gif + 5 + 0 + + + + + iconsets/Classic/ed_buttons_main.gif + 4 + 0 + + + + + iconsets/Classic/ed_buttons_main.gif + 4 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 3 + 3 + + + + + iconsets/Classic/ed_buttons_main.gif + 2 + 3 + + + + + iconsets/Classic/ed_buttons_main.gif + 0 + 2 + + + + + iconsets/Classic/ed_buttons_main.gif + 1 + 2 + + + + + iconsets/Classic/ed_buttons_main.gif + 6 + 3 + + + + + iconsets/Classic/ed_buttons_main.gif + 0 + 3 + + + + + iconsets/Classic/ed_buttons_main.gif + 1 + 3 + + + + + iconsets/Classic/ed_buttons_main.gif + 0 + 0 + + + + + iconsets/Classic/ed_buttons_main.gif + 0 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 1 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 1 + 0 + + + + + iconsets/Classic/ed_buttons_main.gif + 6 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 0 + 4 + + + + + iconsets/Classic/ed_buttons_main.gif + 1 + 4 + + + + + iconsets/Classic/ed_buttons_main.gif + 8 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 9 + 1 + + + + + iconsets/Classic/ed_buttons_main.gif + 4 + 4 + + + + + iconsets/Classic/ed_buttons_main.gif + 8 + 2 + + + + + iconsets/Classic/ed_buttons_main.gif + 9 + 2 + + + + + iconsets/Classic/ed_buttons_main.gif + 8 + 0 + + + + + iconsets/Classic/ed_buttons_main.gif + 9 + 0 + + + + + iconsets/Classic/ed_selectall.gif + + + + + iconsets/Classic/ed_charmap.gif + + + + + plugins/SmartReplace/img.gif + + + + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/iconsets/Crystal/LICENSE b/ccm-core/web/assets/xinha/iconsets/Crystal/LICENSE new file mode 100644 index 000000000..ca2dca49e --- /dev/null +++ b/ccm-core/web/assets/xinha/iconsets/Crystal/LICENSE @@ -0,0 +1,121 @@ +License + +The Crystal Project are released under LGPL. + +GNU General Public License. + + 0. + + This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. + + Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. + 1. + + You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. + + You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + 2. + + You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + 1. The modified work must itself be a software library. + 2. You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. + 3. You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. + 4. If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. + + (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) + + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + + Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. + + In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + 3. + + You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. + + Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of the Library into a program that is not a library. + 4. + + You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. + 5. + + A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. + However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. + 6. + + As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: + 1. Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) . + 2. Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. + 3. Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. + 4. If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. + 5. Verify that the user has already received a copy of these materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + + It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. + 7. + + You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: + 1. + + Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. + 2. + + Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. + 8. + + You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + 9. + + You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. + 10. + + Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. + 11. + + If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. + + If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. + + It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + + This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + 12. + + If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + 13. + + The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. + 14. + + If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +No Warranty + + 15. + + Because the library is licensed free of charge, there is no warranty for the library, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the library "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the library is with you. Should the library prove defective, you assume the cost of all necessary servicing, repair or correction. + 16. + + In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the library as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the library (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the library to operate with any other software), even if such holder or other party has been advised of the possibility of such damages. + diff --git a/ccm-core/web/assets/xinha/iconsets/Crystal/README b/ccm-core/web/assets/xinha/iconsets/Crystal/README new file mode 100644 index 000000000..a55ebed47 --- /dev/null +++ b/ccm-core/web/assets/xinha/iconsets/Crystal/README @@ -0,0 +1,3 @@ +These icons are from everaldo.com, in particular from the Open Office Crystal Icons set + +The Crystal Project are released under LGPL. \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/iconsets/Crystal/ed_buttons_main.png b/ccm-core/web/assets/xinha/iconsets/Crystal/ed_buttons_main.png new file mode 100644 index 000000000..40bd054d0 Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Crystal/ed_buttons_main.png differ diff --git a/ccm-core/web/assets/xinha/iconsets/Crystal/iconset.xml b/ccm-core/web/assets/xinha/iconsets/Crystal/iconset.xml new file mode 100644 index 000000000..6833d326a --- /dev/null +++ b/ccm-core/web/assets/xinha/iconsets/Crystal/iconset.xml @@ -0,0 +1,234 @@ + + + + + + + iconsets/Crystal/ed_buttons_main.png + 3 + 2 + + + + + + iconsets/Crystal/ed_buttons_main.png + 2 + 2 + + + + + iconsets/Crystal/ed_buttons_main.png + 2 + 0 + + + + + iconsets/Crystal/ed_buttons_main.png + 3 + 0 + + + + + iconsets/Crystal/ed_buttons_main.png + 3 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 2 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 4 + 2 + + + + + iconsets/Crystal/ed_buttons_main.png + 5 + 2 + + + + + iconsets/Crystal/ed_buttons_main.png + 5 + 0 + + + + + iconsets/Crystal/ed_buttons_main.png + 4 + 0 + + + + + iconsets/Crystal/ed_buttons_main.png + 4 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 3 + 3 + + + + + iconsets/Crystal/ed_buttons_main.png + 2 + 3 + + + + + iconsets/Crystal/ed_buttons_main.png + 0 + 2 + + + + + iconsets/Crystal/ed_buttons_main.png + 1 + 2 + + + + + iconsets/Crystal/ed_buttons_main.png + 6 + 3 + + + + + iconsets/Crystal/ed_buttons_main.png + 0 + 3 + + + + + iconsets/Crystal/ed_buttons_main.png + 1 + 3 + + + + + iconsets/Crystal/ed_buttons_main.png + 0 + 0 + + + + + iconsets/Crystal/ed_buttons_main.png + 0 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 1 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 1 + 0 + + + + + iconsets/Crystal/ed_buttons_main.png + 6 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 0 + 4 + + + + + iconsets/Crystal/ed_buttons_main.png + 1 + 4 + + + + + iconsets/Crystal/ed_buttons_main.png + 8 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 9 + 1 + + + + + iconsets/Crystal/ed_buttons_main.png + 4 + 4 + + + + + iconsets/Crystal/ed_buttons_main.png + 8 + 2 + + + + + iconsets/Crystal/ed_buttons_main.png + 9 + 2 + + + + + iconsets/Crystal/ed_buttons_main.png + 8 + 0 + + + + + iconsets/Crystal/ed_buttons_main.png + 9 + 0 + + + + + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/iconsets/Tango/README b/ccm-core/web/assets/xinha/iconsets/Tango/README new file mode 100644 index 000000000..a098e598b --- /dev/null +++ b/ccm-core/web/assets/xinha/iconsets/Tango/README @@ -0,0 +1,3 @@ +These icons are from the Tango Desktop Project. The icons are released to the Public Domain. From http://tango.freedesktop.org: + +The Tango Desktop Project exists to help create a consistent graphical user interface experience for free and Open Source software. diff --git a/ccm-core/web/assets/xinha/iconsets/Tango/ed_buttons_main.png b/ccm-core/web/assets/xinha/iconsets/Tango/ed_buttons_main.png new file mode 100644 index 000000000..7f73f65a5 Binary files /dev/null and b/ccm-core/web/assets/xinha/iconsets/Tango/ed_buttons_main.png differ diff --git a/ccm-core/web/assets/xinha/iconsets/Tango/iconset.xml b/ccm-core/web/assets/xinha/iconsets/Tango/iconset.xml new file mode 100644 index 000000000..cc4ee75ca --- /dev/null +++ b/ccm-core/web/assets/xinha/iconsets/Tango/iconset.xml @@ -0,0 +1,233 @@ + + + + + + + iconsets/Tango/ed_buttons_main.png + 3 + 2 + + + + + + iconsets/Tango/ed_buttons_main.png + 2 + 2 + + + + + iconsets/Tango/ed_buttons_main.png + 2 + 0 + + + + + iconsets/Tango/ed_buttons_main.png + 3 + 0 + + + + + iconsets/Tango/ed_buttons_main.png + 3 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 2 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 4 + 2 + + + + + iconsets/Tango/ed_buttons_main.png + 5 + 2 + + + + + iconsets/Tango/ed_buttons_main.png + 5 + 0 + + + + + iconsets/Tango/ed_buttons_main.png + 4 + 0 + + + + + iconsets/Tango/ed_buttons_main.png + 4 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 3 + 3 + + + + + iconsets/Tango/ed_buttons_main.png + 2 + 3 + + + + + iconsets/Tango/ed_buttons_main.png + 0 + 2 + + + + + iconsets/Tango/ed_buttons_main.png + 1 + 2 + + + + + iconsets/Tango/ed_buttons_main.png + 6 + 3 + + + + + iconsets/Tango/ed_buttons_main.png + 0 + 3 + + + + + iconsets/Tango/ed_buttons_main.png + 1 + 3 + + + + + iconsets/Tango/ed_buttons_main.png + 0 + 0 + + + + + iconsets/Tango/ed_buttons_main.png + 0 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 1 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 1 + 0 + + + + + iconsets/Tango/ed_buttons_main.png + 6 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 0 + 4 + + + + + iconsets/Tango/ed_buttons_main.png + 1 + 4 + + + + + iconsets/Tango/ed_buttons_main.png + 8 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 9 + 1 + + + + + iconsets/Tango/ed_buttons_main.png + 4 + 4 + + + + + iconsets/Tango/ed_buttons_main.png + 8 + 2 + + + + + iconsets/Tango/ed_buttons_main.png + 9 + 2 + + + + + iconsets/Tango/ed_buttons_main.png + 8 + 0 + + + + + iconsets/Tango/ed_buttons_main.png + 9 + 0 + + + + diff --git a/ccm-core/web/assets/xinha/images/ed_buttons_main.png b/ccm-core/web/assets/xinha/images/ed_buttons_main.png new file mode 100644 index 000000000..7f73f65a5 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/ed_buttons_main.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-new.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-new.png new file mode 100644 index 000000000..4c3efdd6f Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-new.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-open.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-open.png new file mode 100644 index 000000000..69dd8d483 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-open.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-print.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-print.png new file mode 100644 index 000000000..35c37bd73 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-print.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-save.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-save.png new file mode 100644 index 000000000..22ff49571 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/document-save.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-copy.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-copy.png new file mode 100644 index 000000000..8dd48c494 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-copy.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-redo.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-redo.png new file mode 100644 index 000000000..c3b0df039 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-redo.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-select-all.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-select-all.png new file mode 100644 index 000000000..f4b0b19e0 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-select-all.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-undo.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-undo.png new file mode 100644 index 000000000..8b0fef9a8 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-undo.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/folder-new.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/folder-new.png new file mode 100644 index 000000000..628f4d50f Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/folder-new.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-left-to-right.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-left-to-right.png new file mode 100755 index 000000000..a8808127d Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-left-to-right.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-right-to-left.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-right-to-left.png new file mode 100755 index 000000000..9a2b7b4bc Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-right-to-left.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-less.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-less.png new file mode 100644 index 000000000..1787a7ff4 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-less.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-more.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-more.png new file mode 100644 index 000000000..6bad6bbac Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-more.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-center.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-center.png new file mode 100644 index 000000000..207dc4cd8 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-center.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-fill.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-fill.png new file mode 100644 index 000000000..663cbaddd Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-fill.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-left.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-left.png new file mode 100644 index 000000000..d9b40a76f Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-left.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-right.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-right.png new file mode 100644 index 000000000..c3013073c Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-right.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-background-color.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-background-color.png new file mode 100644 index 000000000..857b0475d Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-background-color.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-bold.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-bold.png new file mode 100644 index 000000000..c9cb63034 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-bold.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-color.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-color.png new file mode 100644 index 000000000..7362e3eb1 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-color.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-italic.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-italic.png new file mode 100644 index 000000000..977ea8217 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-italic.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-strikethrough.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-strikethrough.png new file mode 100644 index 000000000..ccee76e29 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-strikethrough.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-subscript.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-subscript.png new file mode 100644 index 000000000..da1d9e1fe Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-subscript.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-superscript.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-superscript.png new file mode 100644 index 000000000..ea8755746 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-superscript.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-underline.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-underline.png new file mode 100644 index 000000000..0c4872100 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-underline.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/go-up.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/go-up.png new file mode 100644 index 000000000..fa9a7d71b Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/go-up.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-link.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-link.png new file mode 100755 index 000000000..d6b2ab8fa Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-link.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-table.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-table.png new file mode 100755 index 000000000..80d24eb33 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-table.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/toggle-borders.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/toggle-borders.png new file mode 100755 index 000000000..a86679fcb Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/toggle-borders.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/view-fullscreen.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/view-fullscreen.png new file mode 100644 index 000000000..ffdabd4e9 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/view-fullscreen.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/actions/view-restore.png b/ccm-core/web/assets/xinha/images/tango/16x16/actions/view-restore.png new file mode 100644 index 000000000..1997ce2f4 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/actions/view-restore.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/apps/accessories-character-map.png b/ccm-core/web/assets/xinha/images/tango/16x16/apps/accessories-character-map.png new file mode 100644 index 000000000..5dd11246f Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/apps/accessories-character-map.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/apps/help-browser.png b/ccm-core/web/assets/xinha/images/tango/16x16/apps/help-browser.png new file mode 100644 index 000000000..f25fc3fbf Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/apps/help-browser.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/mimetypes/image-x-generic.png b/ccm-core/web/assets/xinha/images/tango/16x16/mimetypes/image-x-generic.png new file mode 100644 index 000000000..68da5027c Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/mimetypes/image-x-generic.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/16x16/places/user-trash.png b/ccm-core/web/assets/xinha/images/tango/16x16/places/user-trash.png new file mode 100644 index 000000000..0e0953c73 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/16x16/places/user-trash.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/32x32/apps/internet-web-browser.png b/ccm-core/web/assets/xinha/images/tango/32x32/apps/internet-web-browser.png new file mode 100644 index 000000000..10d2ed4f4 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/32x32/apps/internet-web-browser.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-html.png b/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-html.png new file mode 100644 index 000000000..a896697d7 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-html.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-x-generic.png b/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-x-generic.png new file mode 100644 index 000000000..928a67995 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-x-generic.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/x-office-document.png b/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/x-office-document.png new file mode 100644 index 000000000..daf84b286 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/x-office-document.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/32x32/places/folder.png b/ccm-core/web/assets/xinha/images/tango/32x32/places/folder.png new file mode 100644 index 000000000..0171b09fa Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/32x32/places/folder.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/32x32/places/network-server.png b/ccm-core/web/assets/xinha/images/tango/32x32/places/network-server.png new file mode 100644 index 000000000..1d38e4f9c Binary files /dev/null and b/ccm-core/web/assets/xinha/images/tango/32x32/places/network-server.png differ diff --git a/ccm-core/web/assets/xinha/images/tango/COPYING b/ccm-core/web/assets/xinha/images/tango/COPYING new file mode 100644 index 000000000..e709d0c05 --- /dev/null +++ b/ccm-core/web/assets/xinha/images/tango/COPYING @@ -0,0 +1,67 @@ +Creative Commons Attribution-ShareAlike 2.5 License Agreement + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License. + 2. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License. + 3. "Licensor" means the individual or entity that offers the Work under the terms of this License. + 4. "Original Author" means the individual or entity who created the Work. + 5. "Work" means the copyrightable work of authorship offered under the terms of this License. + 6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 7. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + +2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + 1. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works; + 2. to create and reproduce Derivative Works; + 3. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works; + 4. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works. + 5. + + For the avoidance of doubt, where the work is a musical composition: + 1. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work. + 2. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions). + 6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions). + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved. + +4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + 1. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested. + 2. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License. + 3. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + 2. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + +Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. + +Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. + +Creative Commons may be contacted at http://creativecommons.org/. diff --git a/ccm-core/web/assets/xinha/images/xinha-small-icon.gif b/ccm-core/web/assets/xinha/images/xinha-small-icon.gif new file mode 100644 index 000000000..76a497014 Binary files /dev/null and b/ccm-core/web/assets/xinha/images/xinha-small-icon.gif differ diff --git a/ccm-core/web/assets/xinha/lang/da.js b/ccm-core/web/assets/xinha/lang/da.js index 7d3d2fc56..755ebe0a9 100644 --- a/ccm-core/web/assets/xinha/lang/da.js +++ b/ccm-core/web/assets/xinha/lang/da.js @@ -1,30 +1,172 @@ +// I18N constants // LANG: "da", ENCODING: UTF-8 // Author: rene, - +// Niels Baggesen, , 0.95, 2009-08-15 { "Bold": "Fed", "Italic": "Kursiv", "Underline": "Understregning", - "Strikethrough": "Overstregning ", + "Strikethrough": "Gennemstregning", "Subscript": "Sænket skrift", "Superscript": "Hævet skrift", "Justify Left": "Venstrejuster", "Justify Center": "Centrer", "Justify Right": "Højrejuster", "Justify Full": "Lige margener", - "Ordered List": "Opstilling med tal", - "Bulleted List": "Opstilling med punkttegn", + "Ordered List": "Ordnet liste", + "Bulleted List": "Punktliste", "Decrease Indent": "Formindsk indrykning", "Increase Indent": "Forøg indrykning", "Font Color": "Skriftfarve", "Background Color": "Baggrundsfarve", - "Horizontal Rule": "Horisontal linie", + "Horizontal Rule": "Vandret streg", "Insert Web Link": "Indsæt hyperlink", - "Insert/Modify Image": "Indsæt billede", + "Insert/Modify Image": "Indsæt/udskift billede", "Insert Table": "Indsæt tabel", "Toggle HTML Source": "HTML visning", "Enlarge Editor": "Vis editor i popup", - "About this editor": "Om htmlarea", + "About this editor": "Om Xinha", "Help using editor": "Hjælp", - "Current style": "Anvendt stil" + "Current style": "Anvendt stil", + "Undoes your last action": "Fortryd sidste ændring", + "Redoes your last action": "Gentag sidste ændring", + "Cut selection": "Klip", + "Copy selection": "Kopier", + "Paste from clipboard": "Indsæt", + "Direction left to right": "Tekst venstre mod højre", + "Direction right to left": "Tekst højre mod venstre", + "Remove formatting": "Fjern formatering", + "Select all": "Vælg alt", + "Print document": "Udskriv dokument", + "Clear MSOffice tags": "MSOffice filter", + "Clear Inline Font Specifications": "Fjern skrift valg", + "Would you like to clear font typefaces?": "Vil du fjern skriftsnit valg", + "Would you like to clear font sizes?": "Vil du fjerne skriftstørrelse valg", + "Would you like to clear font colours?": "Vil du fjerne skriftfarve valg", + "Split Block": "Del blok", + "Toggle Borders": "Tabelkanter til/fra", + "Save as": "Gem som", + "Insert/Overwrite": "Indsæt/Overskriv", + "— format —": "— Format —", + "Heading 1": "Overskrift 1", + "Heading 2": "Overskrift 2", + "Heading 3": "Overskrift 3", + "Heading 4": "Overskrift 4", + "Heading 5": "Overskrift 5", + "Heading 6": "Overskrift 6", + "Normal": "Normal", + "Address": "Adresse", + "Formatted": "Formateret", + + //dialogs + "OK": "OK", + "Cancel": "Fortryd", + "Path": "STi", + "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du er i TEXT mode. Brug [<>] knappen til at skifte til visuel editering.", + "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Indsæt-knappen virker ikke i Mozilla-baserede browsere. Brug Ctrl-V på tastaturet for at indsætte.", + + "You need to select some text before create a link": "Du skal markere noget tekst for at indsætte et hyperlink", + "Your Document is not well formed. Check JavaScript console for details.": "Dit dokument er ikke syntaktisk korrekt. Åbn Javascript konsollen for at få flere detaljer.", + + "Alignment:": "Justering:", + "Not set": "Ubestemt", + "Left": "Venstre", + "Right": "Højre", + "Texttop": "Teksttop", + "Absmiddle": "Centreret", + "Baseline": "Grundlinje", + "Absbottom": "Bund", + "Bottom": "Tekstbund", + "Middle": "Midt", + "Top": "Top", + + "Layout": "Layout", + "Spacing": "Afstand", + "Horizontal:": "vandret:", + "Horizontal padding": "Vandret fyld", + "Vertical:": "lodret:", + "Vertical padding": "Lodret fyld", + "Border thickness:": "Kantbredde:", + "Leave empty for no border": "Tom hvis ingen kant", + + //Insert Link + "Insert/Modify Link": "Indsæt/rediger hyperlink", + "None (use implicit)": "ingen (implicit)", + "New window (_blank)": "Nyt vindue (_blank)", + "Same frame (_self)": "Samme ramme (_self)", + "Top frame (_top)": "Topramme (_top)", + "Other": "Andet", + "Target:": "Placering:", + "Title (tooltip):": "Titel (Tooltip):", + "URL:": "URL:", + "You must enter the URL where this link points to": "Du skal angive en mål-URL for linket", + + // Insert Table + "Insert Table": "Indsæt tabel", + "Rows:": "Rækker:", + "Number of rows": "Antal rækker", + "Cols:": "Søjler:", + "Number of columns": "Antal søjler", + "Width:": "Bredde:", + "Width of the table": "Tabelbredde", + "Percent": "Procent", + "Pixels": "Pixel", + "Em": "Geviert (Em)", + "Width unit": "Breddeenhed", + "Fixed width columns": "Fast-bredde søjler", + "Positioning of this table": "Placering af tabel", + "Cell spacing:": "Celleafstand:", + "Space between adjacent cells": "Afstand mellem celler", + "Cell padding:": "Cellefyld:", + "Space between content and border in cell": "Luft mellem indhold og kanter", + "You must enter a number of rows": "Du skal skrive antallet af rækker", + "You must enter a number of columns": "Du skal skrive antallet af søjler", + + // Insert Image + "Insert Image": "Indsæt billede", + "Image URL:": "Billede URL:", + "Enter the image URL here": "Angiv billedets URL", + "Preview": "Smugkig", + "Preview the image in a new window": "Smugkig af billedet i et nyt vindue", + "Alternate text:": "Alternativ text:", + "For browsers that don't support images": "for browsere der ikke understøtter billeder", + "Positioning of this image": "Placering af billedet", + "Image Preview:": "Billede smugkig:", + "You must enter the URL": "Du skal angive en URL", + + // de-buttons have letters matching danish :-) + "button_bold": "de/bold.gif", + "button_italic": "de/italic.gif", + "button_underline": "de/underline.gif", + + // Editor Help + "Keyboard shortcuts": "Tastaturgenveje", + "The editor provides the following key combinations:": "Editoren kender følgende kombinationer:", + "new paragraph": "Nyt afsnit", + "insert linebreak": "Indsæt linjeskift", + "Set format to paragraph": "Formater afsnit", + "Clean content pasted from Word": "Rens indhold kopieret fra Word", + "Headings": "Overskrift 1 til 6", + "Close": "Luk", + + // Loading messages + "Loading in progress. Please wait!": "Editoren hentes ind. Vent venligst.", + "Loading plugin $plugin" : "Plugin $plugin hentes", + "Register plugin $plugin" : "Plugin $plugin registreres", + "Constructing object": "Objekt registreres", + "Generate Xinha framework": "Xinha Framework genereres", + "Init editor size":"Størrelsen beregnes", + "Create Toolbar": "Opretter værktøjslinje", + "Create Statusbar" : "Opretter statuslinje", + "Register right panel" : "Registrerer højre panel", + "Register left panel" : "Registrerer venstre panel", + "Register bottom panel" : "Registrerer nederste panel", + "Register top panel" : "Registrerer øverste panel", + "Finishing" : "Afslutter", + + // ColorPicker + "Click a color..." : "Vælg farve", + "Sample" : "Eksempel", + "Web Safe: " : "Web Safe: ", + "Color: " : "Farve: " } diff --git a/ccm-core/web/assets/xinha/lang/de.js b/ccm-core/web/assets/xinha/lang/de.js index fbaeb160e..98e5ec25e 100644 --- a/ccm-core/web/assets/xinha/lang/de.js +++ b/ccm-core/web/assets/xinha/lang/de.js @@ -45,7 +45,7 @@ "Toggle Borders": "Tabellenränder ein/ausblenden", "Save as": "speichern unter", "Insert/Overwrite": "Einfügen/Überschreiben", - "— format —": "— Format —", + "— format —": "— Format —", "Heading 1": "Überschrift 1", "Heading 2": "Überschrift 2", "Heading 3": "Überschrift 3", @@ -132,9 +132,11 @@ "Image Preview:": "Bild Voransicht:", "You must enter the URL": "Bitte geben Sie die URL ein", +/* "button_bold": "de/bold.gif", "button_italic": "de/italic.gif", "button_underline": "de/underline.gif", +*/ // Editor Help "Keyboard shortcuts": "Tastaturkürzel", diff --git a/ccm-core/web/assets/xinha/lang/es.js b/ccm-core/web/assets/xinha/lang/es.js index 52486dd9c..d66dac0ef 100644 --- a/ccm-core/web/assets/xinha/lang/es.js +++ b/ccm-core/web/assets/xinha/lang/es.js @@ -45,9 +45,9 @@ "Toggle Borders": "Añadir/Quitar bordes", "Save as": "Guardar como", "Insert/Overwrite": "Insertar/Sobreescribir", - "— format —": "— formato —", - "— font —": "— fuente —", - "— size —": "— tamaño —", + "— format —": "— formato —", + "— font —": "— fuente —", + "— size —": "— tamaño —", "Heading 1": "Cabecera 1", "Heading 2": "Cabecera 2", "Heading 3": "Cabecera 3", diff --git a/ccm-core/web/assets/xinha/lang/eu.js b/ccm-core/web/assets/xinha/lang/eu.js index ec06ed5ea..62c13f406 100644 --- a/ccm-core/web/assets/xinha/lang/eu.js +++ b/ccm-core/web/assets/xinha/lang/eu.js @@ -45,7 +45,7 @@ "Toggle Borders": "Ertzak trukatu", "Save as": "Gorde honela:", "Insert/Overwrite": "Txertatu/Gainidatzi", - "— format —": "— Formatua —", + "— format —": "— Formatua —", "Heading 1": "Goiburua 1", "Heading 2": "Goiburua 2", "Heading 3": "Goiburua 3", diff --git a/ccm-core/web/assets/xinha/lang/fa.js b/ccm-core/web/assets/xinha/lang/fa.js index 5e8e12762..59d0fcac2 100644 --- a/ccm-core/web/assets/xinha/lang/fa.js +++ b/ccm-core/web/assets/xinha/lang/fa.js @@ -45,7 +45,7 @@ "Toggle Borders": "فعال/غیر فعال کردن لبه ها", "Save as": "ذخیره مانند...", "Insert/Overwrite": "افزودن/جانویسی", - "— format —": "— قالب —", + "— format —": "— قالب —", "Heading 1": "تیتر 1", "Heading 2": "تیتر 2", "Heading 3": "تیتر 3", diff --git a/ccm-core/web/assets/xinha/lang/fr.js b/ccm-core/web/assets/xinha/lang/fr.js index 6110cef55..a71d8debc 100644 --- a/ccm-core/web/assets/xinha/lang/fr.js +++ b/ccm-core/web/assets/xinha/lang/fr.js @@ -45,7 +45,7 @@ "Toggle Borders": "Afficher / Masquer les bordures", "Save as": "Enregistrer sous", "Insert/Overwrite": "Insertion / Remplacement", - "— format —": "— Format —", + "— format —": "— Format —", "Heading 1": "Titre 1", "Heading 2": "Titre 2", "Heading 3": "Titre 3", @@ -132,9 +132,11 @@ "You must enter the URL": "Vous devez entrer l'URL", // toolbar +/* "button_bold": "fr/bold.gif", "button_underline": "fr/underline.gif", "button_strikethrough": "fr/strikethrough.gif", +*/ // Editor Help "Xinha Help": "Aide Xinha", diff --git a/ccm-core/web/assets/xinha/lang/ja.js b/ccm-core/web/assets/xinha/lang/ja.js index dd8adf029..3c068f9ed 100644 --- a/ccm-core/web/assets/xinha/lang/ja.js +++ b/ccm-core/web/assets/xinha/lang/ja.js @@ -46,7 +46,7 @@ "Toggle Borders": "境界線の切替", "Save as": "名前をつけて保存", "Insert/Overwrite": "挿入/上書き", - "— format —": "— 書式 —", + "— format —": "— 書式 —", "Heading 1": "見出し1", "Heading 2": "見出し2", "Heading 3": "見出し3", @@ -56,8 +56,8 @@ "Normal": "標準", "Address": "アドレス", "Formatted": "整形済み", - "— font —": "— フォント —", - "— size —": "— サイズ —", + "— font —": "— フォント —", + "— size —": "— サイズ —", //dialogs "OK": "OK", diff --git a/ccm-core/web/assets/xinha/lang/pl.js b/ccm-core/web/assets/xinha/lang/pl.js index b5bd5ce1d..edf16991c 100644 --- a/ccm-core/web/assets/xinha/lang/pl.js +++ b/ccm-core/web/assets/xinha/lang/pl.js @@ -42,7 +42,7 @@ "Split Block": "Podziel blok", "Toggle Borders": "Włącz / wyłącz ramki", - "— format —": "— Format —", + "— format —": "— Format —", "Heading 1": "Nagłówek 1", "Heading 2": "Nagłówek 2", "Heading 3": "Nagłówek 3", diff --git a/ccm-core/web/assets/xinha/lang/pt_br.js b/ccm-core/web/assets/xinha/lang/pt_br.js index 501396b2b..729873f9f 100644 --- a/ccm-core/web/assets/xinha/lang/pt_br.js +++ b/ccm-core/web/assets/xinha/lang/pt_br.js @@ -155,7 +155,7 @@ "Toggle Borders": "Mudar Bordas", "Save as": "Salvar como", "Insert/Overwrite": "Inserir/Sobrescrever", - "— format —": "— formato —", + "— format —": "— formato —", "Heading 1": "Título 1", "Heading 2": "Título 2", "Heading 3": "Título 3", @@ -165,8 +165,8 @@ "Normal": "Normal", "Address": "Endereço", "Formatted": "Formatado", - "— font —": "— fonte —", - "— size —": "— tamanho —", + "— font —": "— fonte —", + "— size —": "— tamanho —", "Ordered List": "Lista Numerada", "Bulleted List": "Lista Marcadores", "Decrease Indent": "Diminuir Indentação", diff --git a/ccm-core/web/assets/xinha/lang/ru.js b/ccm-core/web/assets/xinha/lang/ru.js index d7e201bfa..92394c206 100644 --- a/ccm-core/web/assets/xinha/lang/ru.js +++ b/ccm-core/web/assets/xinha/lang/ru.js @@ -61,7 +61,7 @@ "Toggle Borders": "Включить/выключить отображение границ", "Save as": "Сохранить как", "Insert/Overwrite": "Вставка/замена", - "— format —": "— форматирование —", + "— format —": "— форматирование —", "Heading 1": "Заголовок 1", "Heading 2": "Заголовок 2", "Heading 3": "Заголовок 3", @@ -72,8 +72,8 @@ "Address": "Адрес", "Formatted": "Отформатированный текст", - "— font —": "— шрифт —", - "— size —": "— размер —", + "— font —": "— шрифт —", + "— size —": "— размер —", // Диалоги diff --git a/ccm-core/web/assets/xinha/lang/sh.js b/ccm-core/web/assets/xinha/lang/sh.js index 270630464..b56a0df2b 100644 --- a/ccm-core/web/assets/xinha/lang/sh.js +++ b/ccm-core/web/assets/xinha/lang/sh.js @@ -53,7 +53,7 @@ "Split Block": "Podeli blok", "Toggle Borders": "Izmeni okvire", - "— format —": "— Format —", + "— format —": "— Format —", "Heading 1": "Zaglavlje 1", "Heading 2": "Zaglavlje 2", "Heading 3": "Zaglavlje 3", diff --git a/ccm-core/web/assets/xinha/lang/sr.js b/ccm-core/web/assets/xinha/lang/sr.js index 06f78c469..613dd7e2a 100644 --- a/ccm-core/web/assets/xinha/lang/sr.js +++ b/ccm-core/web/assets/xinha/lang/sr.js @@ -53,7 +53,7 @@ "Split Block": "Подели блок", "Toggle Borders": "Пребаци оквирне линије", - "— format —": "— Format —", + "— format —": "— Format —", "Heading 1": "Заглавље 1", "Heading 2": "Заглавље 2", "Heading 3": "Заглавље 3", diff --git a/ccm-core/web/assets/xinha/modules/AboutBox/AboutBox.js b/ccm-core/web/assets/xinha/modules/AboutBox/AboutBox.js new file mode 100644 index 000000000..05b492cf0 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/AboutBox/AboutBox.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +(function(){Xinha.plugins.AboutBox=a;function a(b){this.editor=b}a._pluginInfo={name:"AboutBox",developer:"The Xinha Core Developer Team"};a.prototype._lc=function(b){return Xinha._lc(b,"AboutBox")};a.prototype._prepareDialog=function(){var c=this;var b=this.editor;Xinha.loadStyle("about.css","AboutBox","aboutCSS");this.dialog=new Xinha.Dialog(b,a.html,"Xinha",{width:600});this.dialog.getElementById("close").onclick=function(){c.dialog.hide()};this.dialog.getElementById("xinha_logo").src=_editor_url+"images/xinha_logo.gif";var d=this.dialog.getElementsByClassName("tab");this.currentTab=d[0];d.forEach(function(e){e.onclick=function(){if(c.currentTab){Xinha._removeClass(c.currentTab,"tab-current");c.dialog.getElementById(c.currentTab.rel).style.display="none"}Xinha._addClass(e,"tab-current");e.blur();c.currentTab=e;c.dialog.getElementById(e.rel).style.display="block"}});this.fillPlugins();this.fillVersion();this.dialog.onresize=function(){this.getElementById("content").style.height=parseInt(this.height,10)-this.getElementById("h1").offsetHeight-this.getElementById("buttons").offsetHeight-100+"px"}};a.prototype.fillPlugins=function(){var k=this.editor;var d=this.dialog.getElementById("plugins_table");var g,l,b;var c=0;for(var f in k.plugins){var h=k.plugins[f];g=document.createElement("tr");if(c%2){g.style.backgroundColor="#e5e5e5"}d.appendChild(g);l=document.createElement("td");l.innerHTML=h.name;if(h.version){l.innerHTML+=" v"+h.version}g.appendChild(l);l=document.createElement("td");if(h.developer){if(h.developer_url){l.innerHTML=''+h.developer+""}else{l.innerHTML=h.developer}}g.appendChild(l);l=document.createElement("td");if(h.sponsor){if(h.sponsor_url){l.innerHTML=''+h.sponsor+""}else{l.innerHTML=h.sponsor}}g.appendChild(l);l=document.createElement("td");if(h.license){l.innerHTML=h.license}else{l.innerHTML="htmlArea"}g.appendChild(l);c++}};a.prototype.fillVersion=function(){var b=Xinha.version;this.dialog.getElementById("version").innerHTML="
\nRelease:         "+b.Release+" ("+b.Date+")\nHead:            "+b.Head+"\nRevision:        "+b.Revision+"\nLast Changed By: "+b.RevisionBy+"\n
"};a.prototype.show=function(){var b=this;if(!a.html){if(a.loading){return}a.loading=true;Xinha._getback(Xinha.getPluginDir("AboutBox")+"/dialog.html",function(d){a.html=d;b.show()});return}if(!this.dialog){this._prepareDialog()}var c={inputArea:""};this.dialog.show(c)}})(); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/AboutBox/about.css b/ccm-core/web/assets/xinha/modules/AboutBox/about.css new file mode 100644 index 000000000..c4507d063 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/AboutBox/about.css @@ -0,0 +1,51 @@ +.dialog .about.buttons a.tab { + color: #000; + cursor: pointer; + margin-left: -5px; + float: left; position: relative; + border: 1px solid #555; + top: -3px; left: -2px; + padding: 2px 10px 3px 10px; + border-top: none; background-color: #CCC; + -moz-border-radius: 0px 0px 4px 4px; + -webkit-border-radius: 4px; + -webkit-border-top-left-radius:0; + -webkit-border-top-right-radius:0; + + z-index: 0; + text-decoration:none; +} +.dialog .about.buttons a.tab-current +{ + top: -4px; + background-color: #f5f6f6; + padding: 3px 10px 4px 10px; + z-index: 10; +} + +.dialog .about.buttons { + background-color:white; + padding:3px 3px 0 10px; +} + +.dialog .about.content .tab-content { + padding-bottom:15px; + width:95%; +} +.dialog .about.content { + height:300px; + overflow:auto; + background-color:#f5f6f6; +} +.dialog .about.content table.plugins{ + width:95%; + border: 1px solid black; + margin: 1em; +} +.dialog .about.content table.plugins th{ + font-weight: bold; + background-color: #CCC; +} +.dialog .about.content table.plugins td{ + padding:3px; +} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/AboutBox/dialog.html b/ccm-core/web/assets/xinha/modules/AboutBox/dialog.html new file mode 100644 index 000000000..403519128 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/AboutBox/dialog.html @@ -0,0 +1,95 @@ +

+ About this editor +

+Xinha +
+
+

+ A free WYSIWYG editor replacement for + + <textarea> + + fields. +

+

+ Visit the Xinha Website + for more information. +

+

+ Use of Xinha is granted by the terms of the htmlArea License (based on BSD license) +

+
    Copyright (c) 2005-2009 Xinha Developer Team and contributors
+

+ Xinha was originally based on work by Mihai Bazon which is: +

+
+    Copyright (c) 2003-2004 dynarch.com.
+    Copyright (c) 2002-2003 interactivetools.com, inc.
+    This copyright notice MUST stay intact for use.
+  
+
+ + + + +
+
+ + +
\ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/ColorPicker/ColorPicker.js b/ccm-core/web/assets/xinha/modules/ColorPicker/ColorPicker.js index a4aa75221..3d4a80136 100644 --- a/ccm-core/web/assets/xinha/modules/ColorPicker/ColorPicker.js +++ b/ccm-core/web/assets/xinha/modules/ColorPicker/ColorPicker.js @@ -1,624 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/ColorPicker/ColorPicker.js */ -ColorPicker._pluginInfo={name:"colorPicker",version:"$LastChangedRevision:998 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"}; -function ColorPicker(){ -} -try{ -if(window.opener&&window.opener.Xinha){ -var openerColorPicker=window.opener.Xinha.colorPicker; -Xinha._addEvent(window,"unload",function(){ -Xinha.colorPicker=openerColorPicker; -}); -} -} -catch(e){ -} -Xinha.colorPicker=function(_1){ -if(Xinha.colorPicker.savedColors.length===0){ -Xinha.colorPicker.loadColors(); -} -this.is_ie_6=(Xinha.is_ie&&Xinha.ie_version<7); -var _2=this; -var _3=false; -var _4=false; -var _5=0; -var _6=0; -this.callback=_1.callback?_1.callback:function(_7){ -alert("You picked "+_7); -}; -this.websafe=_1.websafe?_1.websafe:false; -this.savecolors=_1.savecolors?_1.savecolors:20; -this.cellsize=parseInt(_1.cellsize?_1.cellsize:"10px",10); -this.side=_1.granularity?_1.granularity:18; -var _8=this.side+1; -var _9=this.side-1; -this.value=1; -this.saved_cells=null; -this.table=document.createElement("table"); -this.table.className="dialog"; -this.table.cellSpacing=this.table.cellPadding=0; -this.table.onmouseup=function(){ -_3=false; -_4=false; -}; -this.tbody=document.createElement("tbody"); -this.table.appendChild(this.tbody); -this.table.style.border="1px solid WindowFrame"; -this.table.style.zIndex="1050"; -var tr=document.createElement("tr"); -var td=document.createElement("td"); -td.colSpan=this.side; -td.className="title"; -td.style.fontFamily="small-caption,caption,sans-serif"; -td.style.fontSize="x-small"; -td.unselectable="on"; -td.style.MozUserSelect="none"; -td.style.cursor="default"; -td.appendChild(document.createTextNode(Xinha._lc("Click a color..."))); -td.style.borderBottom="1px solid WindowFrame"; -tr.appendChild(td); -td=null; -var td=document.createElement("td"); -td.className="title"; -td.colSpan=2; -td.style.fontFamily="Tahoma,Verdana,sans-serif"; -td.style.borderBottom="1px solid WindowFrame"; -td.style.paddingRight="0"; -tr.appendChild(td); -var _c=document.createElement("div"); -_c.title=Xinha._lc("Close"); -_c.className="buttonColor"; -_c.style.height="11px"; -_c.style.width="11px"; -_c.style.cursor="pointer"; -_c.onclick=function(){ -_2.close(); -}; -_c.appendChild(document.createTextNode("\xd7")); -_c.align="center"; -_c.style.verticalAlign="top"; -_c.style.position="relative"; -_c.style.cssFloat="right"; -_c.style.styleFloat="right"; -_c.style.padding="0"; -_c.style.margin="2px"; -_c.style.backgroundColor="transparent"; -_c.style.fontSize="11px"; -if(!Xinha.is_ie){ -_c.style.lineHeight="9px"; -} -_c.style.letterSpacing="0"; -td.appendChild(_c); -this.tbody.appendChild(tr); -_c=tr=td=null; -this.constrain_cb=document.createElement("input"); -this.constrain_cb.type="checkbox"; -this.chosenColor=document.createElement("input"); -this.chosenColor.type="text"; -this.chosenColor.maxLength=7; -this.chosenColor.style.width="50px"; -this.chosenColor.style.fontSize="11px"; -this.chosenColor.onchange=function(){ -if(/#[0-9a-f]{6,6}/i.test(this.value)){ -_2.backSample.style.backgroundColor=this.value; -_2.foreSample.style.color=this.value; -} -}; -this.backSample=document.createElement("div"); -this.backSample.appendChild(document.createTextNode("\xa0")); -this.backSample.style.fontWeight="bold"; -this.backSample.style.fontFamily="small-caption,caption,sans-serif"; -this.backSample.fontSize="x-small"; -this.foreSample=document.createElement("div"); -this.foreSample.appendChild(document.createTextNode(Xinha._lc("Sample"))); -this.foreSample.style.fontWeight="bold"; -this.foreSample.style.fontFamily="small-caption,caption,sans-serif"; -this.foreSample.fontSize="x-small"; -function toHex(_d){ -var h=_d.toString(16); -if(h.length<2){ -h="0"+h; -} -return h; -} -function tupleToColor(_f){ -return "#"+toHex(_f.red)+toHex(_f.green)+toHex(_f.blue); -} -function nearestPowerOf(num,_11){ -return Math.round(Math.round(num/_11)*_11); -} -function doubleHexDec(dec){ -return parseInt(dec.toString(16)+dec.toString(16),16); -} -function rgbToWebsafe(_13){ -_13.red=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.red).charAt(0),16),3)); -_13.blue=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.blue).charAt(0),16),3)); -_13.green=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.green).charAt(0),16),3)); -return _13; -} -function hsvToRGB(h,s,v){ -var _17; -if(s===0){ -_17={red:v,green:v,blue:v}; -}else{ -h/=60; -var i=Math.floor(h); -var f=h-i; -var p=v*(1-s); -var q=v*(1-s*f); -var t=v*(1-s*(1-f)); -switch(i){ -case 0: -_17={red:v,green:t,blue:p}; -break; -case 1: -_17={red:q,green:v,blue:p}; -break; -case 2: -_17={red:p,green:v,blue:t}; -break; -case 3: -_17={red:p,green:q,blue:v}; -break; -case 4: -_17={red:t,green:p,blue:v}; -break; -default: -_17={red:v,green:p,blue:q}; -break; -} -} -_17.red=Math.ceil(_17.red*255); -_17.green=Math.ceil(_17.green*255); -_17.blue=Math.ceil(_17.blue*255); -return _17; -} -var _1d=this; -function closeOnBodyClick(ev){ -ev=ev?ev:window.event; -el=ev.target?ev.target:ev.srcElement; -do{ -if(el==_1d.table){ -return; -} -}while(el=el.parentNode); -_1d.close(); -} -this.open=function(_1f,_20,_21){ -this.table.style.display=""; -this.pick_color(); -if(_21&&/#[0-9a-f]{6,6}/i.test(_21)){ -this.chosenColor.value=_21; -this.backSample.style.backgroundColor=_21; -this.foreSample.style.color=_21; -} -Xinha._addEvent(document.body,"mousedown",closeOnBodyClick); -this.table.style.position="absolute"; -var e=_20; -var top=0; -var _24=0; -do{ -if(e.style.position=="fixed"){ -this.table.style.position="fixed"; -} -top+=e.offsetTop; -_24+=e.offsetLeft; -e=e.offsetParent; -}while(e); -var x,y; -if(/top/.test(_1f)||(top+this.table.offsetHeight>document.body.offsetHeight)){ -if(top-this.table.offsetHeight>0){ -this.table.style.top=(top-this.table.offsetHeight)+"px"; -}else{ -this.table.style.top=0; -} -}else{ -this.table.style.top=(top+_20.offsetHeight)+"px"; -} -if(/left/.test(_1f)||(_24+this.table.offsetWidth>document.body.offsetWidth)){ -if(_24-(this.table.offsetWidth-_20.offsetWidth)>0){ -this.table.style.left=(_24-(this.table.offsetWidth-_20.offsetWidth))+"px"; -}else{ -this.table.style.left=0; -} -}else{ -this.table.style.left=_24+"px"; -} -if(this.is_ie_6){ -this.iframe.style.top=this.table.style.top; -this.iframe.style.left=this.table.style.left; -} -}; -function pickCell(_26){ -_2.chosenColor.value=_26.colorCode; -_2.backSample.style.backgroundColor=_26.colorCode; -_2.foreSample.style.color=_26.colorCode; -if((_26.hue>=195&&_26.saturation>0.5)||(_26.hue===0&&_26.saturation===0&&_26.value<0.5)||(_26.hue!==0&&_2.value<0.75)){ -_26.style.borderColor="#fff"; -}else{ -_26.style.borderColor="#000"; -} -_5=_26.thisrow; -_6=_26.thiscol; -} -function pickValue(_27){ -if(_2.value<0.5){ -_27.style.borderColor="#fff"; -}else{ -_27.style.borderColor="#000"; -} -_9=_27.thisrow; -_8=_27.thiscol; -_2.chosenColor.value=_2.saved_cells[_5][_6].colorCode; -_2.backSample.style.backgroundColor=_2.saved_cells[_5][_6].colorCode; -_2.foreSample.style.color=_2.saved_cells[_5][_6].colorCode; -} -function unpickCell(row,col){ -_2.saved_cells[row][col].style.borderColor=_2.saved_cells[row][col].colorCode; -} -this.pick_color=function(){ -var _2a,cols; -var _2b=this; -var _2c=359/(this.side); -var _2d=1/(this.side-1); -var _2e=1/(this.side-1); -var _2f=this.constrain_cb.checked; -if(this.saved_cells===null){ -this.saved_cells=[]; -for(var row=0;row=195&&_41.saturation>0.5)||(_41.hue===0&&_41.saturation===0&&_41.value<0.5)||(_41.hue!==0&&_2b.value<0.75)){ -_41.style.borderColor="#fff"; -}else{ -_41.style.borderColor="#000"; -} -} -}; -this.close=function(){ -Xinha._removeEvent(document.body,"mousedown",closeOnBodyClick); -this.table.style.display="none"; -if(this.is_ie_6){ -if(this.iframe){ -this.iframe.style.display="none"; -} -} -}; -}; -Xinha.colorPicker.savedColors=[]; -Xinha.colorPicker.remember=function(_42,_43){ -for(var i=Xinha.colorPicker.savedColors.length;i--;){ -if(Xinha.colorPicker.savedColors[i]==_42){ -return false; -} -} -Xinha.colorPicker.savedColors.splice(0,0,_42); -Xinha.colorPicker.savedColors=Xinha.colorPicker.savedColors.slice(0,_43); -var _45=new Date(); -_45.setMonth(_45.getMonth()+1); -document.cookie="XinhaColorPicker="+escape(Xinha.colorPicker.savedColors.join("-"))+";expires="+_45.toGMTString(); -return true; -}; -Xinha.colorPicker.loadColors=function(){ -var _46=document.cookie.indexOf("XinhaColorPicker"); -if(_46!=-1){ -var _47=(document.cookie.indexOf("=",_46)+1); -var end=document.cookie.indexOf(";",_46); -if(end==-1){ -end=document.cookie.length; -} -Xinha.colorPicker.savedColors=unescape(document.cookie.substring(_47,end)).split("-"); -} -}; -Xinha.colorPicker.InputBinding=function(_49,_4a){ -var doc=_49.ownerDocument; -var _4c=doc.createElement("span"); -_4c.className="buttonColor"; -var _4d=this.chooser=doc.createElement("span"); -_4d.className="chooser"; -if(_49.value){ -_4d.style.backgroundColor=_49.value; -} -_4d.onmouseover=function(){ -_4d.className="chooser buttonColor-hilite"; -}; -_4d.onmouseout=function(){ -_4d.className="chooser"; -}; -_4d.appendChild(doc.createTextNode("\xa0")); -_4c.appendChild(_4d); -var _4e=doc.createElement("span"); -_4e.className="nocolor"; -_4e.onmouseover=function(){ -_4e.className="nocolor buttonColor-hilite"; -_4e.style.color="#f00"; -}; -_4e.onmouseout=function(){ -_4e.className="nocolor"; -_4e.style.color="#000"; -}; -_4e.onclick=function(){ -_49.value=""; -_4d.style.backgroundColor=""; -}; -_4e.appendChild(doc.createTextNode("\xd7")); -_4c.appendChild(_4e); -_49.parentNode.insertBefore(_4c,_49.nextSibling); -Xinha._addEvent(_49,"change",function(){ -_4d.style.backgroundColor=this.value; -}); -_4a=(_4a)?Xinha.cloneObject(_4a):{cellsize:"5px"}; -_4a.callback=(_4a.callback)?_4a.callback:function(_4f){ -_4d.style.backgroundColor=_4f; -_49.value=_4f; -}; -_4d.onclick=function(){ -var _50=new Xinha.colorPicker(_4a); -_50.open("",_4d,_49.value); -}; -Xinha.freeLater(this,"chooser"); -}; -Xinha.colorPicker.InputBinding.prototype.setColor=function(_51){ -this.chooser.style.backgroundColor=_51; -}; - +ColorPicker._pluginInfo={name:"colorPicker",version:"$LastChangedRevision: 1237 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};function ColorPicker(){}try{if(window.opener&&window.opener.Xinha){var openerColorPicker=window.opener.Xinha.colorPicker;Xinha._addEvent(window,"unload",function(){Xinha.colorPicker=openerColorPicker})}}catch(e){}Xinha.colorPicker=function(s){if(Xinha.colorPicker.savedColors.length===0){Xinha.colorPicker.loadColors()}this.is_ie_6=(Xinha.is_ie&&Xinha.ie_version<7);var g=this;var d=false;var k=false;var m=0;var r=0;this.callback=s.callback?s.callback:function(x){alert("You picked "+x)};this.websafe=s.websafe?s.websafe:false;this.savecolors=s.savecolors?s.savecolors:20;this.cellsize=parseInt(s.cellsize?s.cellsize:"10px",10);this.side=s.granularity?s.granularity:18;var i=this.side+1;var f=this.side-1;this.value=1;this.saved_cells=null;this.table=document.createElement("table");this.table.className="dialog";this.table.cellSpacing=this.table.cellPadding=0;this.table.onmouseup=function(){d=false;k=false};this.tbody=document.createElement("tbody");this.table.appendChild(this.tbody);this.table.style.border="1px solid WindowFrame";this.table.style.zIndex="1050";var b=document.createElement("tr");var j=document.createElement("td");j.colSpan=this.side;j.className="title";j.style.fontFamily="small-caption,caption,sans-serif";j.style.fontSize="x-small";j.unselectable="on";j.style.MozUserSelect="none";j.style.cursor="default";j.appendChild(document.createTextNode(Xinha._lc("Click a color...")));j.style.borderBottom="1px solid WindowFrame";b.appendChild(j);j=null;var j=document.createElement("td");j.className="title";j.colSpan=2;j.style.fontFamily="Tahoma,Verdana,sans-serif";j.style.borderBottom="1px solid WindowFrame";j.style.paddingRight="0";b.appendChild(j);var n=document.createElement("div");n.title=Xinha._lc("Close");n.className="buttonColor";n.style.height="11px";n.style.width="11px";n.style.cursor="pointer";n.onclick=function(){g.close()};n.appendChild(document.createTextNode("\u00D7"));n.align="center";n.style.verticalAlign="top";n.style.position="relative";n.style.cssFloat="right";n.style.styleFloat="right";n.style.padding="0";n.style.margin="2px";n.style.backgroundColor="transparent";n.style.fontSize="11px";if(!Xinha.is_ie){n.style.lineHeight="9px"}n.style.letterSpacing="0";j.appendChild(n);this.tbody.appendChild(b);n=b=j=null;this.constrain_cb=document.createElement("input");this.constrain_cb.type="checkbox";this.chosenColor=document.createElement("input");this.chosenColor.type="text";this.chosenColor.maxLength=7;this.chosenColor.style.width="50px";this.chosenColor.style.fontSize="11px";this.chosenColor.onchange=function(){if(/#[0-9a-f]{6,6}/i.test(this.value)){g.backSample.style.backgroundColor=this.value;g.foreSample.style.color=this.value}};this.backSample=document.createElement("div");this.backSample.appendChild(document.createTextNode("\u00A0"));this.backSample.style.fontWeight="bold";this.backSample.style.fontFamily="small-caption,caption,sans-serif";this.backSample.fontSize="x-small";this.foreSample=document.createElement("div");this.foreSample.appendChild(document.createTextNode(Xinha._lc("Sample")));this.foreSample.style.fontWeight="bold";this.foreSample.style.fontFamily="small-caption,caption,sans-serif";this.foreSample.fontSize="x-small";function t(y){var x=y.toString(16);if(x.length<2){x="0"+x}return x}function p(x){return"#"+t(x.red)+t(x.green)+t(x.blue)}function q(x,y){return Math.round(Math.round(x/y)*y)}function h(x){return parseInt(x.toString(16)+x.toString(16),16)}function v(x){x.red=h(q(parseInt(t(x.red).charAt(0),16),3));x.blue=h(q(parseInt(t(x.blue).charAt(0),16),3));x.green=h(q(parseInt(t(x.green).charAt(0),16),3));return x}function a(A,F,D){var C;if(F===0){C={red:D,green:D,blue:D}}else{A/=60;var z=Math.floor(A);var B=A-z;var y=D*(1-F);var x=D*(1-F*B);var E=D*(1-F*(1-B));switch(z){case 0:C={red:D,green:E,blue:y};break;case 1:C={red:x,green:D,blue:y};break;case 2:C={red:y,green:D,blue:E};break;case 3:C={red:y,green:x,blue:D};break;case 4:C={red:E,green:y,blue:D};break;default:C={red:D,green:y,blue:x};break}}C.red=Math.ceil(C.red*255);C.green=Math.ceil(C.green*255);C.blue=Math.ceil(C.blue*255);return C}var o=this;function l(x){x=x?x:window.event;el=x.target?x.target:x.srcElement;do{if(el==o.table){return}}while(el=el.parentNode);o.close()}this.open=function(F,B,A){this.table.style.display="";this.pick_color();if(A&&/#[0-9a-f]{6,6}/i.test(A)){this.chosenColor.value=A;this.backSample.style.backgroundColor=A;this.foreSample.style.color=A}Xinha._addEvent(document.body,"mousedown",l);this.table.style.position="absolute";var E=B;var D=0;var C=0;do{if(E.style.position=="fixed"){this.table.style.position="fixed"}D+=E.offsetTop-E.scrollTop;C+=E.offsetLeft-E.scrollLeft;E=E.offsetParent}while(E);var z,G;if(/top/.test(F)||(D+this.table.offsetHeight>document.body.offsetHeight)){if(D-this.table.offsetHeight>0){this.table.style.top=(D-this.table.offsetHeight)+"px"}else{this.table.style.top=0}}else{this.table.style.top=(D+B.offsetHeight)+"px"}if(/left/.test(F)||(C+this.table.offsetWidth>document.body.offsetWidth)){if(C-(this.table.offsetWidth-B.offsetWidth)>0){this.table.style.left=(C-(this.table.offsetWidth-B.offsetWidth))+"px"}else{this.table.style.left=0}}else{this.table.style.left=C+"px"}if(this.is_ie_6){this.iframe.style.top=this.table.style.top;this.iframe.style.left=this.table.style.left}};function w(x){g.chosenColor.value=x.colorCode;g.backSample.style.backgroundColor=x.colorCode;g.foreSample.style.color=x.colorCode;if((x.hue>=195&&x.saturation>0.5)||(x.hue===0&&x.saturation===0&&x.value<0.5)||(x.hue!==0&&g.value<0.75)){x.style.borderColor="#fff"}else{x.style.borderColor="#000"}m=x.thisrow;r=x.thiscol}function c(x){if(g.value<0.5){x.style.borderColor="#fff"}else{x.style.borderColor="#000"}f=x.thisrow;i=x.thiscol;g.chosenColor.value=g.saved_cells[m][r].colorCode;g.backSample.style.backgroundColor=g.saved_cells[m][r].colorCode;g.foreSample.style.color=g.saved_cells[m][r].colorCode}function u(y,x){g.saved_cells[y][x].style.borderColor=g.saved_cells[y][x].colorCode}this.pick_color=function(){var K,L;var z=this;var S=359/(this.side);var E=1/(this.side-1);var A=1/(this.side-1);var T=this.constrain_cb.checked;if(this.saved_cells===null){this.saved_cells=[];for(var F=0;F=195&&B.saturation>0.5)||(B.hue===0&&B.saturation===0&&B.value<0.5)||(B.hue!==0&&z.value<0.75)){B.style.borderColor="#fff"}else{B.style.borderColor="#000"}}};this.close=function(){Xinha._removeEvent(document.body,"mousedown",l);this.table.style.display="none";if(this.is_ie_6){if(this.iframe){this.iframe.style.display="none"}}}};Xinha.colorPicker.savedColors=[];Xinha.colorPicker.remember=function(b,d){for(var c=Xinha.colorPicker.savedColors.length;c--;){if(Xinha.colorPicker.savedColors[c]==b){return false}}Xinha.colorPicker.savedColors.splice(0,0,b);Xinha.colorPicker.savedColors=Xinha.colorPicker.savedColors.slice(0,d);var a=new Date();a.setMonth(a.getMonth()+1);document.cookie="XinhaColorPicker="+escape(Xinha.colorPicker.savedColors.join("-"))+";expires="+a.toGMTString();return true};Xinha.colorPicker.loadColors=function(){var b=document.cookie.indexOf("XinhaColorPicker");if(b!=-1){var c=(document.cookie.indexOf("=",b)+1);var a=document.cookie.indexOf(";",b);if(a==-1){a=document.cookie.length}Xinha.colorPicker.savedColors=unescape(document.cookie.substring(c,a)).split("-")}};Xinha.colorPicker.InputBinding=function(c,d){var g=c.ownerDocument;var b=g.createElement("span");b.className="buttonColor";var f=this.chooser=g.createElement("span");f.className="chooser";if(c.value){f.style.backgroundColor=c.value}f.onmouseover=function(){f.className="chooser buttonColor-hilite"};f.onmouseout=function(){f.className="chooser"};f.appendChild(g.createTextNode("\u00a0"));b.appendChild(f);var a=g.createElement("span");a.className="nocolor";a.onmouseover=function(){a.className="nocolor buttonColor-hilite";a.style.color="#f00"};a.onmouseout=function(){a.className="nocolor";a.style.color="#000"};a.onclick=function(){c.value="";f.style.backgroundColor=""};a.appendChild(g.createTextNode("\u00d7"));b.appendChild(a);c.parentNode.insertBefore(b,c.nextSibling);Xinha._addEvent(c,"change",function(){f.style.backgroundColor=this.value});d=(d)?Xinha.cloneObject(d):{cellsize:"5px"};d.callback=(d.callback)?d.callback:function(h){f.style.backgroundColor=h;c.value=h};f.onclick=function(){var h=new Xinha.colorPicker(d);h.open("",f,c.value)};Xinha.freeLater(this,"chooser")};Xinha.colorPicker.InputBinding.prototype.setColor=function(a){this.chooser.style.backgroundColor=a}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/pt_br.js b/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/lang/pt_br.js similarity index 80% rename from ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/pt_br.js rename to ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/lang/pt_br.js index 092cdc47f..f75cd02c8 100644 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/pt_br.js +++ b/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/lang/pt_br.js @@ -14,5 +14,5 @@ // Distributed under the same terms as HTMLArea itself. // This notice MUST stay intact for use (see license.txt). { - "Page break": "Quebra de página" -}; \ No newline at end of file + "You need to select some text before creating a link": "Você precisa selecionar um texto antes de criar um link" +} diff --git a/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.html b/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.html new file mode 100755 index 000000000..aa224209a --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.html @@ -0,0 +1,150 @@ + + + + Insert/Modify Link + + + + + + + + +
Insert/Modify Link
+
+ + + + + + + + + + + + + +
URL: + +
Title (tooltip):
Target: + +
+ +
+ + +
+
+ + diff --git a/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.js b/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.js new file mode 100644 index 000000000..09e5e23ae --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.js @@ -0,0 +1,87 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ +/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/CreateLink/link.js */ +CreateLink._pluginInfo={name:"CreateLink",origin:"Xinha Core",version:"$LastChangedRevision:990 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/CreateLink/link.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; +function CreateLink(_1){ +} +Xinha.prototype._createLink=function(_2){ +var _3=this; +var _4=null; +if(typeof _2=="undefined"){ +_2=this.getParentElement(); +if(_2){ +while(_2&&!/^a$/i.test(_2.tagName)){ +_2=_2.parentNode; +} +} +} +if(!_2){ +var _5=_3.getSelection(); +var _6=_3.createRange(_5); +var _7=0; +if(Xinha.is_ie){ +if(_5.type=="Control"){ +_7=_6.length; +}else{ +_7=_6.compareEndPoints("StartToEnd",_6); +} +}else{ +_7=_6.compareBoundaryPoints(_6.START_TO_END,_6); +} +if(_7===0){ +alert(Xinha._lc("You need to select some text before creating a link")); +return; +} +_4={f_href:"",f_title:"",f_target:"",f_usetarget:_3.config.makeLinkShowsTarget}; +}else{ +_4={f_href:Xinha.is_ie?_3.stripBaseURL(_2.href):_2.getAttribute("href"),f_title:_2.title,f_target:_2.target,f_usetarget:_3.config.makeLinkShowsTarget}; +} +Dialog(_3.config.URIs.link,function(_8){ +if(!_8){ +return false; +} +var a=_2; +if(!a){ +try{ +var _a=Xinha.uniq("http://www.example.com/Link"); +_3._doc.execCommand("createlink",false,_a); +var _b=_3._doc.getElementsByTagName("a"); +for(var i=0;i<_b.length;i++){ +var _d=_b[i]; +if(_d.href==_a){ +if(!a){ +a=_d; +} +_d.href=_8.f_href; +if(_8.f_target){ +_d.target=_8.f_target; +} +if(_8.f_title){ +_d.title=_8.f_title; +} +} +} +} +catch(ex){ +} +}else{ +var _e=_8.f_href.trim(); +_3.selectNodeContents(a); +if(_e===""){ +_3._doc.execCommand("unlink",false,null); +_3.updateToolbar(); +return false; +}else{ +a.href=_e; +} +} +if(!(a&&a.tagName.toLowerCase()=="a")){ +return false; +} +a.target=_8.f_target.trim(); +a.title=_8.f_title.trim(); +_3.selectNodeContents(a); +_3.updateToolbar(); +},_4); +}; + diff --git a/ccm-core/web/assets/xinha/modules/CreateLink/Orig/dialog.html b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/dialog.html new file mode 100644 index 000000000..5c7863dfa --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/dialog.html @@ -0,0 +1,28 @@ +

Insert/Modify Link

+ + + + + + + + + + + + + +
URL:
Title (tooltip):
Target: + +
+ +
+ + +
\ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Template/lang/pt_br.js b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/lang/pt_br.js similarity index 80% rename from ccm-core/web/assets/xinha/plugins/Template/lang/pt_br.js rename to ccm-core/web/assets/xinha/modules/CreateLink/Orig/lang/pt_br.js index 4bdc2eb87..f75cd02c8 100644 --- a/ccm-core/web/assets/xinha/plugins/Template/lang/pt_br.js +++ b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/lang/pt_br.js @@ -14,6 +14,5 @@ // Distributed under the same terms as HTMLArea itself. // This notice MUST stay intact for use (see license.txt). { - "Insert template" : "Inserir modelo", - "Cancel" : "Cancelar" -}; \ No newline at end of file + "You need to select some text before creating a link": "Você precisa selecionar um texto antes de criar um link" +} diff --git a/ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.html b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.html new file mode 100644 index 000000000..adad40058 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.html @@ -0,0 +1,136 @@ + + + + Insert/Modify Link + + + + + + + + +
Insert/Modify Link
+
+ + + + + + + + + + + + + +
URL:
Title (tooltip):
Target: + +
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.js b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.js new file mode 100644 index 000000000..a75126eff --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function CreateLink(c){this.editor=c;var a=c.config;var b=this;c.config.btnList.createlink[3]=function(){b.show(b._getSelectedAnchor())}}CreateLink._pluginInfo={name:"CreateLink",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/CreateLink/link.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};CreateLink.prototype._lc=function(a){return Xinha._lc(a,"Xinha")};CreateLink.prototype.onGenerateOnce=function(){CreateLink.loadAssets()};CreateLink.loadAssets=function(){var self=CreateLink;if(self.loading){return}self.loading=true;Xinha._getback(_editor_url+"modules/CreateLink/dialog.html",function(getback){self.html=getback;self.dialogReady=true});Xinha._getback(_editor_url+"modules/CreateLink/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true})};CreateLink.prototype.onUpdateToolbar=function(){if(!(CreateLink.dialogReady&&CreateLink.methodsReady)){this.editor._toolbarObjects.createlink.state("enabled",false)}else{this.onUpdateToolbar=null}};CreateLink.prototype.prepareDialog=function(){var b=this;var a=this.editor;var c=this.dialog=new Xinha.Dialog(a,CreateLink.html,"Xinha",{width:400});c.getElementById("ok").onclick=function(){b.apply()};c.getElementById("cancel").onclick=function(){b.dialog.hide()};if(!a.config.makeLinkShowsTarget){c.getElementById("f_target_label").style.visibility="hidden";c.getElementById("f_target").style.visibility="hidden";c.getElementById("f_other_target").style.visibility="hidden"}c.getElementById("f_target").onchange=function(){var d=c.getElementById("f_other_target");if(this.value=="_other"){d.style.visibility="visible";d.select();d.focus()}else{d.style.visibility="hidden"}};this.dialogReady=true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/CreateLink/Orig/pluginMethods.js b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/pluginMethods.js new file mode 100644 index 000000000..6e305eb85 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/CreateLink/Orig/pluginMethods.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +CreateLink.prototype.show=function(b){if(!this.dialog){this.prepareDialog()}var c=this.editor;this.a=b;if(!b&&this.editor.selectionEmpty(this.editor.getSelection())){alert(this._lc("You need to select some text before creating a link"));return false}var d={f_href:"",f_title:"",f_target:"",f_other_target:""};if(b&&b.tagName.toLowerCase()=="a"){d.f_href=this.editor.fixRelativeLinks(b.getAttribute("href"));d.f_title=b.title;if(b.target){if(!/_self|_top|_blank/.test(b.target)){d.f_target="_other";d.f_other_target=b.target}else{d.f_target=b.target;d.f_other_target=""}}}this.dialog.show(d)};CreateLink.prototype.apply=function(){var m=this.dialog.hide();var k=this.a;var c=this.editor;var l={href:"",target:"",title:""};if(m.f_href){l.href=m.f_href;l.title=m.f_title;if(m.f_target.value){if(m.f_target.value=="other"){l.target=m.f_other_target}else{l.target=m.f_target.value}}}if(m.f_target.value){if(m.f_target.value!="_other"){l.target=m.f_target.value}else{l.target=m.f_other_target}}if(k&&k.tagName.toLowerCase()=="a"){if(!l.href){if(confirm(this._lc("Are you sure you wish to remove this link?"))){var b=k.parentNode;while(k.hasChildNodes()){b.insertBefore(k.removeChild(k.childNodes[0]),k)}b.removeChild(k);c.updateToolbar();return}}else{for(var g in l){k.setAttribute(g,l[g])}if(Xinha.is_ie){if(/mailto:([^?<>]*)(\?[^<]*)?$/i.test(k.innerHTML)){k.innerHTML=RegExp.$1}}}}else{if(!l.href){return true}var f=Xinha.uniq("http://www.example.com/Link");c._doc.execCommand("createlink",false,f);var h=c._doc.getElementsByTagName("a");for(var g=0;gSome Text Here
will localize the text, this is used outside attributes + * + * @param A function which can take a native (english) string and return a localized version, + * OR; A "context" to be used with the standard Xinha._lc() method, + * OR; Null - no localization will happen, only native strings will be used. + * + */ + +Xinha.DetachedDialog = function( html, localizer, size, options) +{ + var fakeeditor = + { + 'config': new Xinha.Config(), + 'scrollPos': Xinha.prototype.scrollPos, + '_someEditorHasBeenActivated': false, + 'saveSelection': function() { }, + 'deactivateEditor' : function() { }, + '_textArea': document.createElement('textarea'), + '_iframe' : document.createElement('div'), + '_doc' : document, + 'hidePanels': function() { }, + 'showPanels': function() { }, + '_isFullScreen': false, // maybe not ? + 'activateEditor': function() { }, + 'restoreSelection': function() { }, + 'updateToolbar': function() { }, + 'focusEditor': function() { } + }; + + Xinha.Dialog.initialZ = 100; + this.attached = false; + + Xinha.DetachedDialog.parentConstructor.call(this, fakeeditor, html, localizer, size, options); +} + +Xinha.extend(Xinha.DetachedDialog, Xinha.Dialog); + + +Xinha.DetachedDialog.prototype.attachToPanel + = function() { return false; } + +Xinha.DetachedDialog.prototype.detachFromToPanel + = function() { return false; } + + + diff --git a/ccm-core/web/assets/xinha/modules/Dialogs/XinhaDialog.js b/ccm-core/web/assets/xinha/modules/Dialogs/XinhaDialog.js new file mode 100644 index 000000000..7d87552a7 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/Dialogs/XinhaDialog.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.Dialog=function(e,h,k,n,f){var t=this;this.id={};this.r_id={};this.editor=e;this.document=document;this.size=n;this.modal=(f&&f.modal===false)?false:true;this.closable=(f&&f.closable===false)?false:true;this.resizable=(f&&f.resizable===false)?false:true;this.layer=(f&&f.layer)?f.layer:0;this.centered=(f&&f.centered===true)?true:false;this.closeOnEscape=(f&&f.closeOnEscape===true)?true:false;this.rootElem=null;this.captionBar=null;this.main=null;this.background=null;this.centered=null;this.greyout=null;this.buttons=null;this.closer=null;this.icon=null;this.resizer=null;this.initialZ=null;var a=e.config.dialogOptions;if(a){if(typeof a.centered!="undefined"){this.centered=a.centered}if(typeof a.resizable!="undefined"){this.resizable=a.resizable}if(typeof a.closable!="undefined"){this.closable=a.closable}if(typeof a.greyout!="undefined"){this.greyout=a.greyout}if(typeof a.closeOnEscape!="undefined"){this.closeOnEscape=a.closeOnEscape}}var m;if(Xinha.is_ie){m=document.createElement("iframe");m.src="about:blank";m.onreadystatechange=function(){var w=window.event.srcElement.contentWindow.document;if(this.readyState=="complete"&&w&&w.body){var y=w.createElement("div");var p,x=document.styleSheets;for(var s=0;s";w.getElementsByTagName("body")[0].appendChild(y);w.body.className="xinha_dialog_background";if(t.modal){w.body.className+="_modal"}if(t.greyout){w.body.className+="_greyout"}}}}else{m=document.createElement("div")}m.className="xinha_dialog_background";if(this.modal){m.className+="_modal"}if(this.greyout){m.className+="_greyout"}var g=1000;if(!Xinha.Dialog.initialZ){var o=e._htmlArea;while(o){if(o.style&&parseInt(o.style.zIndex,10)>g){g=parseInt(o.style.zIndex,10)}o=o.parentNode}Xinha.Dialog.initialZ=g}g=Xinha.Dialog.initialZ;var l=m.style;l.position="absolute";l.top=0;l.left=0;l.border="none";l.overflow="hidden";l.display="none";l.zIndex=(this.modal?g+25:g+1)+this.layer;document.body.appendChild(m);this.background=m;m=null;Xinha.freeLater(this,"background");var j=document.createElement("div");j.style.position=(Xinha.is_ie||!this.modal)?"absolute":"fixed";j.style.zIndex=(this.modal?g+27:g+3)+this.layer;j.style.display="none";if(!this.modal){Xinha._addEvent(j,"mousedown",function(){Xinha.Dialog.activateModeless(t)})}j.className="dialog"+(this.modal?"":" modeless");if(Xinha.is_chrome){j.className+=" chrome"}document.body.appendChild(j);j.style.paddingBottom="10px";j.style.width=(n&&n.width)?n.width+"px":"";if(n&&n.height){if(Xinha.ie_version<7){j.style.height=n.height+"px"}else{j.style.minHeight=n.height+"px"}}h=this.translateHtml(h,k);var d=document.createElement("div");j.appendChild(d);d.innerHTML=h;this.fixupDOM(d,k);var q=d.removeChild(d.getElementsByTagName("h1")[0]);j.insertBefore(q,d);Xinha._addEvent(q,"mousedown",function(i){t.dragStart(i)});q.style.MozUserSelect="none";q.style.WebkitUserSelect="none";q.unselectable="on";q.onselectstart=function(){return false};this.buttons=document.createElement("div");l=this.buttons.style;l.position="absolute";l.top="0";l.right="2px";j.appendChild(this.buttons);if(this.closable&&this.closeOnEscape){Xinha._addEvent(document,"keypress",function(i){if(i.keyCode==27){if(Xinha.Dialog.activeModeless==t||t.modal){t.hide();return true}}})}this.closer=null;if(this.closable){this.closer=document.createElement("div");this.closer.className="closeButton";this.closer.onmousedown=function(i){this.className="closeButton buttonClick";Xinha._stopEvent(Xinha.getEvent(i));return false};this.closer.onmouseout=function(i){this.className="closeButton";Xinha._stopEvent(Xinha.getEvent(i));return false};this.closer.onmouseup=function(){this.className="closeButton";t.hide();return false};this.buttons.appendChild(this.closer);var v=document.createElement("span");v.className="innerX";v.style.position="relative";v.style.top="-3px";v.appendChild(document.createTextNode("\u00D7"));this.closer.appendChild(v);v=null}this.icon=document.createElement("img");var u=this.icon;u.className="icon";u.src=e.config.iconList.dialogCaption;u.style.position="absolute";u.style.top="3px";u.style.left="2px";u.ondrag=function(){return false};j.appendChild(this.icon);var c=j.getElementsByTagName("*");for(var r=0;rg){n.height=g+"px";if(h.scrollHeight>k){a.main.style.overflowY="auto"}}if(this.size.top&&this.size.left){n.top=parseInt(this.size.top,10)+"px";n.left=parseInt(this.size.left,10)+"px"}else{if(this.editor.btnClickEvent&&!this.centered){var b=this.editor.btnClickEvent;if(n.position=="absolute"){n.top=b.clientY+this.scrollPos.y+"px"}else{n.top=b.clientY+"px"}if(k+h.offsetTop>g){n.top=(n.position=="absolute"?this.scrollPos.y:0)+"px"}if(n.position=="absolute"){n.left=b.clientX+this.scrollPos.x+"px"}else{n.left=b.clientX+"px"}if(f+h.offsetLeft>c){n.left=b.clientX-f+"px";if(h.offsetLeft<0){n.left=0}}this.editor.btnClickEvent=null}else{var j=(g-k)/2;var e=(c-f)/2;n.top=((j>0)?j:0)+"px";n.left=((e>0)?e:0)+"px"}}}this.width=f;this.height=k;if(!m){this.resizeBackground({width:f+"px",height:k+"px"});this.posBackground({top:n.top,left:n.left})}if(typeof l!="undefined"){this.setValues(l)}this.dialogShown=true};Xinha.Dialog.prototype.hide=function(){if(this.attached){this.editor.hidePanel(this.rootElem)}else{Xinha.Dialog.fadeOut(this.rootElem);this.hideBackground();var a=this;if(Xinha.is_ff2&&this.modal){this.editor._textArea.style.display=this._restoreTo[0];this.editor._iframe.style.visibility=this._restoreTo[1];this.editor.showPanels(this._restoreTo[2])}if(!this.editor._isFullScreen&&this.modal){window.scroll(this.scrollPos.x,this.scrollPos.y)}if(Xinha.is_ie&&!this.modal){Xinha._removeEvent(this.editor._doc,"mouseup",a.saveSelection)}if(this.modal){this.editor.suspendUpdateToolbar=false;this.editor.currentModal=null;this.editor.activateEditor()}}if(this.modal){this.editor.restoreSelection(this._lastRange)}this.dialogShown=false;this.editor.updateToolbar();this.editor.focusEditor();return this.getValues()};Xinha.Dialog.prototype.toggle=function(){if(this.rootElem.style.display=="none"){this.show()}else{this.hide()}};Xinha.Dialog.prototype.collapse=function(){if(this.collapsed){this.collapsed=false;this.show()}else{this.main.style.height=0;this.collapsed=true}};Xinha.Dialog.prototype.getElementById=function(a){if(!this.rootElem.parentNode){this.document.body.appendChild(this.rootElem)}return this.document.getElementById(this.id[a]?this.id[a]:a)};Xinha.Dialog.prototype.getElementsByName=function(a){if(!this.rootElem.parentNode){this.document.body.appendChild(this.rootElem)}var b=this.document.getElementsByName(this.id[a]?this.id[a]:a);return Xinha.collectionToArray(b)};Xinha.Dialog.prototype.getElementsByClassName=function(a){return Xinha.getElementsByClassName(this.rootElem,a)};Xinha.Dialog.prototype.dragStart=function(c){if(this.attached||this.dragging){return}if(!this.modal){this.posBackground({top:0,left:0});this.resizeBackground(Xinha.Dialog.calcFullBgSize());this.editor.suspendUpdateToolbar=true}c=Xinha.getEvent(c);var b=this;b.dragging=true;b.scrollPos=b.editor.scrollPos();var a=b.rootElem.style;b.xOffs=c.offsetX||c.layerX;b.yOffs=c.offsetY||c.layerY;b.mouseMove=function(d){b.dragIt(d)};Xinha._addEvent(document,"mousemove",b.mouseMove);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mousemove",b.mouseMove)}b.mouseUp=function(d){b.dragEnd(d)};Xinha._addEvent(document,"mouseup",b.mouseUp);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mouseup",b.mouseUp)}};Xinha.Dialog.prototype.dragIt=function(c){var b=this;if(!b.dragging){return false}var d,e,a;if(b.rootElem.style.position=="absolute"){d=(c.clientY+this.scrollPos.y)-b.yOffs+"px";e=(c.clientX+this.scrollPos.x)-b.xOffs+"px";a={top:d,left:e}}else{if(b.rootElem.style.position=="fixed"){d=c.clientY-b.yOffs+"px";e=c.clientX-b.xOffs+"px";a={top:d,left:e}}}b.posDialog(a)};Xinha.Dialog.prototype.dragEnd=function(b){var a=this;if(!this.modal){this.editor.suspendUpdateToolbar=false}if(!a.dragging){return false}a.dragging=false;Xinha._removeEvent(document,"mousemove",a.mouseMove);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mousemove",a.mouseMove)}Xinha._removeEvent(document,"mouseup",a.mouseUp);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mouseup",a.mouseUp)}var c=a.rootElem.style;a.size.top=c.top;a.size.left=c.left;if(!this.modal){this.sizeBgToDialog()}};Xinha.Dialog.prototype.resizeStart=function(c){var b=this;if(b.resizing){return}b.resizing=true;if(!this.modal){this.editor.suspendUpdateToolbar=true;this.posBackground({top:0,left:0});this.resizeBackground(Xinha.Dialog.calcFullBgSize())}b.scrollPos=b.editor.scrollPos();var a=b.rootElem.style;a.minHeight="";a.overflow="hidden";b.xOffs=parseInt(a.left,10);b.yOffs=parseInt(a.top,10);b.mouseMove=function(d){b.resizeIt(d)};Xinha._addEvent(document,"mousemove",b.mouseMove);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mousemove",b.mouseMove)}b.mouseUp=function(d){b.resizeEnd(d)};Xinha._addEvent(document,"mouseup",b.mouseUp);if(Xinha.is_ie){Xinha._addEvent(this.background.contentWindow.document,"mouseup",b.mouseUp)}};Xinha.Dialog.prototype.resizeIt=function(c){var b=this;if(!b.resizing){return false}var d,e;if(b.rootElem.style.position=="absolute"){d=c.clientY+b.scrollPos.y;e=c.clientX+b.scrollPos.x}else{d=c.clientY;e=c.clientX}e-=b.xOffs;d-=b.yOffs;var a={};a.width=((e>10)?e:10)+8+"px";a.height=((d>10)?d:10)+"px";b.sizeDialog(a);b.width=b.rootElem.offsetWidth;b.height=b.rootElem.offsetHeight;b.onresize()};Xinha.Dialog.prototype.resizeEnd=function(b){var a=this;a.resizing=false;if(!this.modal){this.editor.suspendUpdateToolbar=false}Xinha._removeEvent(document,"mousemove",a.mouseMove);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mouseup",a.mouseUp)}Xinha._removeEvent(document,"mouseup",a.mouseUp);if(Xinha.is_ie){Xinha._removeEvent(this.background.contentWindow.document,"mouseup",a.mouseUp)}a.size.width=a.rootElem.offsetWidth;a.size.height=a.rootElem.offsetHeight;if(!this.modal){this.sizeBgToDialog()}};Xinha.Dialog.prototype.attachToPanel=function(c){var b=this;var d=this.rootElem;var a=this.editor;this.attached=true;this.rootElem.side=c;this.captionBar.ondblclick=function(e){b.detachFromPanel(Xinha.getEvent(e))};d.style.position="static";d.parentNode.removeChild(d);this.background.style.display="none";this.captionBar.style.paddingLeft="3px";this.resizer.style.display="none";if(this.closable){this.closer.style.display="none"}this.icon.style.display="none";if(c=="left"||c=="right"){d.style.width=a.config.panel_dimensions[c]}else{d.style.width=""}Xinha.addClasses(d,"panel");a._panels[c].panels.push(d);a._panels[c].div.appendChild(d);a.notifyOf("panel_change",{action:"add",panel:d})};Xinha.Dialog.prototype.detachFromPanel=function(){var b=this;var c=b.rootElem;var d=c.style;var a=b.editor;b.attached=false;var e=Xinha.getElementTopLeft(c);d.position="absolute";d.top=e.top+"px";d.left=e.left+"px";b.resizer.style.display="";if(b.closable){b.closer.style.display=""}b.icon.style.display="";if(b.size.width){c.style.width=b.size.width+"px"}Xinha.removeClasses(c,"panel");a.removePanel(c);document.body.appendChild(c);b.captionBar.ondblclick=function(){b.attachToPanel(c.side)};this.background.style.display="";this.sizeBgToDialog()};Xinha.Dialog.calcFullBgSize=function(){var b=Xinha.pageSize();var a=Xinha.viewportSize();return{width:(b.x>a.x?b.x:a.x)+"px",height:(b.x>a.y?b.y:a.y)+"px"}};Xinha.Dialog.prototype.sizeBgToDialog=function(){var b=this.rootElem.style;var a=this.background.style;a.top=b.top;a.left=b.left;a.width=b.width;a.height=b.height};Xinha.Dialog.prototype.hideBackground=function(){Xinha.Dialog.fadeOut(this.background)};Xinha.Dialog.prototype.showBackground=function(){Xinha.Dialog.fadeIn(this.background,70)};Xinha.Dialog.prototype.posBackground=function(a){if(this.background.style.display!="none"){this.background.style.top=a.top;this.background.style.left=a.left}};Xinha.Dialog.prototype.resizeBackground=function(a){if(this.background.style.display!="none"){this.background.style.width=a.width;this.background.style.height=a.height}};Xinha.Dialog.prototype.posDialog=function(b){var a=this.rootElem.style;a.left=b.left;a.top=b.top};Xinha.Dialog.prototype.sizeDialog=function(b){var a=this.rootElem.style;a.height=b.height;a.width=b.width;var c=parseInt(b.width,10);var d=parseInt(b.height,10)-this.captionBar.offsetHeight;this.main.style.height=(d>20)?d:20+"px";this.main.style.width=(c>10)?c:10+"px"};Xinha.Dialog.prototype.setValues=function(g){for(var f in g){if(typeof f=="string"){var c=this.getElementsByName(f);if(!c){continue}for(var a=0;a=0){b=d.options[d.selectedIndex]}}break;default:switch(d.type.toLowerCase()){case"radio":if(d.checked){b=d.value}break;case"checkbox":if(b===null){if(this.getElementsByName(this.r_id[d.name]).length>1){b=[]}}if(d.checked){if(b!==null&&typeof b=="object"&&b.push){b.push(d.value)}else{b=d.value}}break;default:b=d.value;break}}e[this.r_id[d.name]]=b}return e};Xinha.Dialog.prototype.setLocalizer=function(b){var a=this;if(typeof b=="function"){a._lc=b}else{if(b){this._lc=function(c){return Xinha._lc(c,b)}}else{this._lc=function(c){return c}}}};Xinha.Dialog.prototype.translateHtml=function(b,c){var a=this;if(c){this.setLocalizer(c)}b=b.replace(/((?:name)|(?:id))=(['"])\[([a-z0-9_]+)\]\2/ig,function(e,f,d,g){return f+"="+d+a.createId(g)+d}).replace(/(.*?)<\/l10n>/ig,function(d,e){return a._lc(e)}).replace(/\="_\((.*?)\)"/g,function(d,e){return'="'+a._lc(e)+'"'});return b};Xinha.Dialog.prototype.fixupDOM=function(j,c){var b=this;if(typeof c!="string"){c="GenericPlugin"}var h=function(m,l){switch(l){case"editor":return _editor_url;case"plugin":return Xinha.getPluginDir(c);case"images":return b.editor.imgURL("images")}};var a=Xinha.collectionToArray(j.getElementsByTagName("img"));for(var g=0;g=0){b.op-=c;Xinha.Dialog.setOpacity(b,d);b.timeOut=setTimeout(function(){Xinha.Dialog.fadeOut(b,a,c)},a)}else{Xinha.Dialog.setOpacity(b,0);b.style.display="none";b.op=0;b.timeOut=null}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/Dialogs/dialog.js b/ccm-core/web/assets/xinha/modules/Dialogs/dialog.js index cd267667c..401bd6550 100644 --- a/ccm-core/web/assets/xinha/modules/Dialogs/dialog.js +++ b/ccm-core/web/assets/xinha/modules/Dialogs/dialog.js @@ -1,75 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Dialogs/dialog.js */ -function Dialog(_1,_2,_3){ -if(typeof _3=="undefined"){ -_3=window; -} -if(typeof window.showModalDialog=="function"&&!Xinha.is_webkit){ -Dialog._return=function(_4){ -if(typeof _2=="function"){ -_2(_4); -} -}; -var r=window.showModalDialog(_1,_3,"dialogheight=300;dialogwidth=400;resizable=yes"); -}else{ -Dialog._geckoOpenModal(_1,_2,_3); -} -} -Dialog._parentEvent=function(ev){ -setTimeout(function(){ -if(Dialog._modal&&!Dialog._modal.closed){ -Dialog._modal.focus(); -} -},50); -try{ -if(Dialog._modal&&!Dialog._modal.closed){ -Xinha._stopEvent(ev); -} -} -catch(e){ -} -}; -Dialog._return=null; -Dialog._modal=null; -Dialog._arguments=null; -Dialog._selection=null; -Dialog._geckoOpenModal=function(_7,_8,_9){ -var _a=window.open(_7,"hadialog","toolbar=no,menubar=no,personalbar=no,width=10,height=10,"+"scrollbars=no,resizable=yes,modal=yes,dependable=yes"); -Dialog._modal=_a; -Dialog._arguments=_9; -function capwin(w){ -Xinha._addEvent(w,"click",Dialog._parentEvent); -Xinha._addEvent(w,"mousedown",Dialog._parentEvent); -Xinha._addEvent(w,"focus",Dialog._parentEvent); -} -function relwin(w){ -Xinha._removeEvent(w,"click",Dialog._parentEvent); -Xinha._removeEvent(w,"mousedown",Dialog._parentEvent); -Xinha._removeEvent(w,"focus",Dialog._parentEvent); -} -capwin(window); -for(var i=0;iSome Text Here will localize the text, this is used outside attributes + * + * @param A function which can take a native (english) string and return a localized version, + * OR; A "context" to be used with the standard Xinha._lc() method, + * OR; Null - no localization will happen, only native strings will be used. + * + */ + +Xinha.DivDialog = function(rootElem, html, localizer) +{ + this.id = { }; + this.r_id = { }; // reverse lookup id + this.document = document; + + this.rootElem = rootElem; + this.rootElem.className += ' dialog'; + this.rootElem.style.display = 'none'; + + this.width = this.rootElem.offsetWidth + 'px'; + this.height = this.rootElem.offsetHeight + 'px'; + + this.setLocalizer(localizer); + this.rootElem.innerHTML = this.translateHtml(html); +} + +Xinha.extend(Xinha.DivDialog, Xinha.Dialog); + +Xinha.DivDialog.prototype.show = function(values) +{ + if(typeof values != 'undefined') + { + this.setValues(values); + } + + this.rootElem.style.display = ''; +}; + +Xinha.DivDialog.prototype.hide = function() +{ + this.rootElem.style.display = 'none'; + return this.getValues(); +}; diff --git a/ccm-core/web/assets/xinha/modules/Dialogs/inline-dialog.js b/ccm-core/web/assets/xinha/modules/Dialogs/inline-dialog.js deleted file mode 100644 index 2641f1bca..000000000 --- a/ccm-core/web/assets/xinha/modules/Dialogs/inline-dialog.js +++ /dev/null @@ -1,207 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Dialogs/inline-dialog.js */ -Xinha.Dialog=function(_1,_2,_3){ -this.id={}; -this.r_id={}; -this.editor=_1; -this.document=document; -this.rootElem=document.createElement("div"); -this.rootElem.className="dialog"; -this.rootElem.style.position="absolute"; -this.rootElem.style.display="none"; -this.editor._framework.ed_cell.insertBefore(this.rootElem,this.editor._framework.ed_cell.firstChild); -this.rootElem.style.width=this.width=this.editor._framework.ed_cell.offsetWidth+"px"; -this.rootElem.style.height=this.height=this.editor._framework.ed_cell.offsetHeight+"px"; -var _4=this; -if(typeof _3=="function"){ -this._lc=_3; -}else{ -if(_3){ -this._lc=function(_5){ -return Xinha._lc(_5,_3); -}; -}else{ -this._lc=function(_6){ -return _6; -}; -} -} -_2=_2.replace(/\[([a-z0-9_]+)\]/ig,function(_7,id){ -if(typeof _4.id[id]=="undefined"){ -_4.id[id]=Xinha.uniq("Dialog"); -_4.r_id[_4.id[id]]=id; -} -return _4.id[id]; -}).replace(/(.*?)<\/l10n>/ig,function(_9,_a){ -return _4._lc(_a); -}).replace(/="_\((.*?)\)"/g,function(_b,_c){ -return "=\""+_4._lc(_c)+"\""; -}); -this.rootElem.innerHTML=_2; -this.editor.notifyOn("resize",function(e,_e){ -_4.rootElem.style.width=_4.width=_4.editor._framework.ed_cell.offsetWidth+"px"; -_4.rootElem.style.height=_4.height=_4.editor._framework.ed_cell.offsetHeight+"px"; -_4.onresize(); -}); -}; -Xinha.Dialog.prototype.onresize=function(){ -return true; -}; -Xinha.Dialog.prototype.show=function(_f){ -if(Xinha.is_ie){ -this._lastRange=this.editor._createRange(this.editor._getSelection()); -} -if(typeof _f!="undefined"){ -this.setValues(_f); -} -this._restoreTo=[this.editor._textArea.style.display,this.editor._iframe.style.visibility,this.editor.hidePanels()]; -this.editor._textArea.style.display="none"; -this.editor._iframe.style.visibility="hidden"; -this.rootElem.style.display=""; -}; -Xinha.Dialog.prototype.hide=function(){ -this.rootElem.style.display="none"; -this.editor._textArea.style.display=this._restoreTo[0]; -this.editor._iframe.style.visibility=this._restoreTo[1]; -this.editor.showPanels(this._restoreTo[2]); -if(Xinha.is_ie){ -this._lastRange.select(); -} -this.editor.updateToolbar(); -return this.getValues(); -}; -Xinha.Dialog.prototype.toggle=function(){ -if(this.rootElem.style.display=="none"){ -this.show(); -}else{ -this.hide(); -} -}; -Xinha.Dialog.prototype.setValues=function(_10){ -for(var i in _10){ -var _12=this.getElementsByName(i); -if(!_12){ -continue; -} -for(var x=0;x<_12.length;x++){ -var e=_12[x]; -switch(e.tagName.toLowerCase()){ -case "select": -for(var j=0;j=0){ -v=i.options[i.selectedIndex]; -} -} -break; -case "textarea": -case "input": -default: -switch(i.type.toLowerCase()){ -case "radio": -if(i.checked){ -v=i.value; -break; -} -case "checkbox": -if(v==null){ -if(this.getElementsByName(this.r_id[i.name]).length>1){ -v=new Array(); -} -} -if(i.checked){ -if(v!=null&&typeof v=="object"&&v.push){ -v.push(i.value); -}else{ -v=i.value; -} -} -break; -default: -v=i.value; -break; -} -} -_17[this.r_id[i.name]]=v; -} -return _17; -}; -Xinha.Dialog.prototype.getElementById=function(id){ -return this.document.getElementById(this.id[id]?this.id[id]:id); -}; -Xinha.Dialog.prototype.getElementsByName=function(_1e){ -return this.document.getElementsByName(this.id[_1e]?this.id[_1e]:_1e); -}; - diff --git a/ccm-core/web/assets/xinha/modules/Dialogs/panel-dialog.js b/ccm-core/web/assets/xinha/modules/Dialogs/panel-dialog.js index 74ac287d9..9d2bbd416 100644 --- a/ccm-core/web/assets/xinha/modules/Dialogs/panel-dialog.js +++ b/ccm-core/web/assets/xinha/modules/Dialogs/panel-dialog.js @@ -1,51 +1,77 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Dialogs/panel-dialog.js */ -Xinha.PanelDialog=function(_1,_2,_3,_4){ -this.id={}; -this.r_id={}; -this.editor=_1; -this.document=document; -this.rootElem=_1.addPanel(_2); -var _5=this; -if(typeof _4=="function"){ -this._lc=_4; -}else{ -if(_4){ -this._lc=function(_6){ -return Xinha._lc(_6,_4); -}; -}else{ -this._lc=function(_7){ -return _7; -}; -} -} -_3=_3.replace(/\[([a-z0-9_]+)\]/ig,function(_8,id){ -if(typeof _5.id[id]=="undefined"){ -_5.id[id]=Xinha.uniq("Dialog"); -_5.r_id[_5.id[id]]=id; -} -return _5.id[id]; -}).replace(/(.*?)<\/l10n>/ig,function(_a,_b){ -return _5._lc(_b); -}).replace(/="_\((.*?)\)"/g,function(_c,_d){ -return "=\""+_5._lc(_d)+"\""; -}); -this.rootElem.innerHTML=_3; -}; -Xinha.PanelDialog.prototype.show=function(_e){ -this.setValues(_e); -this.editor.showPanel(this.rootElem); -}; -Xinha.PanelDialog.prototype.hide=function(){ -this.editor.hidePanel(this.rootElem); -return this.getValues(); -}; -Xinha.PanelDialog.prototype.onresize=Xinha.Dialog.prototype.onresize; -Xinha.PanelDialog.prototype.toggle=Xinha.Dialog.prototype.toggle; -Xinha.PanelDialog.prototype.setValues=Xinha.Dialog.prototype.setValues; -Xinha.PanelDialog.prototype.getValues=Xinha.Dialog.prototype.getValues; -Xinha.PanelDialog.prototype.getElementById=Xinha.Dialog.prototype.getElementById; -Xinha.PanelDialog.prototype.getElementsByName=Xinha.Dialog.prototype.getElementsByName; +Xinha.PanelDialog = function(editor, side, html, localizer) +{ + this.id = { }; + this.r_id = { }; // reverse lookup id + this.editor = editor; + this.document = document; + this.rootElem = editor.addPanel(side); + + var dialog = this; + if(typeof localizer == 'function') + { + this._lc = localizer; + } + else if(localizer) + { + this._lc = function(string) + { + return Xinha._lc(string,localizer); + }; + } + else + { + this._lc = function(string) + { + return string; + }; + } + + html = html.replace(/\[([a-z0-9_]+)\]/ig, + function(fullString, id) + { + if(typeof dialog.id[id] == 'undefined') + { + dialog.id[id] = Xinha.uniq('Dialog'); + dialog.r_id[dialog.id[id]] = id; + } + return dialog.id[id]; + } + ).replace(/(.*?)<\/l10n>/ig, + function(fullString,translate) + { + return dialog._lc(translate) ; + } + ).replace(/="_\((.*?)\)"/g, + function(fullString, translate) + { + return '="' + dialog._lc(translate) + '"'; + } + ); + + this.rootElem.innerHTML = html; +}; + +Xinha.PanelDialog.prototype.show = function(values) +{ + this.setValues(values); + this.editor.showPanel(this.rootElem); +}; + +Xinha.PanelDialog.prototype.hide = function() +{ + this.editor.hidePanel(this.rootElem); + return this.getValues(); +}; + +Xinha.PanelDialog.prototype.onresize = Xinha.Dialog.prototype.onresize; + +Xinha.PanelDialog.prototype.toggle = Xinha.Dialog.prototype.toggle; + +Xinha.PanelDialog.prototype.setValues = Xinha.Dialog.prototype.setValues; + +Xinha.PanelDialog.prototype.getValues = Xinha.Dialog.prototype.getValues; + +Xinha.PanelDialog.prototype.getElementById = Xinha.Dialog.prototype.getElementById; + +Xinha.PanelDialog.prototype.getElementsByName = Xinha.Dialog.prototype.getElementsByName; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/Dialogs/popupwin.js b/ccm-core/web/assets/xinha/modules/Dialogs/popupwin.js index 8ec686f26..2baf89e67 100644 --- a/ccm-core/web/assets/xinha/modules/Dialogs/popupwin.js +++ b/ccm-core/web/assets/xinha/modules/Dialogs/popupwin.js @@ -1,123 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Dialogs/popupwin.js */ -function PopupWin(_1,_2,_3,_4){ -this.editor=_1; -this.handler=_3; -var _5=window.open("","__ha_dialog","toolbar=no,menubar=no,personalbar=no,width=600,height=600,left=20,top=40,scrollbars=no,resizable=yes"); -this.window=_5; -var _6=_5.document; -this.doc=_6; -var _7=this; -var _8=document.baseURI||document.URL; -if(_8&&_8.match(/(.*)\/([^\/]+)/)){ -_8=RegExp.$1+"/"; -} -if(typeof _editor_url!="undefined"&&!(/^\//.test(_editor_url))&&!(/http:\/\//.test(_editor_url))){ -_8+=_editor_url; -}else{ -_8=_editor_url; -} -if(!(/\/$/.test(_8))){ -_8+="/"; -} -this.baseURL=_8; -_6.open(); -var _9=""+_2+"\n"; -_9+="\n"; -if(_editor_skin!=""){ -_9+="\n"; -} -_9+="\n"; -_9+=""; -_6.write(_9); -_6.close(); -function init2(){ -var _a=_6.body; -if(!_a){ -setTimeout(init2,25); -return false; -} -_5.title=_2; -_6.documentElement.style.padding="0px"; -_6.documentElement.style.margin="0px"; -var _b=_6.createElement("div"); -_b.className="content"; -_7.content=_b; -_a.appendChild(_b); -_7.element=_a; -_4(_7); -_5.focus(); -} -init2(); -} -PopupWin.prototype.callHandler=function(){ -var _c=["input","textarea","select"]; -var _d={}; -for(var ti=_c.length;--ti>=0;){ -var _f=_c[ti]; -var els=this.content.getElementsByTagName(_f); -for(var j=0;j\n";e+='\n";if(_editor_skin!=""){e+='\n"}e+="\n";e+='';h.write(e);h.close();function d(){var k=h.body;if(!k){setTimeout(d,25);return false}f.title=g;h.documentElement.style.padding="0px";h.documentElement.style.margin="0px";var l=h.createElement("div");l.className="content";i.content=l;k.appendChild(l);i.element=k;a(i);f.focus()}d()}PopupWin.prototype.callHandler=function(){var c=["input","textarea","select"];var h={};for(var f=c.length;--f>=0;){var a=c[f];var d=this.content.getElementsByTagName(a);for(var b=0;b +{ + "Maximize/Minimize Editor": "Maximizar/Minimizar Editor" +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/FullScreen/lang/nl.js b/ccm-core/web/assets/xinha/modules/FullScreen/lang/nl.js new file mode 100644 index 000000000..4fcdc3f11 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/FullScreen/lang/nl.js @@ -0,0 +1,6 @@ +// I18N constants +// LANG: "nl", ENCODING: UTF-8 +// translated: Arthur Bogaart a.bogaart@onehippo.org +{ + "Maximize/Minimize Editor": "Editor maximaliseren/verkleinen" +}; diff --git a/ccm-core/web/assets/xinha/modules/Gecko/Gecko.js b/ccm-core/web/assets/xinha/modules/Gecko/Gecko.js index 518be1476..b15cb74df 100644 --- a/ccm-core/web/assets/xinha/modules/Gecko/Gecko.js +++ b/ccm-core/web/assets/xinha/modules/Gecko/Gecko.js @@ -1,461 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Gecko/Gecko.js */ -Gecko._pluginInfo={name:"Gecko",origin:"Xinha Core",version:"$LastChangedRevision:998 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/Gecko/Gecko.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; -function Gecko(_1){ -this.editor=_1; -_1.Gecko=this; -} -Gecko.prototype.onKeyPress=function(ev){ -var _3=this.editor; -var s=_3.getSelection(); -if(_3.isShortCut(ev)){ -switch(_3.getKey(ev).toLowerCase()){ -case "z": -if(_3._unLink&&_3._unlinkOnUndo){ -Xinha._stopEvent(ev); -_3._unLink(); -_3.updateToolbar(); -return true; -} -break; -case "a": -sel=_3.getSelection(); -sel.removeAllRanges(); -range=_3.createRange(); -range.selectNodeContents(_3._doc.body); -sel.addRange(range); -Xinha._stopEvent(ev); -return true; -break; -case "v": -if(!_3.config.htmlareaPaste){ -return true; -} -break; -} -} -switch(_3.getKey(ev)){ -case " ": -var _5=function(_6,_7){ -var _8=_6.nextSibling; -if(typeof _7=="string"){ -_7=_3._doc.createElement(_7); -} -var a=_6.parentNode.insertBefore(_7,_8); -Xinha.removeFromParent(_6); -a.appendChild(_6); -_8.data=" "+_8.data; -s.collapse(_8,1); -_3._unLink=function(){ -var t=a.firstChild; -a.removeChild(t); -a.parentNode.insertBefore(t,a); -Xinha.removeFromParent(a); -_3._unLink=null; -_3._unlinkOnUndo=false; -}; -_3._unlinkOnUndo=true; -return a; -}; -if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){ -var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/); -if(_b==-1){ -break; -} -if(_3._getFirstAncestor(s,"a")){ -break; -} -var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1"); -var _d=_c.match(Xinha.RE_email); -if(_d){ -var _e=s.anchorNode; -var _f=_e.splitText(s.anchorOffset); -var _10=_e.splitText(_b); -_5(_10,"a").href="mailto:"+_d[0]; -break; -} -RE_date=/([0-9]+\.)+/; -RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/; -var _11=_c.match(Xinha.RE_url); -if(_11){ -if(RE_date.test(_c)){ -break; -} -var _12=s.anchorNode; -var _13=_12.splitText(s.anchorOffset); -var _14=_12.splitText(_b); -_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2]; -break; -} -} -break; -} -switch(ev.keyCode){ -case 27: -if(_3._unLink){ -_3._unLink(); -Xinha._stopEvent(ev); -} -break; -break; -case 8: -case 46: -if(!ev.shiftKey&&this.handleBackspace()){ -Xinha._stopEvent(ev); -} -default: -_3._unlinkOnUndo=false; -if(s.anchorNode&&s.anchorNode.nodeType==3){ -var a=_3._getFirstAncestor(s,"a"); -if(!a){ -break; -} -if(!a._updateAnchTimeout){ -if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){ -var _16=s.anchorNode; -var _17=function(){ -a.href="mailto:"+_16.data.trim(); -a._updateAnchTimeout=setTimeout(_17,250); -}; -a._updateAnchTimeout=setTimeout(_17,1000); -break; -} -var m=s.anchorNode.data.match(Xinha.RE_url); -if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){ -var _19=s.anchorNode; -var _1a=function(){ -m=_19.data.match(Xinha.RE_url); -if(m){ -a.href=(m[1]?m[1]:"http://")+m[2]; -} -a._updateAnchTimeout=setTimeout(_1a,250); -}; -a._updateAnchTimeout=setTimeout(_1a,1000); -} -} -} -break; -} -return false; -}; -Gecko.prototype.handleBackspace=function(){ -var _1b=this.editor; -setTimeout(function(){ -var sel=_1b.getSelection(); -var _1d=_1b.createRange(sel); -var SC=_1d.startContainer; -var SO=_1d.startOffset; -var EC=_1d.endContainer; -var EO=_1d.endOffset; -var _22=SC.nextSibling; -if(SC.nodeType==3){ -SC=SC.parentNode; -} -if(!(/\S/.test(SC.tagName))){ -var p=document.createElement("p"); -while(SC.firstChild){ -p.appendChild(SC.firstChild); -} -SC.parentNode.insertBefore(p,SC); -Xinha.removeFromParent(SC); -var r=_1d.cloneRange(); -r.setStartBefore(_22); -r.setEndAfter(_22); -r.extractContents(); -sel.removeAllRanges(); -sel.addRange(r); -} -},10); -}; -Gecko.prototype.inwardHtml=function(_25){ -_25=_25.replace(/<(\/?)strong(\s|>|\/)/ig,"<$1b$2"); -_25=_25.replace(/<(\/?)em(\s|>|\/)/ig,"<$1i$2"); -_25=_25.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); -return _25; -}; -Gecko.prototype.outwardHtml=function(_26){ -_26=_26.replace(/[\s]*<\/script>/ig,""); -return _26; -}; -Gecko.prototype.onExecCommand=function(_27,UI,_29){ -try{ -this.editor._doc.execCommand("useCSS",false,true); -this.editor._doc.execCommand("styleWithCSS",false,false); -} -catch(ex){ -} -switch(_27){ -case "paste": -alert(Xinha._lc("The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.")); -return true; -break; -case "removeformat": -var _2a=this.editor; -var sel=_2a.getSelection(); -var _2c=_2a.saveSelection(sel); -var _2d=_2a.createRange(sel); -var els=_2a._doc.body.getElementsByTagName("*"); -var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode; -var i,el; -if(sel.isCollapsed){ -_2d.selectNodeContents(_2a._doc.body); -} -for(i=0;isel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){ -return sel.anchorNode.childNodes[sel.anchorOffset]; -}else{ -if(sel.anchorNode.nodeType==1){ -return sel.anchorNode; -}else{ -return null; -} -} -} -return null; -}; -Xinha.prototype.selectionEmpty=function(sel){ -if(!sel){ -return true; -} -if(typeof sel.isCollapsed!="undefined"){ -return sel.isCollapsed; -} -return true; -}; -Xinha.prototype.saveSelection=function(){ -return this.createRange(this.getSelection()).cloneRange(); -}; -Xinha.prototype.restoreSelection=function(_3f){ -var sel=this.getSelection(); -sel.removeAllRanges(); -sel.addRange(_3f); -}; -Xinha.prototype.selectNodeContents=function(_41,pos){ -this.focusEditor(); -this.forceRedraw(); -var _43; -var _44=typeof pos=="undefined"?true:false; -var sel=this.getSelection(); -_43=this._doc.createRange(); -if(!_41){ -sel.removeAllRanges(); -return; -} -if(_44&&_41.tagName&&_41.tagName.toLowerCase().match(/table|img|input|textarea|select/)){ -_43.selectNode(_41); -}else{ -_43.selectNodeContents(_41); -} -sel.removeAllRanges(); -sel.addRange(_43); -}; -Xinha.prototype.insertHTML=function(_46){ -var sel=this.getSelection(); -var _48=this.createRange(sel); -this.focusEditor(); -var _49=this._doc.createDocumentFragment(); -var div=this._doc.createElement("div"); -div.innerHTML=_46; -while(div.firstChild){ -_49.appendChild(div.firstChild); -} -var _4b=this.insertNodeAtSelection(_49); -}; -Xinha.prototype.getSelectedHTML=function(){ -var sel=this.getSelection(); -if(sel.isCollapsed){ -return ""; -} -var _4d=this.createRange(sel); -return Xinha.getHTML(_4d.cloneContents(),false,this); -}; -Xinha.prototype.getSelection=function(){ -return this._iframe.contentWindow.getSelection(); -}; -Xinha.prototype.createRange=function(sel){ -this.activateEditor(); -if(typeof sel!="undefined"){ -try{ -return sel.getRangeAt(0); -} -catch(ex){ -return this._doc.createRange(); -} -}else{ -return this._doc.createRange(); -} -}; -Xinha.prototype.isKeyEvent=function(_4f){ -return _4f.type=="keypress"; -}; -Xinha.prototype.getKey=function(_50){ -return String.fromCharCode(_50.charCode); -}; -Xinha.getOuterHTML=function(_51){ -return (new XMLSerializer()).serializeToString(_51); -}; -Xinha.prototype.cc=String.fromCharCode(8286); -Xinha.prototype.setCC=function(_52){ -var cc=this.cc; -try{ -if(_52=="textarea"){ -var ta=this._textArea; -var _55=ta.selectionStart; -var _56=ta.value.substring(0,_55); -var _57=ta.value.substring(_55,ta.value.length); -if(_57.match(/^[^<]*>/)){ -var _58=_57.indexOf(">")+1; -ta.value=_56+_57.substring(0,_58)+cc+_57.substring(_58,_57.length); -}else{ -ta.value=_56+cc+_57; -} -ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); -}else{ -var sel=this.getSelection(); -sel.getRangeAt(0).insertNode(this._doc.createTextNode(cc)); -} -} -catch(e){ -} -}; -Xinha.prototype.findCC=function(_5a){ -if(_5a=="textarea"){ -var ta=this._textArea; -var pos=ta.value.indexOf(this.cc); -if(pos==-1){ -return; -} -var end=pos+this.cc.length; -var _5e=ta.value.substring(0,pos); -var _5f=ta.value.substring(end,ta.value.length); -ta.value=_5e; -ta.scrollTop=ta.scrollHeight; -var _60=ta.scrollTop; -ta.value+=_5f; -ta.setSelectionRange(pos,pos); -ta.focus(); -ta.scrollTop=_60; -}else{ -try{ -var doc=this._doc; -doc.body.innerHTML=doc.body.innerHTML.replace(new RegExp(this.cc),""); -var _62=doc.getElementById("XinhaEditingPostion"); -this.selectNodeContents(_62); -_62.scrollIntoView(true); -_62.parentNode.removeChild(_62); -this._iframe.contentWindow.focus(); -} -catch(e){ -} -} -}; -Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders; -Xinha.prototype._toggleBorders=function(){ -var _63=this._standardToggleBorders(); -var _64=this._doc.getElementsByTagName("TABLE"); -for(var i=0;i<_64.length;i++){ -_64[i].style.display="none"; -_64[i].style.display="table"; -} -return _63; -}; -Xinha.getDoctype=function(doc){ -var d=""; -if(doc.doctype){ -d+=""; -} -return d; -}; - +Gecko._pluginInfo={name:"Gecko",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/Gecko/Gecko.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function Gecko(a){this.editor=a;a.Gecko=this}Gecko.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":sel=f.getSelection();sel.removeAllRanges();range=f.createRange();range.selectNodeContents(f._doc.body);sel.addRange(range);Xinha._stopEvent(t);return true;break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};Gecko.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};Gecko.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)strong(\s|>|\/)/ig,"<$1b$2");a=a.replace(/<(\/?)em(\s|>|\/)/ig,"<$1i$2");a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");return a};Gecko.prototype.outwardHtml=function(a){a=a.replace(/[\s]*<\/script>/ig,"");return a};Gecko.prototype.onExecCommand=function(g,e,f){try{this.editor._doc.execCommand("useCSS",false,true);this.editor._doc.execCommand("styleWithCSS",false,false)}catch(l){}switch(g){case"paste":alert(Xinha._lc("The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly."));return true;break;case"removeformat":var c=this.editor;var d=c.getSelection();var m=c.saveSelection(d);var k=c.createRange(d);var h=c._doc.body.getElementsByTagName("*");var a=(k.startContainer.nodeType==1)?k.startContainer:k.startContainer.parentNode;var j,b;if(d.isCollapsed){k.selectNodeContents(c._doc.body)}for(j=0;ja.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){try{var a=this.getSelection();a.removeAllRanges();a.addRange(b)}catch(c){}};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(!c){d.removeAllRanges();return}if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);return Xinha.getHTML(a.cloneContents(),false,this)};Xinha.prototype.getSelection=function(){return this._iframe.contentWindow.getSelection()};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keypress"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.charCode)};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var g=this._textArea;var h=g.selectionStart;var j=g.value.substring(0,h);var b=g.value.substring(h,g.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;g.value=j+b.substring(0,a)+f+b.substring(a,b.length)}else{g.value=j+f+b}g.value=g.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");g.value=g.value.replace(new RegExp("(]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");g.value=g.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*]*>)(.*?)"),"$1$3$2$4")}else{var d=this.getSelection();d.getRangeAt(0).insertNode(this._doc.createTextNode(f))}}catch(i){}};Xinha.prototype.findCC=function(b){if(b=="textarea"){var f=this._textArea;var i=f.value.indexOf(Xinha.cc);if(i==-1){return}var d=i+Xinha.cc.length;var k=f.value.substring(0,i);var a=f.value.substring(d,f.value.length);f.value=k;f.scrollTop=f.scrollHeight;var c=f.scrollTop;f.value+=a;f.setSelectionRange(i,i);f.focus();f.scrollTop=c}else{try{var j=this._doc;j.body.innerHTML=j.body.innerHTML.replace(new RegExp(Xinha.cc),'');var h=j.getElementById("XinhaEditingPostion");this.selectNodeContents(h);this.scrollToElement(h);h.parentNode.removeChild(h);this._iframe.contentWindow.focus()}catch(g){}}};Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders;Xinha.prototype._toggleBorders=function(){var c=this._standardToggleBorders();var a=this._doc.getElementsByTagName("TABLE");for(var b=0;b"; -break; -case 5: -_9+="&"+_5.nodeValue+";"; -break; -case 7: -_9+=(Xinha.is_ie?("\n"+_8):"")+"<"+"?"+_5.target+" "+_5.data+" ?>"; -break; -case 1: -case 11: -case 9: -var _a; -var i; -var _c=(_5.nodeType==1)?_5.tagName.toLowerCase():""; -if((_c=="script"||_c=="noscript")&&_7.config.stripScripts){ -break; -} -if(_6){ -_6=!(_7.config.htmlRemoveTags&&_7.config.htmlRemoveTags.test(_c)); -} -if(Xinha.is_ie&&_c=="head"){ -if(_6){ -_9+=(Xinha.is_ie?("\n"+_8):"")+""; -} -var _d=RegExp.multiline; -RegExp.multiline=true; -var _e=_5.innerHTML.replace(Xinha.RE_tagName,function(_f,p1,p2){ -return p1+p2.toLowerCase(); -}).replace(/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,"=\"$2$4$5\"$3").replace(/<(link|meta)((\s*\S*="[^"]*")*)>/g,"<$1$2 />"); -RegExp.multiline=_d; -_9+=_e+"\n"; -if(_6){ -_9+=(Xinha.is_ie?("\n"+_8):"")+""; -} -break; -}else{ -if(_6){ -_a=(!(_5.hasChildNodes()||Xinha.needsClosingTag(_5))); -_9+=((Xinha.isBlockElement(_5))?("\n"+_8):"")+"<"+_5.tagName.toLowerCase(); -var _12=_5.attributes; -for(i=0;i<_12.length;++i){ -var a=_12.item(i); -if(typeof a.nodeValue=="object"){ -continue; -} -if(_5.tagName.toLowerCase()=="input"&&_5.type.toLowerCase()=="checkbox"&&a.nodeName.toLowerCase()=="value"&&a.nodeValue.toLowerCase()=="on"){ -continue; -} -if(!a.specified&&!(_5.tagName.toLowerCase().match(/input|option/)&&a.nodeName=="value")&&!(_5.tagName.toLowerCase().match(/area/)&&a.nodeName.match(/shape|coords/i))){ -continue; -} -var _14=a.nodeName.toLowerCase(); -if(/_moz_editor_bogus_node/.test(_14)||(_14=="class"&&a.nodeValue=="webkit-block-placeholder")){ -_9=""; -break; -} -if(/(_moz)|(contenteditable)|(_msh)/.test(_14)){ -continue; -} -var _15; -if(Xinha.emptyAttributes.indexOf(" "+_14+" ")!=-1){ -_15=_14; -}else{ -if(_14!="style"){ -if(typeof _5[a.nodeName]!="undefined"&&_14!="href"&&_14!="src"&&!(/^on/.test(_14))){ -_15=_5[a.nodeName]; -}else{ -_15=a.nodeValue; -if(_14=="class"){ -_15=_15.replace(/Apple-style-span/,""); -if(!_15){ -continue; -} -} -if(Xinha.is_ie&&(_14=="href"||_14=="src")){ -_15=_7.stripBaseURL(_15); -} -if(_7.config.only7BitPrintablesInURLs&&(_14=="href"||_14=="src")){ -_15=_15.replace(/([^!-~]+)/g,function(_16){ -return escape(_16); -}); -} -} -}else{ -if(!Xinha.is_ie){ -_15=_5.style.cssText.replace(/rgb\(.*?\)/ig,function(rgb){ -return Xinha._colorToRgb(rgb); -}); -} -} -} -if(/^(_moz)?$/.test(_15)){ -continue; -} -_9+=" "+_14+"=\""+Xinha.htmlEncode(_15)+"\""; -} -if(Xinha.is_ie&&_5.style.cssText){ -_9+=" style=\""+_5.style.cssText.toLowerCase()+"\""; -} -if(Xinha.is_ie&&_5.tagName.toLowerCase()=="option"&&_5.selected){ -_9+=" selected=\"selected\""; -} -if(_9!==""){ -if(_a&&_c=="p"){ -_9+="> 

"; -}else{ -if(_a){ -_9+=" />"; -}else{ -_9+=">"; -} -} -} -} -} -var _18=false; -if(_c=="script"||_c=="noscript"){ -if(!_7.config.stripScripts){ -if(Xinha.is_ie){ -var _19="\n"+_5.innerHTML.replace(/^[\n\r]*/,"").replace(/\s+$/,"")+"\n"+_8; -}else{ -var _19=(_5.hasChildNodes())?_5.firstChild.nodeValue:""; -} -_9+=_19+""+((Xinha.is_ie)?"\n":""); -} -}else{ -if(_c=="pre"){ -_9+=((Xinha.is_ie)?"\n":"")+_5.innerHTML.replace(/
/g,"\n")+""; -}else{ -for(i=_5.firstChild;i;i=i.nextSibling){ -if(!_18&&i.nodeType==1&&Xinha.isBlockElement(i)){ -_18=true; -} -_9+=Xinha.getHTMLWrapper(i,true,_7,_8+" "); -} -if(_6&&!_a){ -_9+=(((Xinha.isBlockElement(_5)&&_18)||_c=="head"||_c=="html")?("\n"+_8):"")+""; -} -} -} -break; -case 3: -if(/^script|noscript|style$/i.test(_5.parentNode.tagName)){ -_9=_5.data; -}else{ -if(_5.data.trim()==""){ -if(_5.data){ -_9=" "; -}else{ -_9=""; -} -}else{ -_9=Xinha.htmlEncode(_5.data); -} -} -break; -case 8: -_9=""; -break; -} -return _9; -}; - +function GetHtmlImplementation(a){this.editor=a}GetHtmlImplementation._pluginInfo={name:"GetHtmlImplementation DOMwalk",origin:"Xinha Core",version:"$LastChangedRevision: 1185 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/GetHtml/DOMwalk.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};Xinha.getHTML=function(a,c,b){return Xinha.getHTMLWrapper(a,c,b)};Xinha.emptyAttributes=" checked disabled ismap readonly nowrap compact declare selected defer multiple noresize noshade ";Xinha.getHTMLWrapper=function(m,l,d,k){var j="";if(!k){k=""}switch(m.nodeType){case 10:case 6:case 12:break;case 2:break;case 4:j+=(Xinha.is_ie?("\n"+k):"")+"";break;case 5:j+="&"+m.nodeValue+";";break;case 7:j+=(Xinha.is_ie?("\n"+k):"")+"";break;case 1:case 11:case 9:var e;var g;var q=(m.nodeType==1)?m.tagName.toLowerCase():"";if((q=="script"||q=="noscript")&&d.config.stripScripts){break}if(l){l=!(d.config.htmlRemoveTags&&d.config.htmlRemoveTags.test(q))}if(Xinha.is_ie&&q=="head"){if(l){j+=(Xinha.is_ie?("\n"+k):"")+""}var r=RegExp.multiline;RegExp.multiline=true;var f=m.innerHTML.replace(Xinha.RE_tagName,function(s,i,a){return i+a.toLowerCase()}).replace(/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,'="$2$4$5"$3').replace(/<(link|meta)((\s*\S*="[^"]*")*)>([\n\r]*)/g,"<$1$2 />\n");RegExp.multiline=r;j+=f+"\n";if(l){j+=(Xinha.is_ie?("\n"+k):"")+""}break}else{if(l){e=(!(m.hasChildNodes()||Xinha.needsClosingTag(m)));j+=((Xinha.isBlockElement(m))?("\n"+k):"")+"<"+m.tagName.toLowerCase();var p=m.attributes;for(g=0;g 

"}else{if(e){j+=" />"}else{j+=">"}}}}}var h=false;if(q=="script"||q=="noscript"){if(!d.config.stripScripts){if(Xinha.is_ie){var c="\n"+m.innerHTML.replace(/^[\n\r]*/,"").replace(/\s+$/,"")+"\n"+k}else{var c=(m.hasChildNodes())?m.firstChild.nodeValue:""}j+=c+""+((Xinha.is_ie)?"\n":"")}}else{if(q=="pre"){j+=((Xinha.is_ie)?"\n":"")+m.innerHTML.replace(/
/g,"\n")+""}else{for(g=m.firstChild;g;g=g.nextSibling){if(!h&&g.nodeType==1&&Xinha.isBlockElement(g)){h=true}j+=Xinha.getHTMLWrapper(g,true,d,k+" ")}if(l&&!e){j+=(((Xinha.isBlockElement(m)&&h)||q=="head"||q=="html")?("\n"+k):"")+""}}}break;case 3:if(/^script|noscript|style$/i.test(m.parentNode.tagName)){j=m.data}else{if(m.data.trim()==""){if(m.data){j=" "}else{j=""}}else{j=Xinha.htmlEncode(m.data)}}break;case 8:j="";break}return j}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/GetHtml/TransformInnerHTML.js b/ccm-core/web/assets/xinha/modules/GetHtml/TransformInnerHTML.js index eb6ad89c7..d2cc94463 100644 --- a/ccm-core/web/assets/xinha/modules/GetHtml/TransformInnerHTML.js +++ b/ccm-core/web/assets/xinha/modules/GetHtml/TransformInnerHTML.js @@ -1,151 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/GetHtml/TransformInnerHTML.js */ -function GetHtmlImplementation(_1){ -this.editor=_1; -} -GetHtmlImplementation._pluginInfo={name:"GetHtmlImplementation TransformInnerHTML",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",sponsor:"",sponsor_url:"",license:"htmlArea"}; -Xinha.RegExpCache=[/<\s*\/?([^\s\/>]+)[\s*\/>]/gi,/(\s+)_moz[^=>]*=[^\s>]*/gi,/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,/\/>/g,/<(br|hr|img|input|link|meta|param|embed|area)((\s*\S*="[^"]*")*)>/g,/(<\w+\s+(\w*="[^"]*"\s+)*)(checked|compact|declare|defer|disabled|ismap|multiple|no(href|resize|shade|wrap)|readonly|selected)([\s>])/gi,/(="[^']*)'([^'"]*")/,/&(?=(?!(#[0-9]{2,5};|[a-zA-Z0-9]{2,6};|#x[0-9a-fA-F]{2,4};))[^<]*>)/g,/<\s+/g,/\s+(\/)?>/g,/\s{2,}/g,/\s+([^=\s]+)((="[^"]+")|([\s>]))/g,/\s+contenteditable(=[^>\s\/]*)?/gi,/((href|src)=")([^\s]*)"/g,/<\/?(div|p|h[1-6]|table|tr|td|th|ul|ol|li|blockquote|object|br|hr|img|embed|param|pre|script|html|head|body|meta|link|title|area|input|form|textarea|select|option)[^>]*>/g,/<\/(div|p|h[1-6]|table|tr|ul|ol|blockquote|object|html|head|body|script|form|select)( [^>]*)?>/g,/<(div|p|h[1-6]|table|tr|ul|ol|blockquote|object|html|head|body|script|form|select)( [^>]*)?>/g,/<(td|th|li|option|br|hr|embed|param|pre|meta|link|title|area|input|textarea)[^>]*>/g,/(^|<\/(pre|script)>)(\s|[^\s])*?(<(pre|script)[^>]*>|$)/g,/(]*>)([\s\S])*?(<\/pre>)/g,/(^|)([\s\S]*?)(?=|$)/g,/\S*=""/g,/|<\?[\s\S]*?\?>|<\/?\w[^>]*>/g,/(^|<\/script>)[\s\S]*?(]*>|$)/g]; -if(typeof RegExp.prototype.compile=="function"){ -for(var i=0;i").replace(c[9],"$1>").replace(c[5],"$1$3=\"$3\"$5").replace(c[4],"<$1$2 />").replace(c[6],"$1$2").replace(c[7],"&").replace(c[8],"<").replace(c[10]," "); -if(Xinha.is_ie&&c[13].test(_2)){ -_2=_2.replace(c[13],"$1"+this.stripBaseURL(RegExp.$3)+"\""); -} -if(this.config.only7BitPrintablesInURLs){ -if(Xinha.is_ie){ -c[13].test(_2); -} -if(c[13].test(_2)){ -try{ -_2=_2.replace(c[13],"$1"+decodeURIComponent(RegExp.$3).replace(/([^!-~]+)/g,function(_8){ -return escape(_8); -})+"\""); -} -catch(e){ -_2=_2.replace(c[13],"$1"+RegExp.$3.replace(/([^!-~]+)/g,function(_9){ -return escape(_9); -})+"\""); -} -} -} -return _2; -}; -Xinha.indent=function(s,_b){ -Xinha.__nindent=0; -Xinha.__sindent=""; -Xinha.__sindentChar=(typeof _b=="undefined")?" ":_b; -var c=Xinha.RegExpCache; -if(Xinha.is_gecko){ -s=s.replace(c[19],function(_d){ -return _d.replace(/
/g,"\n"); -}); -} -s=s.replace(c[18],function(_e){ -_e=_e.replace(c[20],function(st,$1,$2){ -string=$2.replace(/[\n\r]/gi," ").replace(/\s+/gi," ").replace(c[14],function(str){ -if(str.match(c[16])){ -var s="\n"+Xinha.__sindent+str; -Xinha.__sindent+=Xinha.__sindentChar; -++Xinha.__nindent; -return s; -}else{ -if(str.match(c[15])){ ---Xinha.__nindent; -Xinha.__sindent=""; -for(var i=Xinha.__nindent;i>0;--i){ -Xinha.__sindent+=Xinha.__sindentChar; -} -return "\n"+Xinha.__sindent+str; -}else{ -if(str.match(c[17])){ -return "\n"+Xinha.__sindent+str; -} -} -} -return str; -}); -return $1+string; -}); -return _e; -}); -s=s.replace(/^\s*/,"").replace(/ +\n/g,"\n").replace(/[\r\n]+(\s+)<\/script>/g,"\n$1"); -return s; -}; -Xinha.getHTML=function(_15,_16,_17){ -var _18=""; -var c=Xinha.RegExpCache; -if(_15.nodeType==11){ -var div=document.createElement("div"); -var _1b=_15.insertBefore(div,_15.firstChild); -for(j=_1b.nextSibling;j;j=j.nextSibling){ -_1b.appendChild(j.cloneNode(true)); -} -_18+=_1b.innerHTML.replace(c[23],function(_1c){ -_1c=_1c.replace(c[22],function(tag){ -if(/^<[!\?]/.test(tag)){ -return tag; -}else{ -return _17.cleanHTML(tag); -} -}); -return _1c; -}); -}else{ -var _1e=(_15.nodeType==1)?_15.tagName.toLowerCase():""; -if(_16){ -_18+="<"+_1e; -var _1f=_15.attributes; -for(i=0;i<_1f.length;++i){ -var a=_1f.item(i); -if(!a.specified){ -continue; -} -var _21=a.nodeName.toLowerCase(); -var _22=a.nodeValue; -_18+=" "+_21+"=\""+_22+"\""; -} -_18+=">"; -} -if(_1e=="html"){ -innerhtml=_17._doc.documentElement.innerHTML; -}else{ -innerhtml=_15.innerHTML; -} -_18+=innerhtml.replace(c[23],function(_23){ -_23=_23.replace(c[22],function(tag){ -if(/^<[!\?]/.test(tag)){ -return tag; -}else{ -if(!(_17.config.htmlRemoveTags&&_17.config.htmlRemoveTags.test(tag.replace(/<([^\s>\/]+)/,"$1")))){ -return _17.cleanHTML(tag); -}else{ -return ""; -} -} -}); -return _23; -}); -if(Xinha.is_ie){ -_18=_18.replace(/]*)?>/g,"").replace(/(<(ul|ol)[^>]*>)[\s\n]*<\/li>/g,"$1").replace(/<\/li>([\s\n]*<\/li>)+/g,""); -} -if(Xinha.is_gecko){ -_18=_18.replace(/
\n$/,""); -} -if(_16){ -_18+=""; -} -_18=Xinha.indent(_18); -} -return _18; -}; - +function GetHtmlImplementation(a){this.editor=a}GetHtmlImplementation._pluginInfo={name:"GetHtmlImplementation TransformInnerHTML",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",sponsor:"",sponsor_url:"",license:"htmlArea"};Xinha.RegExpCache=[/<\s*\/?([^\s\/>]+)[\s*\/>]/gi,/(\s+)_moz[^=>]*=[^\s>]*/gi,/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,/\/>/g,/<(br|hr|img|input|link|meta|param|embed|area)((\s*\S*="[^"]*")*)>/g,/(<\w+\s+(\w*="[^"]*"\s+)*)(checked|compact|declare|defer|disabled|ismap|multiple|no(href|resize|shade|wrap)|readonly|selected)([\s>])/gi,/(="[^']*)'([^'"]*")/,/&(?=(?!(#[0-9]{2,5};|[a-zA-Z0-9]{2,6};|#x[0-9a-fA-F]{2,4};))[^<]*>)/g,/<\s+/g,/\s+(\/)?>/g,/\s{2,}/g,/\s+([^=\s]+)((="[^"]+")|([\s>]))/g,/\s+contenteditable(=[^>\s\/]*)?/gi,/((href|src)=")([^\s]*)"/g,/<\/?(div|p|h[1-6]|table|tr|td|th|ul|ol|li|dl|dt|dd|blockquote|object|br|hr|img|embed|param|pre|script|html|head|body|meta|link|title|area|input|form|textarea|select|option)[^>]*>/g,/<\/(div|p|h[1-6]|table|tr|ul|ol|dl|blockquote|html|head|body|script|form|select)( [^>]*)?>/g,/<(div|p|h[1-6]|table|tr|ul|ol|dl|blockquote|object|html|head|body|script|form|select)( [^>]*)?>/g,/<(td|th|li|dt|dd|option|br|hr|embed|param|pre|meta|link|title|area|input|textarea)[^>]*>/g,/(^|<\/(pre|script)>)(\s|[^\s])*?(<(pre|script)[^>]*>|$)/g,/(]*>)([\s\S])*?(<\/pre>)/g,/(^|)([\s\S]*?)(?=|$)/g,/\S*=""/g,/|<\?[\s\S]*?\?>|<\/?\w[^>]*>/g,/(^|<\/script>)[\s\S]*?(]*>|$)/g];var testRE=new RegExp().compile(Xinha.RegExpCache[3]);if(typeof testRE!="undefined"){for(var i=0;i").replace(d[9],"$1>").replace(d[5],'$1$3="$3"$5').replace(d[4],"<$1$2 />").replace(d[6],"$1$2").replace(d[7],"&").replace(d[8],"<").replace(d[10]," ");if(Xinha.is_ie&&d[13].test(b)){b=b.replace(d[13],"$1"+Xinha._escapeDollars(this.stripBaseURL(RegExp.$3))+'"')}if(this.config.only7BitPrintablesInURLs){if(Xinha.is_ie){d[13].test(b)}if(d[13].test(b)){try{b=b.replace(d[13],"$1"+Xinha._escapeDollars(decodeURIComponent(RegExp.$3).replace(/([^!-~]+)/g,function(c){return escape(c)}))+'"')}catch(a){b=b.replace(d[13],Xinha._escapeDollars("$1"+RegExp.$3.replace(/([^!-~]+)/g,function(c){return escape(c)})+'"'))}}}return b};Xinha.indent=function(a,d){Xinha.__nindent=0;Xinha.__sindent="";Xinha.__sindentChar=(typeof d=="undefined")?" ":d;var b=Xinha.RegExpCache;if(Xinha.is_gecko){a=a.replace(b[19],function(c){return c.replace(/
/g,"\n")})}a=a.replace(b[18],function(c){c=c.replace(b[20],function(f,e,g){string=g.replace(/[\n\r]/gi," ").replace(/\s+/gi," ").replace(b[14],function(l){if(l.match(b[16])){var k="\n"+Xinha.__sindent+l;Xinha.__sindent+=Xinha.__sindentChar;++Xinha.__nindent;return k}else{if(l.match(b[15])){--Xinha.__nindent;Xinha.__sindent="";for(var h=Xinha.__nindent;h>0;--h){Xinha.__sindent+=Xinha.__sindentChar}return"\n"+Xinha.__sindent+l}else{if(l.match(b[17])){return"\n"+Xinha.__sindent+l}}}return l});return e+string});return c});a=a.replace(/^\s*/,"").replace(/ +\n/g,"\n").replace(/[\r\n]+(\s+)<\/script>/g,"\n$1<\/script>");return a};Xinha.getHTML=function(k,g,e){var f="";var h=Xinha.RegExpCache;if(k.nodeType==11){var d=document.createElement("div");var o=k.insertBefore(d,k.firstChild);for(j=o.nextSibling;j;j=j.nextSibling){o.appendChild(j.cloneNode(true))}f+=o.innerHTML.replace(h[23],function(a){a=a.replace(h[22],function(c){if(/^<[!\?]/.test(c)){return c}else{return e.cleanHTML(c)}});return a})}else{var p=(k.nodeType==1)?k.tagName.toLowerCase():"";if(g){f+="<"+p;var n=k.attributes;for(i=0;i\/]+)/,"$1")))){return e.cleanHTML(c)}else{return""}}});return a});if(Xinha.is_ie){f=f.replace(/<(li|dd|dt)( [^>]*)?>/g,"<$1$2>").replace(/(<[uod]l[^>]*>[\s\S]*?)<\/(li|dd|dt)>/g,"$1").replace(/\s*<\/(li|dd|dt)>(\s*<\/(li|dd|dt)>)+/g,"").replace(/(][\s\S]*?)(<\/d[dt]>)+/g,"$1")}if(Xinha.is_gecko){f=f.replace(/
\n$/,"")}f=f.replace(/\s*(<\/(li|dd|dt)>)/g,"$1");if(g){f+=""}f=Xinha.indent(f)}return f};Xinha._escapeDollars=function(a){return a.replace(/\$/g,"$$$$")}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InlineStyler/InlineStyler.js b/ccm-core/web/assets/xinha/modules/InlineStyler/InlineStyler.js new file mode 100644 index 000000000..942451cab --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/InlineStyler/InlineStyler.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.InlineStyler=function(c,a,b,d){this.element=c;this.editor=a;this.dialog=b;this.doc=d?d:document;this.inputs={styles:{},aux:{}};this.styles={};this.auxData={}};Xinha.InlineStyler.getLength=function(b){var a=parseInt(b);if(isNaN(a)){a=""}return a};Xinha.InlineStyler.prototype.applyStyle=function(f){var a=this.element;var d=a.style;for(var b in f){if(typeof f[b]=="function"){continue}if(f[b]!=null){var e=f[b].value||f[b]}switch(b){case"backgroundImage":if(/\S/.test(e)){d.backgroundImage="url("+e+")"}else{d.backgroundImage="none"}break;case"borderCollapse":d.borderCollapse=f[b]=="on"?"collapse":"separate";break;case"width":if(/\S/.test(e)){d.width=e+this.inputs.aux.widthUnit.value}else{d.width=""}break;case"height":if(/\S/.test(e)){d.height=e+this.inputs.aux.heightUnit.value}else{d.height=""}break;case"textAlign":if(e=="char"){var c=this.inputs.aux.textAlignChar.value;if(c=='"'){c='\\"'}d.textAlign='"'+c+'"'}else{if(e=="-"){d.textAlign=""}else{d.textAlign=e}}break;case"verticalAlign":a.vAlign="";if(e=="-"){d.verticalAlign=""}else{d.verticalAlign=e}break;case"float":if(Xinha.is_ie){d.styleFloat=e}else{d.cssFloat=e}break;case"borderWidth":d[b]=e?e+"px":"0px";break;default:d[b]=e;break}}};Xinha.InlineStyler.prototype.createStyleLayoutFieldset=function(){var l=this;var f=this.editor;var u=this.doc;var d=this.element;var s=u.createElement("fieldset");var j=u.createElement("legend");s.appendChild(j);j.innerHTML=Xinha._lc("Layout","TableOperations");var p=u.createElement("table");s.appendChild(p);p.style.width="100%";var b=u.createElement("tbody");p.appendChild(b);var m=d.tagName.toLowerCase();var c,g,k,r,a,h,n;if(m!="td"&&m!="tr"&&m!="th"){c=u.createElement("tr");b.appendChild(c);g=u.createElement("td");g.className="label";c.appendChild(g);g.innerHTML=Xinha._lc("Float","TableOperations")+":";g=u.createElement("td");c.appendChild(g);r=u.createElement("select");r.name=this.dialog.createId("float");g.appendChild(r);this.inputs.styles["float"]=r;h=["None","Left","Right"];for(var n=0;nInsert Image + +
+ + + + + + + + + + + + + +
Image URL: + +
Alternate text:
+ +
+ +
+Layout + +
+ +
Alignment:
+ + +
+ +
Border thickness:
+ + +
+ +
+ +
+Spacing + +
+ +
Horizontal:
+ + +
+ +
Vertical:
+ + +
+ +
+
+
+Image Preview:
+ +
+ +
+ + +
\ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js b/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js index 4bc7d843b..198519a26 100644 --- a/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js +++ b/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js @@ -1,119 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/InsertImage/insert_image.js */ -InsertImage._pluginInfo={name:"InsertImage",origin:"Xinha Core",version:"$LastChangedRevision:992 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/InsertImage/insert_image.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; -function InsertImage(_1){ -} -Xinha.prototype._insertImage=function(_2){ -var _3=this; -var _4; -if(typeof _2=="undefined"){ -_2=this.getParentElement(); -if(_2&&_2.tagName.toLowerCase()!="img"){ -_2=null; -} -} -var _5; -if(typeof _3.config.baseHref!="undefined"&&_3.config.baseHref!==null){ -_5=_3.config.baseHref; -}else{ -var _6=window.location.toString().split("/"); -_6.pop(); -_5=_6.join("/"); -} -if(_2){ -function getSpecifiedAttribute(_7,_8){ -var a=_7.attributes; -for(var i=0;i0)?d:0)+"px";this.getElementById("ipreview").style.width=this.width-2+"px"};this.dialogReady=true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InsertImage/pluginMethods.js b/ccm-core/web/assets/xinha/modules/InsertImage/pluginMethods.js new file mode 100644 index 000000000..6e471df7e --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/InsertImage/pluginMethods.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +InsertImage.prototype.show=function(c){if(!this.dialog){this.prepareDialog()}var b=this.editor;if(typeof c=="undefined"){c=b.getParentElement();if(c&&c.tagName.toLowerCase()!="img"){c=null}}if(c){function a(e,g){var d=e.attributes;for(var f=0;fInsert Table +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ Caption: + + +
Rows:Width:
Cols:
+ +
+ +
+Layout + +
+ +
Alignment:
+ + +
+ +
Border
+ Pixels + + +
Collapse borders: + + +
+ +
+ +
+Spacing + +
+ +
Cell spacing:
+ + +
+ +
Cell padding:
+ + + +
+
+ + +
+
diff --git a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html index e86d4ed4a..c3aab8dd5 100755 --- a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html +++ b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html @@ -83,7 +83,7 @@ function onCancel() { Cols: - + @@ -154,4 +154,4 @@ title="Space between content and border in cell" /> - \ No newline at end of file + diff --git a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js index ddb337853..31bd09ded 100644 --- a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js +++ b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js @@ -1,66 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/InsertTable/insert_table.js */ -InsertTable._pluginInfo={name:"InsertTable",origin:"Xinha Core",version:"$LastChangedRevision: 688 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.python-hosting.com/trunk/modules/InsertTable/insert_table.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; -function InsertTable(_1){ -} -Xinha.prototype._insertTable=function(){ -var _2=this.getSelection(); -var _3=this.createRange(_2); -var _4=this; -Dialog(_4.config.URIs.insert_table,function(_5){ -if(!_5){ -return false; -} -var _6=_4._doc; -var _7=_6.createElement("table"); -for(var _8 in _5){ -var _9=_5[_8]; -if(!_9){ -continue; -} -switch(_8){ -case "f_width": -_7.style.width=_9+_5.f_unit; -break; -case "f_align": -_7.align=_9; -break; -case "f_border": -_7.border=parseInt(_9,10); -break; -case "f_spacing": -_7.cellSpacing=parseInt(_9,10); -break; -case "f_padding": -_7.cellPadding=parseInt(_9,10); -break; -} -} -var _a=0; -if(_5.f_fixed){ -_a=Math.floor(100/parseInt(_5.f_cols,10)); -} -var _b=_6.createElement("tbody"); -_7.appendChild(_b); -for(var i=0;i<_5.f_rows;++i){ -var tr=_6.createElement("tr"); -_b.appendChild(tr); -for(var j=0;j<_5.f_cols;++j){ -var td=_6.createElement("td"); -if(_a){ -td.style.width=_a+"%"; -} -tr.appendChild(td); -td.appendChild(_6.createTextNode("\xa0")); -} -} -if(Xinha.is_ie){ -_3.pasteHTML(_7.outerHTML); -}else{ -_4.insertNodeAtSelection(_7); -} -return true; -},null); -}; - +InsertTable._pluginInfo={name:"InsertTable",origin:"Xinha Core",version:"$LastChangedRevision: 1085 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/InsertTable/insert_table.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function InsertTable(c){this.editor=c;var a=c.config;var b=this;c.config.btnList.inserttable[3]=function(){b.show()}}InsertTable.prototype._lc=function(a){return Xinha._lc(a,"Xinha")};InsertTable.prototype.onGenerateOnce=function(){InsertTable.loadAssets()};InsertTable.loadAssets=function(){var self=InsertTable;if(self.loading){return}self.loading=true;Xinha._getback(_editor_url+"modules/InsertTable/dialog.html",function(getback){self.html=getback;self.dialogReady=true});Xinha._getback(_editor_url+"modules/InsertTable/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true})};InsertTable.prototype.onUpdateToolbar=function(){if(!(InsertTable.dialogReady&&InsertTable.methodsReady)){this.editor._toolbarObjects.inserttable.state("enabled",false)}else{this.onUpdateToolbar=null}};InsertTable.prototype.prepareDialog=function(){var b=this;var a=this.editor;var c=this.dialog=new Xinha.Dialog(a,InsertTable.html,"Xinha",{width:400});c.getElementById("ok").onclick=function(){b.apply()};c.getElementById("cancel").onclick=function(){b.dialog.hide()};this.borderColorPicker=new Xinha.colorPicker.InputBinding(c.getElementById("border_color"));this.dialog.onresize=function(){this.getElementById("layout_fieldset").style.width=(this.width/2)+50+"px";this.getElementById("spacing_fieldset").style.width=(this.width/2)-120+"px"};this.dialogReady=true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InsertTable/pluginMethods.js b/ccm-core/web/assets/xinha/modules/InsertTable/pluginMethods.js new file mode 100644 index 000000000..1ea775f89 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/InsertTable/pluginMethods.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +InsertTable.prototype.show=function(c){if(!this.dialog){this.prepareDialog()}var a=this.editor;var b={caption:"",rows:"2",cols:"4",width:"100",unit:"%",fixed:"",align:"",border:"1",border_style:"dotted",border_color:"#000000",border_collapse:"on",spacing:"",padding:"5"};this.borderColorPicker.setColor("#000000");this.dialog.show(b);this.dialog.onresize()};InsertTable.prototype.apply=function(){var a=this.editor;var m=a._doc;var b=this.dialog.getValues();if(!b.rows||!b.cols){if(!b.rows){this.dialog.getElementById("rows_alert").style.display=""}if(!b.cols){this.dialog.getElementById("columns_alert").style.display=""}return}this.dialog.hide();var o=m.createElement("table");for(var k in b){var l=b[k];if(!l){continue}switch(k){case"width":o.style.width=l+b.unit.value;break;case"align":o.align=l.value;break;case"border":o.style.border=l+"px "+b.border_style.value+" "+b.border_color;break;case"border_collapse":o.style.borderCollapse=(l=="on")?"collapse":"";break;case"spacing":o.cellSpacing=parseInt(l,10);break;case"padding":o.cellPadding=parseInt(l,10);break}}if(b.caption){var n=o.createCaption();n.appendChild(m.createTextNode(b.caption))}var g=0;if(b.fixed){g=Math.floor(100/parseInt(b.cols,10))}var f=m.createElement("tbody");o.appendChild(f);for(var e=0;e"); -Xinha._stopEvent(ev); -return true; -break; -case "1": -case "2": -case "3": -case "4": -case "5": -case "6": -this.editor.execCommand("formatblock",false,""); -Xinha._stopEvent(ev); -return true; -break; -} -} -switch(ev.keyCode){ -case 8: -case 46: -if(this.handleBackspace()){ -Xinha._stopEvent(ev); -return true; -} -break; -} -return false; -}; -InternetExplorer.prototype.handleBackspace=function(){ -var _3=this.editor; -var _4=_3.getSelection(); -if(_4.type=="Control"){ -var _5=_3.activeElement(_4); -Xinha.removeFromParent(_5); -return true; -} -var _6=_3.createRange(_4); -var r2=_6.duplicate(); -r2.moveStart("character",-1); -var a=r2.parentElement(); -if(a!=_6.parentElement()&&(/^a$/i.test(a.tagName))){ -r2.collapse(true); -r2.moveEnd("character",1); -r2.pasteHTML(""); -r2.select(); -return true; -} -}; -InternetExplorer.prototype.inwardHtml=function(_9){ -_9=_9.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); -_9=_9.replace(/("; -}else{ -if(_f.config.browserQuirksMode===true){ -var _12=""; -}else{ -var _12=Xinha.getDoctype(document); -} -} -if(!_f.config.fullPage){ -_11+=_12+"\n"; -_11+="\n"; -_11+="\n"; -_11+="\n"; -if(typeof _f.config.baseHref!="undefined"&&_f.config.baseHref!==null){ -_11+="\n"; -} -if(typeof _f.config.pageStyleSheets!=="undefined"){ -for(var i=0;i<_f.config.pageStyleSheets.length;i++){ -if(_f.config.pageStyleSheets[i].length>0){ -_11+=""; -} -} -} -if(_f.config.pageStyle){ -_11+=""; -} -_11+="\n"; -_11+="\n"; -_11+=_f.getEditorContent(); -_11+="\n"; -_11+=""; -}else{ -_11=_f.getEditorContent(); -if(_11.match(Xinha.RE_doctype)){ -_f.setDoctype(RegExp.$1); -} -} -_e.write(_11); -_e.close(); -_e.execCommand(_b,UI,_d); -document.body.removeChild(_10); -return true; -break; -case "removeformat": -var _f=this.editor; -var sel=_f.getSelection(); -var _15=_f.saveSelection(sel); -var i,el,els; -function clean(el){ -if(el.nodeType!=1){ -return; -} -el.removeAttribute("style"); -for(var j=0;j=1){ -return _2a.item(0).outerHTML; -} -} -return ""; -}; -Xinha.prototype.getSelection=function(){ -return this._doc.selection; -}; -Xinha.prototype.createRange=function(sel){ -if(!sel){ -sel=this.getSelection(); -} -return sel.createRange(); -}; -Xinha.prototype.isKeyEvent=function(_2c){ -return _2c.type=="keydown"; -}; -Xinha.prototype.getKey=function(_2d){ -return String.fromCharCode(_2d.keyCode); -}; -Xinha.getOuterHTML=function(_2e){ -return _2e.outerHTML; -}; -Xinha.prototype.cc=String.fromCharCode(8201); -Xinha.prototype.setCC=function(_2f){ -var cc=this.cc; -if(_2f=="textarea"){ -var ta=this._textArea; -var pos=document.selection.createRange(); -pos.collapse(); -pos.text=cc; -var _33=ta.value.indexOf(cc); -var _34=ta.value.substring(0,_33); -var _35=ta.value.substring(_33+cc.length,ta.value.length); -if(_35.match(/^[^<]*>/)){ -var _36=_35.indexOf(">")+1; -ta.value=_34+_35.substring(0,_36)+cc+_35.substring(_36,_35.length); -}else{ -ta.value=_34+cc+_35; -} -ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); -}else{ -var sel=this.getSelection(); -var r=sel.createRange(); -if(sel.type=="Control"){ -var _39=r.item(0); -_39.outerHTML+=cc; -}else{ -r.collapse(); -r.text=cc; -} -} -}; -Xinha.prototype.findCC=function(_3a){ -var _3b=(_3a=="textarea")?this._textArea:this._doc.body; -range=_3b.createTextRange(); -if(range.findText(escape(this.cc))){ -range.select(); -range.text=""; -} -if(range.findText(this.cc)){ -range.select(); -range.text=""; -} -if(_3a=="textarea"){ -this._textArea.focus(); -} -}; -Xinha.getDoctype=function(doc){ -return (doc.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?"":""; -}; - +InternetExplorer._pluginInfo={name:"Internet Explorer",origin:"Xinha Core",version:"$LastChangedRevision: 1260 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/InternetExplorer/InternetExplorer.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function InternetExplorer(a){this.editor=a;a.InternetExplorer=this}InternetExplorer.prototype.onKeyPress=function(a){if(this.editor.isShortCut(a)){switch(this.editor.getKey(a).toLowerCase()){case"n":this.editor.execCommand("formatblock",false,"

");Xinha._stopEvent(a);return true;break;case"1":case"2":case"3":case"4":case"5":case"6":this.editor.execCommand("formatblock",false,"");Xinha._stopEvent(a);return true;break}}switch(a.keyCode){case 8:case 46:if(this.handleBackspace()){Xinha._stopEvent(a);return true}break;case 9:Xinha._stopEvent(a);return true}return false};InternetExplorer.prototype.handleBackspace=function(){var e=this.editor;var f=e.getSelection();if(f.type=="Control"){var g=e.activeElement(f);Xinha.removeFromParent(g);return true}var d=e.createRange(f);var c=d.duplicate();c.moveStart("character",-1);var b=c.parentElement();if(b!=d.parentElement()&&(/^a$/i.test(b.tagName))){c.collapse(true);c.moveEnd("character",1);c.pasteHTML("");c.select();return true}};InternetExplorer.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");a=a.replace(/(]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");return a};InternetExplorer.prototype.outwardHtml=function(a){a=a.replace(/ (\s*)(]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");return a};InternetExplorer.prototype.onExecCommand=function(h,d,e){switch(h){case"saveas":var o=null;var c=this.editor;var g=document.createElement("iframe");g.src="about:blank";g.style.display="none";document.body.appendChild(g);try{if(g.contentDocument){o=g.contentDocument}else{o=g.contentWindow.document}}catch(n){}o.open("text/html","replace");var l="";if(c.config.browserQuirksMode===false){var f=''}else{if(c.config.browserQuirksMode===true){var f=""}else{var f=Xinha.getDoctype(document)}}if(!c.config.fullPage){l+=f+"\n";l+="\n";l+="\n";l+='\n';if(typeof c.config.baseHref!="undefined"&&c.config.baseHref!==null){l+='\n'}if(typeof c.config.pageStyleSheets!=="undefined"){for(var k=0;k0){l+=''}}}if(c.config.pageStyle){l+='"}l+="\n";l+="\n";l+=c.getEditorContent();l+="\n";l+=""}else{l=c.getEditorContent();if(l.match(Xinha.RE_doctype)){c.setDoctype(RegExp.$1)}}o.write(l);o.close();o.execCommand(h,d,e);document.body.removeChild(g);return true;break;case"removeformat":var c=this.editor;var b=c.getSelection();var p=c.saveSelection(b);var k,a,j;function m(q){if(q.nodeType!=1){return}q.removeAttribute("style");for(var i=0;i');var k=h.getElementById(g);i.moveToElementText(k);i.select();break;case"JustificationHack":var a=String.fromCharCode(1);i.pasteHTML(a);i.findText(a,-1);i.select();i.execCommand("JustifyNone");i.pasteHTML("");break;case"VisibleCue":default:var a=String.fromCharCode(1);i.pasteHTML(a);i.findText(a,-1);i.select()}}};Xinha.prototype.selectNodeContents=function(e,a){this.focusEditor();this.forceRedraw();var b;var g=typeof a=="undefined"?true:false;if(g&&e.tagName&&e.tagName.toLowerCase().match(/table|img|input|select|textarea/)){b=this._doc.body.createControlRange();b.add(e)}else{b=this._doc.body.createTextRange();if(3==e.nodeType){if(e.parentNode){b.moveToElementText(e.parentNode)}else{b.moveToElementText(this._doc.body)}var f=this._doc.body.createTextRange();var d=0;var c=e.previousSibling;for(;c&&(1!=c.nodeType);c=c.previousSibling){if(3==c.nodeType){d+=c.nodeValue.length-c.nodeValue.split("\r").length-1}}if(c&&(1==c.nodeType)){f.moveToElementText(c);b.setEndPoint("StartToEnd",f)}if(d){b.moveStart("character",d)}d=0;c=e.nextSibling;for(;c&&(1!=c.nodeType);c=c.nextSibling){if(3==c.nodeType){d+=c.nodeValue.length-c.nodeValue.split("\r").length-1;if(!c.nextSibling){d+=1}}}if(c&&(1==c.nodeType)){f.moveToElementText(c);b.setEndPoint("EndToStart",f)}if(d){b.moveEnd("character",-d)}if(!e.nextSibling){b.moveEnd("character",-1)}}else{b.moveToElementText(e)}}if(typeof a!="undefined"){b.collapse(a);if(!a){b.moveStart("character",-1);b.moveEnd("character",-1)}}b.select()};Xinha.prototype.insertHTML=function(b){this.focusEditor();var c=this.getSelection();var a=this.createRange(c);a.pasteHTML(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(this.selectionEmpty(b)){return""}var a=this.createRange(b);if(a.htmlText){return a.htmlText}else{if(a.length>=1){return a.item(0).outerHTML}}return""};Xinha.prototype.getSelection=function(){return this._doc.selection};Xinha.prototype.createRange=function(a){if(!a){a=this.getSelection()}return a.createRange()};Xinha.prototype.isKeyEvent=function(a){return a.type=="keydown"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.keyCode)};Xinha.getOuterHTML=function(a){return a.outerHTML};Xinha.cc=String.fromCharCode(8201);Xinha.prototype.setCC=function(d){var f=Xinha.cc;if(d=="textarea"){var h=this._textArea;var j=document.selection.createRange();j.collapse();j.text=f;var i=h.value.indexOf(f);var k=h.value.substring(0,i);var c=h.value.substring(i+f.length,h.value.length);if(c.match(/^[^<]*>/)){var b=c.indexOf(">")+1;h.value=k+c.substring(0,b)+f+c.substring(b,c.length)}else{h.value=k+f+c}h.value=h.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");h.value=h.value.replace(new RegExp("(]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");h.value=h.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*]*>)(.*?)"),"$1$3$2$4")}else{var e=this.getSelection();var a=e.createRange();if(e.type=="Control"){var g=a.item(0);g.outerHTML+=f}else{a.collapse();a.text=f}}};Xinha.prototype.findCC=function(b){var a=(b=="textarea")?this._textArea:this._doc.body;range=a.createTextRange();if(range.findText(escape(Xinha.cc))){range.select();range.text="";range.select()}if(range.findText(Xinha.cc)){range.select();range.text="";range.select()}if(b=="textarea"){this._textArea.focus()}};Xinha.getDoctype=function(a){return(a.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?'':""}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/Opera/Opera.js b/ccm-core/web/assets/xinha/modules/Opera/Opera.js index 8eb5549c1..6bb5a144d 100644 --- a/ccm-core/web/assets/xinha/modules/Opera/Opera.js +++ b/ccm-core/web/assets/xinha/modules/Opera/Opera.js @@ -1,464 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Opera/Opera.js */ -Opera._pluginInfo={name:"Opera",origin:"Xinha Core",version:"$LastChangedRevision:970 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/Opera/Opera.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"Gogo Internet Services Limited",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"}; -function Opera(_1){ -this.editor=_1; -_1.Opera=this; -} -Opera.prototype.onKeyPress=function(ev){ -var _3=this.editor; -var s=_3.getSelection(); -if(_3.isShortCut(ev)){ -switch(_3.getKey(ev).toLowerCase()){ -case "z": -if(_3._unLink&&_3._unlinkOnUndo){ -Xinha._stopEvent(ev); -_3._unLink(); -_3.updateToolbar(); -return true; -} -break; -case "a": -sel=_3.getSelection(); -sel.removeAllRanges(); -range=_3.createRange(); -range.selectNodeContents(_3._doc.body); -sel.addRange(range); -Xinha._stopEvent(ev); -return true; -break; -case "v": -if(!_3.config.htmlareaPaste){ -return true; -} -break; -} -} -switch(_3.getKey(ev)){ -case " ": -var _5=function(_6,_7){ -var _8=_6.nextSibling; -if(typeof _7=="string"){ -_7=_3._doc.createElement(_7); -} -var a=_6.parentNode.insertBefore(_7,_8); -Xinha.removeFromParent(_6); -a.appendChild(_6); -_8.data=" "+_8.data; -s.collapse(_8,1); -_3._unLink=function(){ -var t=a.firstChild; -a.removeChild(t); -a.parentNode.insertBefore(t,a); -Xinha.removeFromParent(a); -_3._unLink=null; -_3._unlinkOnUndo=false; -}; -_3._unlinkOnUndo=true; -return a; -}; -if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){ -var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/); -if(_b==-1){ -break; -} -if(_3._getFirstAncestor(s,"a")){ -break; -} -var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1"); -var _d=_c.match(Xinha.RE_email); -if(_d){ -var _e=s.anchorNode; -var _f=_e.splitText(s.anchorOffset); -var _10=_e.splitText(_b); -_5(_10,"a").href="mailto:"+_d[0]; -break; -} -RE_date=/([0-9]+\.)+/; -RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/; -var _11=_c.match(Xinha.RE_url); -if(_11){ -if(RE_date.test(_c)){ -break; -} -var _12=s.anchorNode; -var _13=_12.splitText(s.anchorOffset); -var _14=_12.splitText(_b); -_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2]; -break; -} -} -break; -} -switch(ev.keyCode){ -case 27: -if(_3._unLink){ -_3._unLink(); -Xinha._stopEvent(ev); -} -break; -break; -case 8: -case 46: -if(!ev.shiftKey&&this.handleBackspace()){ -Xinha._stopEvent(ev); -} -default: -_3._unlinkOnUndo=false; -if(s.anchorNode&&s.anchorNode.nodeType==3){ -var a=_3._getFirstAncestor(s,"a"); -if(!a){ -break; -} -if(!a._updateAnchTimeout){ -if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){ -var _16=s.anchorNode; -var _17=function(){ -a.href="mailto:"+_16.data.trim(); -a._updateAnchTimeout=setTimeout(_17,250); -}; -a._updateAnchTimeout=setTimeout(_17,1000); -break; -} -var m=s.anchorNode.data.match(Xinha.RE_url); -if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){ -var _19=s.anchorNode; -var _1a=function(){ -m=_19.data.match(Xinha.RE_url); -if(m){ -a.href=(m[1]?m[1]:"http://")+m[2]; -} -a._updateAnchTimeout=setTimeout(_1a,250); -}; -a._updateAnchTimeout=setTimeout(_1a,1000); -} -} -} -break; -} -return false; -}; -Opera.prototype.handleBackspace=function(){ -var _1b=this.editor; -setTimeout(function(){ -var sel=_1b.getSelection(); -var _1d=_1b.createRange(sel); -var SC=_1d.startContainer; -var SO=_1d.startOffset; -var EC=_1d.endContainer; -var EO=_1d.endOffset; -var _22=SC.nextSibling; -if(SC.nodeType==3){ -SC=SC.parentNode; -} -if(!(/\S/.test(SC.tagName))){ -var p=document.createElement("p"); -while(SC.firstChild){ -p.appendChild(SC.firstChild); -} -SC.parentNode.insertBefore(p,SC); -Xinha.removeFromParent(SC); -var r=_1d.cloneRange(); -r.setStartBefore(_22); -r.setEndAfter(_22); -r.extractContents(); -sel.removeAllRanges(); -sel.addRange(r); -} -},10); -}; -Opera.prototype.inwardHtml=function(_25){ -_25=_25.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); -return _25; -}; -Opera.prototype.outwardHtml=function(_26){ -return _26; -}; -Opera.prototype.onExecCommand=function(_27,UI,_29){ -switch(_27){ -case "removeformat": -var _2a=this.editor; -var sel=_2a.getSelection(); -var _2c=_2a.saveSelection(sel); -var _2d=_2a.createRange(sel); -var els=_2a._doc.body.getElementsByTagName("*"); -var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode; -var i,el; -if(sel.isCollapsed){ -_2d.selectNodeContents(_2a._doc.body); -} -for(i=0;isel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){ -return sel.anchorNode.childNodes[sel.anchorOffset]; -}else{ -if(sel.anchorNode.nodeType==1){ -return sel.anchorNode; -}else{ -return null; -} -} -} -return null; -}; -Xinha.prototype.selectionEmpty=function(sel){ -if(!sel){ -return true; -} -if(typeof sel.isCollapsed!="undefined"){ -return sel.isCollapsed; -} -return true; -}; -Xinha.prototype.saveSelection=function(){ -return this.createRange(this.getSelection()).cloneRange(); -}; -Xinha.prototype.restoreSelection=function(_3d){ -var sel=this.getSelection(); -sel.removeAllRanges(); -sel.addRange(_3d); -}; -Xinha.prototype.selectNodeContents=function(_3f,pos){ -this.focusEditor(); -this.forceRedraw(); -var _41; -var _42=typeof pos=="undefined"?true:false; -var sel=this.getSelection(); -_41=this._doc.createRange(); -if(_42&&_3f.tagName&&_3f.tagName.toLowerCase().match(/table|img|input|textarea|select/)){ -_41.selectNode(_3f); -}else{ -_41.selectNodeContents(_3f); -} -sel.removeAllRanges(); -sel.addRange(_41); -}; -Xinha.prototype.insertHTML=function(_44){ -var sel=this.getSelection(); -var _46=this.createRange(sel); -this.focusEditor(); -var _47=this._doc.createDocumentFragment(); -var div=this._doc.createElement("div"); -div.innerHTML=_44; -while(div.firstChild){ -_47.appendChild(div.firstChild); -} -var _49=this.insertNodeAtSelection(_47); -}; -Xinha.prototype.getSelectedHTML=function(){ -var sel=this.getSelection(); -if(sel.isCollapsed){ -return ""; -} -var _4b=this.createRange(sel); -return Xinha.getHTML(_4b.cloneContents(),false,this); -}; -Xinha.prototype.getSelection=function(){ -var sel=this._iframe.contentWindow.getSelection(); -if(sel&&sel.focusNode&&sel.focusNode.tagName&&sel.focusNode.tagName=="HTML"){ -var bod=this._doc.getElementsByTagName("body")[0]; -var rng=this.createRange(); -rng.selectNodeContents(bod); -sel.removeAllRanges(); -sel.addRange(rng); -sel.collapseToEnd(); -} -return sel; -}; -Xinha.prototype.createRange=function(sel){ -this.activateEditor(); -if(typeof sel!="undefined"){ -try{ -return sel.getRangeAt(0); -} -catch(ex){ -return this._doc.createRange(); -} -}else{ -return this._doc.createRange(); -} -}; -Xinha.prototype.isKeyEvent=function(_50){ -return _50.type=="keypress"; -}; -Xinha.prototype.getKey=function(_51){ -return String.fromCharCode(_51.charCode); -}; -Xinha.getOuterHTML=function(_52){ -return (new XMLSerializer()).serializeToString(_52); -}; -Xinha.prototype.setCC=function(_53){ -var cc=String.fromCharCode(8286); -try{ -if(_53=="textarea"){ -var ta=this._textArea; -var _56=ta.selectionStart; -var _57=ta.value.substring(0,_56); -var _58=ta.value.substring(_56,ta.value.length); -if(_58.match(/^[^<]*>/)){ -var _59=_58.indexOf(">")+1; -ta.value=_57+_58.substring(0,_59)+cc+_58.substring(_59,_58.length); -}else{ -ta.value=_57+cc+_58; -} -ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); -ta.value=ta.value.replace(cc,"MARK"); -}else{ -var sel=this.getSelection(); -var _5b=this._doc.createElement("span"); -_5b.id="XinhaOperaCaretMarker"; -sel.getRangeAt(0).insertNode(_5b); -} -} -catch(e){ -} -}; -Xinha.prototype.findCC=function(_5c){ -if(_5c=="textarea"){ -var ta=this._textArea; -var pos=ta.value.search(/(((\s|(MARK))*<\/span>)?)/); -if(pos==-1){ -return; -} -var cc=RegExp.$1; -var end=pos+cc.length; -var _61=ta.value.substring(0,pos); -var _62=ta.value.substring(end,ta.value.length); -ta.value=_61; -ta.scrollTop=ta.scrollHeight; -var _63=ta.scrollTop; -ta.value+=_62; -ta.setSelectionRange(pos,pos); -ta.focus(); -ta.scrollTop=_63; -}else{ -var _64=this._doc.getElementById("XinhaOperaCaretMarker"); -if(_64){ -this.focusEditor(); -var rng=this.createRange(); -rng.selectNode(_64); -var sel=this.getSelection(); -sel.addRange(rng); -sel.collapseToStart(); -this.scrollToElement(_64); -_64.parentNode.removeChild(_64); -return; -} -} -}; -Xinha.getDoctype=function(doc){ -var d=""; -if(doc.doctype){ -d+=""; -} -return d; -}; -Xinha.prototype._standardInitIframe=Xinha.prototype.initIframe; -Xinha.prototype.initIframe=function(){ -if(!this._iframeLoadDone){ -if(this._iframe.contentWindow&&this._iframe.contentWindow.xinhaReadyToRoll){ -this._iframeLoadDone=true; -this._standardInitIframe(); -}else{ -var _69=this; -setTimeout(function(){ -_69.initIframe(); -},5); -} -} -}; -Xinha._addEventOperaOrig=Xinha._addEvent; -Xinha._addEvent=function(el,_6b,_6c){ -if(el.tagName&&el.tagName.toLowerCase()=="select"&&_6b=="change"){ -return Xinha.addDom0Event(el,_6b,_6c); -} -return Xinha._addEventOperaOrig(el,_6b,_6c); -}; - +Opera._pluginInfo={name:"Opera",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/Opera/Opera.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"Gogo Internet Services Limited",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"};function Opera(a){this.editor=a;a.Opera=this}Opera.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":sel=f.getSelection();sel.removeAllRanges();range=f.createRange();range.selectNodeContents(f._doc.body);sel.addRange(range);Xinha._stopEvent(t);return true;break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};Opera.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};Opera.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");return a};Opera.prototype.outwardHtml=function(a){return a};Opera.prototype.onExecCommand=function(g,e,f){switch(g){case"removeformat":var c=this.editor;var d=c.getSelection();var l=c.saveSelection(d);var k=c.createRange(d);var h=c._doc.body.getElementsByTagName("*");var a=(k.startContainer.nodeType==1)?k.startContainer:k.startContainer.parentNode;var j,b;if(d.isCollapsed){k.selectNodeContents(c._doc.body)}for(j=0;ja.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){var a=this.getSelection();a.removeAllRanges();a.addRange(b)};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);return Xinha.getHTML(a.cloneContents(),false,this)};Xinha.prototype.getSelection=function(){var c=this._iframe.contentWindow.getSelection();if(c&&c.focusNode&&c.focusNode.tagName&&c.focusNode.tagName=="HTML"){var b=this._doc.getElementsByTagName("body")[0];var a=this.createRange();a.selectNodeContents(b);c.removeAllRanges();c.addRange(a);c.collapseToEnd()}return c};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keypress"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.charCode)};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var h=this._textArea;var i=h.selectionStart;var k=h.value.substring(0,i);var b=h.value.substring(i,h.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;h.value=k+b.substring(0,a)+f+b.substring(a,b.length)}else{h.value=k+f+b}h.value=h.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");h.value=h.value.replace(new RegExp("(]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");h.value=h.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*]*>)(.*?)"),"$1$3$2$4");h.value=h.value.replace(f,'MARK')}else{var d=this.getSelection();var g=this._doc.createElement("span");g.id="XinhaOperaCaretMarker";d.getRangeAt(0).insertNode(g)}}catch(j){}};Xinha.prototype.findCC=function(c){if(c=="textarea"){var i=this._textArea;var j=i.value.search(/(((\s|(MARK))*<\/span>)?)/);if(j==-1){return}var f=RegExp.$1;var h=j+f.length;var k=i.value.substring(0,j);var b=i.value.substring(h,i.value.length);i.value=k;i.scrollTop=i.scrollHeight;var e=i.scrollTop;i.value+=b;i.setSelectionRange(j,j);i.focus();i.scrollTop=e}else{var g=this._doc.getElementById("XinhaOperaCaretMarker");if(g){this.focusEditor();var a=this.createRange();a.selectNode(g);var d=this.getSelection();d.addRange(a);d.collapseToStart();this.scrollToElement(g);g.parentNode.removeChild(g);return}}};Xinha.getDoctype=function(a){var b="";if(a.doctype){b+=""}return b};Xinha.prototype._standardInitIframe=Xinha.prototype.initIframe;Xinha.prototype.initIframe=function(){if(!this._iframeLoadDone){if(this._iframe.contentWindow&&this._iframe.contentWindow.xinhaReadyToRoll){this._iframeLoadDone=true;this._standardInitIframe()}else{var a=this;setTimeout(function(){a.initIframe()},5)}}};Xinha._addEventOperaOrig=Xinha._addEvent;Xinha._addEvent=function(b,a,c){if(b.tagName&&b.tagName.toLowerCase()=="select"&&a=="change"){return Xinha.addDom0Event(b,a,c)}return Xinha._addEventOperaOrig(b,a,c)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js b/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js index 8077d6db8..5ff40f504 100644 --- a/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js +++ b/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js @@ -1,478 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/WebKit/WebKit.js */ -WebKit._pluginInfo={name:"WebKit",origin:"Xinha Core",version:"$LastChangedRevision:998 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/WebKit/WebKit.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; -function WebKit(_1){ -this.editor=_1; -_1.WebKit=this; -} -WebKit.prototype.onKeyPress=function(ev){ -var _3=this.editor; -var s=_3.getSelection(); -if(_3.isShortCut(ev)){ -switch(_3.getKey(ev).toLowerCase()){ -case "z": -if(_3._unLink&&_3._unlinkOnUndo){ -Xinha._stopEvent(ev); -_3._unLink(); -_3.updateToolbar(); -return true; -} -break; -case "a": -break; -case "v": -if(!_3.config.htmlareaPaste){ -return true; -} -break; -} -} -switch(_3.getKey(ev)){ -case " ": -var _5=function(_6,_7){ -var _8=_6.nextSibling; -if(typeof _7=="string"){ -_7=_3._doc.createElement(_7); -} -var a=_6.parentNode.insertBefore(_7,_8); -Xinha.removeFromParent(_6); -a.appendChild(_6); -_8.data=" "+_8.data; -s.collapse(_8,1); -_3._unLink=function(){ -var t=a.firstChild; -a.removeChild(t); -a.parentNode.insertBefore(t,a); -Xinha.removeFromParent(a); -_3._unLink=null; -_3._unlinkOnUndo=false; -}; -_3._unlinkOnUndo=true; -return a; -}; -if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){ -var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/); -if(_b==-1){ -break; -} -if(_3._getFirstAncestor(s,"a")){ -break; -} -var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1"); -var _d=_c.match(Xinha.RE_email); -if(_d){ -var _e=s.anchorNode; -var _f=_e.splitText(s.anchorOffset); -var _10=_e.splitText(_b); -_5(_10,"a").href="mailto:"+_d[0]; -break; -} -RE_date=/([0-9]+\.)+/; -RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/; -var _11=_c.match(Xinha.RE_url); -if(_11){ -if(RE_date.test(_c)){ -break; -} -var _12=s.anchorNode; -var _13=_12.splitText(s.anchorOffset); -var _14=_12.splitText(_b); -_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2]; -break; -} -} -break; -} -switch(ev.keyCode){ -case 13: -if(ev.shiftKey){ -} -break; -case 27: -if(_3._unLink){ -_3._unLink(); -Xinha._stopEvent(ev); -} -break; -case 8: -case 46: -if(!ev.shiftKey&&this.handleBackspace()){ -Xinha._stopEvent(ev); -} -break; -default: -_3._unlinkOnUndo=false; -if(s.anchorNode&&s.anchorNode.nodeType==3){ -var a=_3._getFirstAncestor(s,"a"); -if(!a){ -break; -} -if(!a._updateAnchTimeout){ -if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){ -var _16=s.anchorNode; -var _17=function(){ -a.href="mailto:"+_16.data.trim(); -a._updateAnchTimeout=setTimeout(_17,250); -}; -a._updateAnchTimeout=setTimeout(_17,1000); -break; -} -var m=s.anchorNode.data.match(Xinha.RE_url); -if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){ -var _19=s.anchorNode; -var _1a=function(){ -m=_19.data.match(Xinha.RE_url); -if(m){ -a.href=(m[1]?m[1]:"http://")+m[2]; -} -a._updateAnchTimeout=setTimeout(_1a,250); -}; -a._updateAnchTimeout=setTimeout(_1a,1000); -} -} -} -break; -} -return false; -}; -WebKit.prototype.handleBackspace=function(){ -var _1b=this.editor; -setTimeout(function(){ -var sel=_1b.getSelection(); -var _1d=_1b.createRange(sel); -var SC=_1d.startContainer; -var SO=_1d.startOffset; -var EC=_1d.endContainer; -var EO=_1d.endOffset; -var _22=SC.nextSibling; -if(SC.nodeType==3){ -SC=SC.parentNode; -} -if(!(/\S/.test(SC.tagName))){ -var p=document.createElement("p"); -while(SC.firstChild){ -p.appendChild(SC.firstChild); -} -SC.parentNode.insertBefore(p,SC); -Xinha.removeFromParent(SC); -var r=_1d.cloneRange(); -r.setStartBefore(_22); -r.setEndAfter(_22); -r.extractContents(); -sel.removeAllRanges(); -sel.addRange(r); -} -},10); -}; -WebKit.prototype.inwardHtml=function(_25){ -return _25; -}; -WebKit.prototype.outwardHtml=function(_26){ -return _26; -}; -WebKit.prototype.onExecCommand=function(_27,UI,_29){ -this.editor._doc.execCommand("styleWithCSS",false,false); -switch(_27){ -case "paste": -alert(Xinha._lc("The Paste button does not work in the Safari browser for security reasons. Press CTRL-V on your keyboard to paste directly.")); -return true; -break; -case "removeformat": -var _2a=this.editor; -var sel=_2a.getSelection(); -var _2c=_2a.saveSelection(sel); -var _2d=_2a.createRange(sel); -var els=_2a._doc.getElementsByTagName("*"); -els=Xinha.collectionToArray(els); -var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode; -var i,el,newNode,fragment,child,r2=_2a._doc.createRange(); -function clean(el){ -if(el.nodeType!=1){ -return; -} -el.removeAttribute("style"); -for(var j=0;jsel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){ -return sel.anchorNode.childNodes[sel.anchorOffset]; -}else{ -if(sel.anchorNode.nodeType==1){ -return sel.anchorNode; -}else{ -return null; -} -} -} -return null; -}; -Xinha.prototype.selectionEmpty=function(sel){ -if(!sel){ -return true; -} -if(typeof sel.isCollapsed!="undefined"){ -return sel.isCollapsed; -} -return true; -}; -Xinha.prototype.saveSelection=function(){ -return this.createRange(this.getSelection()).cloneRange(); -}; -Xinha.prototype.restoreSelection=function(_3f){ -var sel=this.getSelection(); -sel.removeAllRanges(); -sel.addRange(_3f); -}; -Xinha.prototype.selectNodeContents=function(_41,pos){ -this.focusEditor(); -this.forceRedraw(); -var _43; -var _44=typeof pos=="undefined"?true:false; -var sel=this.getSelection(); -_43=this._doc.createRange(); -if(_44&&_41.tagName&&_41.tagName.toLowerCase().match(/table|img|input|textarea|select/)){ -_43.selectNode(_41); -}else{ -_43.selectNodeContents(_41); -} -sel.removeAllRanges(); -sel.addRange(_43); -}; -Xinha.prototype.insertHTML=function(_46){ -var sel=this.getSelection(); -var _48=this.createRange(sel); -this.focusEditor(); -var _49=this._doc.createDocumentFragment(); -var div=this._doc.createElement("div"); -div.innerHTML=_46; -while(div.firstChild){ -_49.appendChild(div.firstChild); -} -var _4b=this.insertNodeAtSelection(_49); -}; -Xinha.prototype.getSelectedHTML=function(){ -var sel=this.getSelection(); -if(sel.isCollapsed){ -return ""; -} -var _4d=this.createRange(sel); -if(_4d){ -return Xinha.getHTML(_4d.cloneContents(),false,this); -}else{ -return ""; -} -}; -Xinha.prototype.getSelection=function(){ -return this._iframe.contentWindow.getSelection(); -}; -Xinha.prototype.createRange=function(sel){ -this.activateEditor(); -if(typeof sel!="undefined"){ -try{ -return sel.getRangeAt(0); -} -catch(ex){ -return this._doc.createRange(); -} -}else{ -return this._doc.createRange(); -} -}; -Xinha.prototype.isKeyEvent=function(_4f){ -return _4f.type=="keypress"; -}; -Xinha.prototype.getKey=function(_50){ -var key=String.fromCharCode(parseInt(_50.keyIdentifier.replace(/^U\+/,""),16)); -if(_50.shiftKey){ -return key; -}else{ -return key.toLowerCase(); -} -}; -Xinha.getOuterHTML=function(_52){ -return (new XMLSerializer()).serializeToString(_52); -}; -Xinha.prototype.cc=String.fromCharCode(8286); -Xinha.prototype.setCC=function(_53){ -var cc=this.cc; -try{ -if(_53=="textarea"){ -var ta=this._textArea; -var _56=ta.selectionStart; -var _57=ta.value.substring(0,_56); -var _58=ta.value.substring(_56,ta.value.length); -if(_58.match(/^[^<]*>/)){ -var _59=_58.indexOf(">")+1; -ta.value=_57+_58.substring(0,_59)+cc+_58.substring(_59,_58.length); -}else{ -ta.value=_57+cc+_58; -} -ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); -}else{ -var sel=this.getSelection(); -sel.getRangeAt(0).insertNode(this._doc.createTextNode(cc)); -} -} -catch(e){ -} -}; -Xinha.prototype.findCC=function(_5b){ -if(_5b=="textarea"){ -var ta=this._textArea; -var pos=ta.value.indexOf(this.cc); -if(pos==-1){ -return; -} -var end=pos+this.cc.length; -var _5f=ta.value.substring(0,pos); -var _60=ta.value.substring(end,ta.value.length); -ta.value=_5f; -ta.scrollTop=ta.scrollHeight; -var _61=ta.scrollTop; -ta.value+=_60; -ta.setSelectionRange(pos,pos); -ta.focus(); -ta.scrollTop=_61; -}else{ -var _62=this; -try{ -var doc=this._doc; -doc.body.innerHTML=doc.body.innerHTML.replace(new RegExp(this.cc),""); -var _64=doc.getElementById("XinhaEditingPostion"); -this.selectNodeContents(_64); -this.scrollToElement(_64); -_64.parentNode.removeChild(_64); -this._iframe.contentWindow.focus(); -} -catch(e){ -} -} -}; -Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders; -Xinha.prototype._toggleBorders=function(){ -var _65=this._standardToggleBorders(); -var _66=this._doc.getElementsByTagName("TABLE"); -for(var i=0;i<_66.length;i++){ -_66[i].style.display="none"; -_66[i].style.display="table"; -} -return _65; -}; -Xinha.getDoctype=function(doc){ -var d=""; -if(doc.doctype){ -d+=""; -} -return d; -}; - +WebKit._pluginInfo={name:"WebKit",origin:"Xinha Core",version:"$LastChangedRevision: 1146 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/WebKit/WebKit.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function WebKit(a){this.editor=a;a.WebKit=this}WebKit.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 13:if(t.shiftKey){}break;case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}break;default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};WebKit.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};WebKit.prototype.inwardHtml=function(a){return a};WebKit.prototype.outwardHtml=function(a){return a};WebKit.prototype.onExecCommand=function(k,h,j){this.editor._doc.execCommand("styleWithCSS",false,false);switch(k){case"paste":alert(Xinha._lc("The Paste button does not work in the Safari browser for security reasons. Press CTRL-V on your keyboard to paste directly."));return true;break;case"removeformat":var f=this.editor;var g=f.getSelection();var q=f.saveSelection(g);var n=f.createRange(g);var l=f._doc.getElementsByTagName("*");l=Xinha.collectionToArray(l);var b=(n.startContainer.nodeType==1)?n.startContainer:n.startContainer.parentNode;var m,e,p,a,d,c=f._doc.createRange();function o(r){if(r.nodeType!=1){return}r.removeAttribute("style");for(var i=0;ia.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){var a=this.getSelection();a.removeAllRanges();a.addRange(b)};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);if(a){return Xinha.getHTML(a.cloneContents(),false,this)}else{return""}};Xinha.prototype.getSelection=function(){return this._iframe.contentWindow.getSelection()};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keydown"};Xinha.prototype.getKey=function(b){var a=String.fromCharCode(parseInt(b.keyIdentifier.replace(/^U\+/,""),16));if(b.shiftKey){return a}else{return a.toLowerCase()}};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var g=this._textArea;var h=g.selectionStart;var j=g.value.substring(0,h);var b=g.value.substring(h,g.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;g.value=j+b.substring(0,a)+f+b.substring(a,b.length)}else{g.value=j+f+b}g.value=g.value.replace(new RegExp("(&[^"+f+";]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");g.value=g.value.replace(new RegExp("(]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");g.value=g.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*]*>)(.*?)"),"$1$3$2$4")}else{var d=this.getSelection();d.getRangeAt(0).insertNode(this._doc.createTextNode(f))}}catch(i){}};Xinha.prototype.findCC=function(b){var d=Xinha.cc;if(b=="textarea"){var g=this._textArea;var j=g.value.indexOf(d);if(j==-1){return}var f=j+d.length;var m=g.value.substring(0,j);var a=g.value.substring(f,g.value.length);g.value=m;g.scrollTop=g.scrollHeight;var c=g.scrollTop;g.value+=a;g.setSelectionRange(j,j);g.focus();g.scrollTop=c}else{var l=this;try{var k=this._doc;k.body.innerHTML=k.body.innerHTML.replace(new RegExp(d),'');var i=k.getElementById("XinhaEditingPostion");this.selectNodeContents(i);this.scrollToElement(i);i.parentNode.removeChild(i);this._iframe.contentWindow.focus()}catch(h){}}};Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders;Xinha.prototype._toggleBorders=function(){var c=this._standardToggleBorders();var a=this._doc.getElementsByTagName("TABLE");for(var b=0;bAbbreviation + +

+
+ Expansion: + +
+

+ +

+ + + +
+
+ diff --git a/ccm-core/web/assets/xinha/plugins/Abbreviation/lang/es.js b/ccm-core/web/assets/xinha/plugins/Abbreviation/lang/es.js new file mode 100644 index 000000000..46cee4fec --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Abbreviation/lang/es.js @@ -0,0 +1,8 @@ +// I18N constants +// LANG: "en", ENCODING: UTF-8 +// translated: Derick Leony +{ + "Abbreviation": "Abreviatura", + "Expansion:": "Explicación", + "Delete": "Suprimir" +}; diff --git a/ccm-core/web/assets/xinha/plugins/Abbreviation/popups/abbreviation.html b/ccm-core/web/assets/xinha/plugins/Abbreviation/popups/abbreviation.html deleted file mode 100755 index c4c260540..000000000 --- a/ccm-core/web/assets/xinha/plugins/Abbreviation/popups/abbreviation.html +++ /dev/null @@ -1,92 +0,0 @@ - - - Abbreviation - - - - - - - -
Abbreviation
-
- - - - - -
Expansion: - - - -
- -
- - - -
-
- - diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/background-image.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/background-image.js deleted file mode 100644 index 08736c5dc..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/background-image.js +++ /dev/null @@ -1,31 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/BackgroundImage/background-image.js */ -function BackgroundImage(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"bgImage",tooltip:this._lc("Set page background image"),image:_1.imgURL("ed_bgimage.gif","BackgroundImage"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("bgImage","inserthorizontalrule",1); -} -BackgroundImage._pluginInfo={name:"BackgroundImage",version:"1.0",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath NeueMedien",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de.de/",license:"htmlArea"}; -BackgroundImage.prototype._lc=function(_5){ -return Xinha._lc(_5,"BackgroundImage"); -}; -BackgroundImage.prototype.buttonPress=function(_6){ -_6._popupDialog("plugin://BackgroundImage/bgimage",function(_7){ -if(_7){ -if(Xinha.is_ie){ -_6.focusEditor(); -} -if(_7=="*"){ -_6._doc.body.background=""; -}else{ -_6._doc.body.background=_7; -} -} -},null); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/blufur.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/blufur.jpg deleted file mode 100755 index 27df6c6a8..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/blufur.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/palecnvs.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/palecnvs.jpg deleted file mode 100755 index 52a88ab81..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/palecnvs.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ppplcnvs.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ppplcnvs.jpg deleted file mode 100755 index d8dfc0ecf..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ppplcnvs.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/blufur.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/blufur.jpg deleted file mode 100755 index f4ac4841f..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/blufur.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/palecnvs.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/palecnvs.jpg deleted file mode 100755 index 4867a36ee..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/palecnvs.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ppplcnvs.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ppplcnvs.jpg deleted file mode 100755 index d8dfc0ecf..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ppplcnvs.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ylwsand.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ylwsand.jpg deleted file mode 100755 index 1e11aa906..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ylwsand.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ylwsand.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ylwsand.jpg deleted file mode 100755 index 1e11aa906..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ylwsand.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/img/ed_bgimage.gif b/ccm-core/web/assets/xinha/plugins/BackgroundImage/img/ed_bgimage.gif deleted file mode 100755 index fc57d3838..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/BackgroundImage/img/ed_bgimage.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/de.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/de.js deleted file mode 100644 index 285a26c34..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/de.js +++ /dev/null @@ -1,9 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// Author: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "Set page background image": "Seiten-Hintergrundbild setzen", - "Set Page Background Image": "Seiten-Hintergrundbild setzen", - "Remove Current Background": "Aktuellen Hintergrund entfernen", - "Cancel": "Abbrechen" -}; diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/fr.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/fr.js deleted file mode 100644 index 1ca5497b3..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/fr.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Set page background image": "Définir l'image de fond", - "Set Page Background Image": "Définir l'Image de Fond", - "Remove Current Background": "Supprimer le fond actuel", - "Cancel": "Annuler" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/ja.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/ja.js deleted file mode 100644 index 2b1ee90ff..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/ja.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Set page background image": "ページの背景画像を設定", - "Set Page Background Image": "ページの背景画像を設定", - "Remove Current Background": "現在の背景画像を除去", - "Cancel": "中止" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nb.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nb.js deleted file mode 100644 index 53cf39f37..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nb.js +++ /dev/null @@ -1,9 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Set page background image": "Velg bakgrunnsbilde på siden", - "Set Page Background Image": "Velg bakgrunnsbilde på Siden", - "Remove Current Background": "Fjern gjeldende bakgrunn", - "Cancel": "Avbryt" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nl.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nl.js deleted file mode 100644 index 435dadccf..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nl.js +++ /dev/null @@ -1,9 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Set page background image": "Pagina achtergrond afbeelding instellen", - "Set Page Background Image": "Pagina Achtergrond Afbeelding Instellen", - "Remove Current Background": "Huidige Achtergrond Afbeelding Verwijderen", - "Cancel": "Annuleren" -}; diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/pt_br.js deleted file mode 100644 index f8be3fd9d..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/pt_br.js +++ /dev/null @@ -1,21 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Cancel": "Cancelar", - "Remove Current Background": "Remover fundo atual", - "Set Page Background Image": "Definir Imagem de Fundo", - "Set page background image": "Definir imagem de fundo" -} diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/popups/bgimage.html b/ccm-core/web/assets/xinha/plugins/BackgroundImage/popups/bgimage.html deleted file mode 100755 index 79e18f412..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/popups/bgimage.html +++ /dev/null @@ -1,49 +0,0 @@ - - - -Set Page Background Image - - - - - -
-
Set Page Background Image
- - - - - - - -
-
-
- - -
-
- - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CSS/CSS.js b/ccm-core/web/assets/xinha/plugins/CSS/CSS.js new file mode 100644 index 000000000..6c589c314 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CSS/CSS.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.Config.prototype.cssPluginConfig={combos:[{label:"Syntax",options:{None:"",Code:"code",String:"string",Comment:"comment","Variable name":"variable-name",Type:"type",Reference:"reference",Preprocessor:"preprocessor",Keyword:"keyword","Function name":"function-name","Html tag":"html-tag","Html italic":"html-helper-italic",Warning:"warning","Html bold":"html-helper-bold"},context:"pre"},{label:"Info",options:{None:"",Quote:"quote",Highlight:"highlight",Deprecated:"deprecated"}}]};function CSS(b,d){this.editor=b;var g=b.config;var k=this;var e;if(d&&d.length){e=d[0]}else{e=b.config.cssPluginConfig}var h=e.combos;for(var f=0;f","")}};CSS.prototype.updateValue=function(c,h){var g=c._toolbarObjects[h.id].element;var b=c.getParentElement();if(typeof b.className!="undefined"&&/\S/.test(b.className)){var e=g.options;var f=b.className;for(var d=e.length;--d>=0;){var a=e[d];if(f==a.value){g.selectedIndex=d;return}}}g.selectedIndex=0}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CSS/css.js b/ccm-core/web/assets/xinha/plugins/CSS/css.js deleted file mode 100644 index bf4a755e8..000000000 --- a/ccm-core/web/assets/xinha/plugins/CSS/css.js +++ /dev/null @@ -1,77 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/CSS/css.js */ -Xinha.Config.prototype.cssPluginConfig={combos:[{label:"Syntax",options:{"None":"","Code":"code","String":"string","Comment":"comment","Variable name":"variable-name","Type":"type","Reference":"reference","Preprocessor":"preprocessor","Keyword":"keyword","Function name":"function-name","Html tag":"html-tag","Html italic":"html-helper-italic","Warning":"warning","Html bold":"html-helper-bold"},context:"pre"},{label:"Info",options:{"None":"","Quote":"quote","Highlight":"highlight","Deprecated":"deprecated"}}]}; -function CSS(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -var _5; -if(_2&&_2.length){ -_5=_2[0]; -}else{ -_5=_1.config.cssPluginConfig; -} -var _6=_5.combos; -for(var i=0;i<_6.length;i++){ -var _8=_6[i]; -var id="CSS-class"+i; -var _a={id:id,options:_8.options,action:function(_b){ -_4.onSelect(_b,this,_8.context,_8.updatecontextclass); -},refresh:function(_c){ -_4.updateValue(_c,this); -},context:_8.context}; -_3.registerDropdown(_a); -_3.addToolbarElement(["T["+_8.label+"]",id,"separator"],"formatblock",-1); -} -} -CSS._pluginInfo={name:"CSS",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"Miro International",sponsor_url:"http://www.miro.com.au",license:"htmlArea"}; -CSS.prototype.onSelect=function(_d,_e,_f,_10){ -var _11=_d._toolbarObjects[_e.id]; -var _12=_11.element.selectedIndex; -var _13=_11.element.value; -var _14=_d.getParentElement(); -var _15=true; -var _16=(_14&&_14.tagName.toLowerCase()=="span"); -var _17=(_f&&_10&&_14&&_14.tagName.toLowerCase()==_f); -if(_17){ -_14.className=_13; -_d.updateToolbar(); -return; -} -if(_16&&_12==0&&!/\S/.test(_14.style.cssText)){ -while(_14.firstChild){ -_14.parentNode.insertBefore(_14.firstChild,_14); -} -_14.parentNode.removeChild(_14); -_d.updateToolbar(); -return; -} -if(_16){ -if(_14.childNodes.length==1){ -_14.className=_13; -_15=false; -_d.updateToolbar(); -} -} -if(_15){ -_d.surroundHTML("",""); -} -}; -CSS.prototype.updateValue=function(_18,obj){ -var _1a=_18._toolbarObjects[obj.id].element; -var _1b=_18.getParentElement(); -if(typeof _1b.className!="undefined"&&/\S/.test(_1b.className)){ -var _1c=_1a.options; -var _1d=_1b.className; -for(var i=_1c.length;--i>=0;){ -var _1f=_1c[i]; -if(_1d==_1f.value){ -_1a.selectedIndex=i; -return; -} -} -} -_1a.selectedIndex=0; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/CSSPicker/CSSPicker.js b/ccm-core/web/assets/xinha/plugins/CSSPicker/CSSPicker.js new file mode 100644 index 000000000..06bbcf11c --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CSSPicker/CSSPicker.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function CSSPicker(a,b){this.editor=a;var c=this}CSSPicker._pluginInfo={name:"CSSPicker",version:"2008-12-01",author:"Justin Rovang"};CSSPicker.prototype.onGenerateOnce=function(){var a=this.editor;var b=this;a._cssPicker=a.addPanel("right");this.main=document.createElement("div");a._cssPicker.style.backgroundColor="#dee5f8";a._cssPicker.appendChild(this.main);Xinha.freeLater(this,"main");a.showPanel(a._cssPicker)};CSSPicker.prototype.onUpdateToolbar=function(){if(this.editor._cssPicker){if(this._timeoutID){window.clearTimeout(this._timeoutID)}var a=this.editor;this._timeoutID=window.setTimeout(function(){a._gen()},250)}};Xinha.prototype.listStyles=function(c){var a=this;var e=this.getSelection();var g;if(Xinha.is_ie){g=this.saveSelection();e=this.createRange(e).text}var f=document.createElement("div");f.className="CSSPickerOption";var b=a.getStyleInfo(c);if(b){Xinha._addClass(f,"CSSPickerOptionActive")}f.align="center";f.innerHTML='
'+CSSPicker.cssList[c].name+"
";f.onclick=function(){a.wrapStyle(c,e,g,CSSPicker.cssList[c].wrapper);return false};Xinha._addEvent(f,"mouseover",function(d){Xinha._addClass(f,"CSSPickerOptionOver")});Xinha._addEvent(f,"mouseout",function(d){Xinha._removeClass(f,"CSSPickerOptionOver")});return f};Xinha.prototype._gen=function(){this.plugins.CSSPicker.instance.main.innerHTML="";for(var a in CSSPicker.cssList){this.plugins.CSSPicker.instance.main.appendChild(this.listStyles(a))}return true};Xinha.prototype.wrapStyle=function(d,e,g,f){if(!f){f="div"}f=f.toLowerCase();var a="";if(f=="div"){a="
"}var b=this;this.focusEditor();if(Xinha.is_ie){this.restoreSelection(g)}var c=b.getStyleInfo(d);if(!c){if(e==""){e=" "}this.insertHTML("<"+f+" class='"+d+"'>"+e+""+a)}else{Xinha._removeClass(c,d)}return true};Xinha.prototype.getStyleInfo=function(c){var d=this;var e=this.getAllAncestors();var b,f;if(e){e.pop()}if(e.length>0){for(var g in e){b=e[g];if(b.className){f=b.className.trim()+" ";if(f.toLowerCase().match(c.toLowerCase()+" ")){return b}}}}return false}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CharCounter/CharCounter.js b/ccm-core/web/assets/xinha/plugins/CharCounter/CharCounter.js new file mode 100644 index 000000000..ff22d8c05 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CharCounter/CharCounter.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function CharCounter(a){this.editor=a;this._Chars=0;this._Words=0;this._HTML=0;this.onKeyPress=this.__onKeyPress}Xinha.Config.prototype.CharCounter={showChar:true,showWord:true,showHtml:true,separator:" | ",maxHTML:-1};CharCounter._pluginInfo={name:"CharCounter",version:"1.31",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de",c_owner:"Udo Schmal & L.N.Schaffrath NeueMedien",license:"htmlArea"};CharCounter.prototype._lc=function(a){return Xinha._lc(a,"CharCounter")};CharCounter.prototype.onGenerateOnce=function(){var b=this;if(this.charCount==null){var a=b.editor.registerStatusWidget("CharCounter",["wysiwyg"]);this.charCount=a}};CharCounter.prototype.__onKeyPress=function(b){if((b.keyCode!=8)&&(b.keyCode!=46)){if(this.editor.config.CharCounter.maxHTML!=-1){var a=this.editor.getHTML();if(a.length>=this.editor.config.CharCounter.maxHTML){Xinha._stopEvent(b);return true}}}};CharCounter.prototype._updateCharCount=function(){var d=this.editor;var c=d.config;var b=d.getHTML();var e=new Array();if(c.CharCounter.showHtml){e[e.length]=this._lc("HTML")+": "+b.length}this._HTML=b.length;if(c.CharCounter.showWord||c.CharCounter.showChar){b=b.replace(/<\/?\s*!--[^-->]*-->/gi,"");b=b.replace(/<(.+?)>/g,"");b=b.replace(/ /gi," ");b=b.replace(/([\n\r\t])/g," ");b=b.replace(/( +)/g," ");b=b.replace(/&(.*);/g," ");b=b.replace(/^\s*|\s*$/g,"")}if(c.CharCounter.showWord){this._Words=0;for(var a=0;a=1){this._Words++}e[e.length]=this._lc("Words")+": "+this._Words}if(c.CharCounter.showChar){e[e.length]=this._lc("Chars")+": "+b.length;this._Chars=b.length}this.charCount.innerHTML=e.join(c.CharCounter.separator)};CharCounter.prototype.onUpdateToolbar=function(){this.charCount.innerHTML=this._lc("... in progress");if(this._timeoutID){window.clearTimeout(this._timeoutID)}var a=this;this._timeoutID=window.setTimeout(function(){a._updateCharCount()},1000)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CharCounter/char-counter.js b/ccm-core/web/assets/xinha/plugins/CharCounter/char-counter.js deleted file mode 100644 index 39e3fbe50..000000000 --- a/ccm-core/web/assets/xinha/plugins/CharCounter/char-counter.js +++ /dev/null @@ -1,109 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/CharCounter/char-counter.js */ -function CharCounter(_1){ -this.editor=_1; -this._Chars=0; -this._Words=0; -this._HTML=0; -this.onKeyPress=this.__onKeyPress; -} -Xinha.Config.prototype.CharCounter={"showChar":true,"showWord":true,"showHtml":true,"separator":" | ","maxHTML":-1}; -CharCounter._pluginInfo={name:"CharCounter",version:"1.31",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de",c_owner:"Udo Schmal & L.N.Schaffrath NeueMedien",license:"htmlArea"}; -CharCounter.prototype._lc=function(_2){ -return Xinha._lc(_2,"CharCounter"); -}; -CharCounter.prototype.onGenerateOnce=function(){ -var _3=this; -if(this.charCount==null){ -var _4=document.createElement("span"); -_4.style.padding="2px 5px"; -if(Xinha.is_ie){ -_4.style.styleFloat="right"; -}else{ -_4.style.cssFloat="right"; -} -var _5=document.createElement("div"); -_5.style.height=_5.style.width=_5.style.lineHeight=_5.style.fontSize="1px"; -_5.style.clear="both"; -if(Xinha.is_ie){ -this.editor._statusBarTree.style.styleFloat="left"; -}else{ -this.editor._statusBarTree.style.cssFloat="left"; -} -this.editor._statusBar.appendChild(_4); -this.editor._statusBar.appendChild(_5); -this.charCount=_4; -} -}; -CharCounter.prototype.__onKeyPress=function(ev){ -if((ev.keyCode!=8)&&(ev.keyCode!=46)){ -if(this.editor.config.CharCounter.maxHTML!=-1){ -var _7=this.editor.getHTML(); -if(_7.length>=this.editor.config.CharCounter.maxHTML){ -Xinha._stopEvent(ev); -return true; -} -} -} -}; -CharCounter.prototype._updateCharCount=function(){ -var _8=this.editor; -var _9=_8.config; -var _a=_8.getHTML(); -var _b=new Array(); -if(_9.CharCounter.showHtml){ -_b[_b.length]=this._lc("HTML")+": "+_a.length; -} -this._HTML=_a.length; -if(_9.CharCounter.showWord||_9.CharCounter.showChar){ -_a=_a.replace(/<\/?\s*!--[^-->]*-->/gi,""); -_a=_a.replace(/<(.+?)>/g,""); -_a=_a.replace(/ /gi," "); -_a=_a.replace(/([\n\r\t])/g," "); -_a=_a.replace(/( +)/g," "); -_a=_a.replace(/&(.*);/g," "); -_a=_a.replace(/^\s*|\s*$/g,""); -} -if(_9.CharCounter.showWord){ -this._Words=0; -for(var x=0;x<_a.length;x++){ -if(_a.charAt(x)==" "){ -this._Words++; -} -} -if(this._Words>=1){ -this._Words++; -} -_b[_b.length]=this._lc("Words")+": "+this._Words; -} -if(_9.CharCounter.showChar){ -_b[_b.length]=this._lc("Chars")+": "+_a.length; -this._Chars=_a.length; -} -this.charCount.innerHTML=_b.join(_9.CharCounter.separator); -}; -CharCounter.prototype.onUpdateToolbar=function(){ -this.charCount.innerHTML=this._lc("... in progress"); -if(this._timeoutID){ -window.clearTimeout(this._timeoutID); -} -var e=this; -this._timeoutID=window.setTimeout(function(){ -e._updateCharCount(); -},1000); -}; -CharCounter.prototype.onMode=function(_e){ -switch(_e){ -case "textmode": -this.charCount.style.display="none"; -break; -case "wysiwyg": -this.charCount.style.display=""; -break; -default: -alert("Mode <"+_e+"> not defined!"); -return false; -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css index faea58b6b..c7108de28 100755 --- a/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css +++ b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css @@ -1,4 +1,6 @@ -.CharacterMap { } +.CharacterMap { +background-color:white; +} .CharacterMap a.entity { font-size:12px; width:18px; @@ -38,4 +40,4 @@ cursor:pointer; background-color:#ADAD9C; border:1px inset; -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.js b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.js new file mode 100644 index 000000000..e457a03de --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.loadStyle("CharacterMap.css","CharacterMap");function CharacterMap(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"insertcharacter",tooltip:Xinha._lc("Insert special character","CharacterMap"),image:c.imgURL("images/tango/16x16/apps/accessories-character-map.png"),textMode:false,action:function(){b.show()}});a.addToolbarElement("insertcharacter","createlink",-1)}Xinha.Config.prototype.CharacterMap={mode:"popup"};CharacterMap._pluginInfo={name:"CharacterMap",version:"2.0",developer:"Laurent Vilday",developer_url:"http://www.mokhet.com/",c_owner:"Xinha community",sponsor:"",sponsor_url:"",license:"HTMLArea"};CharacterMap._isActive=false;CharacterMap.prototype.addEntity=function(e,f){var d=this.editor;var c=this;var b=document.createElement("a");Xinha._addClass(b,"entity");b.innerHTML=e;b.href="javascript:void(0)";Xinha._addClass(b,(f%2)?"light":"dark");b.onclick=function(){if(Xinha.is_ie){d.focusEditor()}d.insertHTML(e);return false};this.dialog.main.appendChild(b);b=null};CharacterMap.prototype.onGenerateOnce=function(){this._prepareDialog()};CharacterMap.prototype._prepareDialog=function(){var c=this;var b=this.editor;var e="

Insert special character

";this.dialog=new Xinha.Dialog(b,e,"CharacterMap",{width:300},{modal:false});Xinha._addClass(this.dialog.rootElem,"CharacterMap");if(b.config.CharacterMap&&b.config.CharacterMap.mode=="panel"){this.dialog.attachToPanel("right")}var a=["Ÿ","š","@",""","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","×","Ø","÷","ø","ƒ","ˆ","˜","–","—","‘","’","‚","“","”","„","†","‡","•","…","‰","‹","›","€","™","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","®","×","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","Œ","œ","Š"];for(var d=0;d +{ + "Edit HTML for selected text": "Editar código HTML del texto seleccionado", + "Tag Editor": "Editor de Etiquetas" +}; diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/clientside-spellcheck.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/clientside-spellcheck.js deleted file mode 100644 index 888fd5dfa..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/clientside-spellcheck.js +++ /dev/null @@ -1,36 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ClientsideSpellcheck/clientside-spellcheck.js */ -function ClientsideSpellcheck(_1){ -this.editor=_1; -var _2=_1.config; -var bl=ClientsideSpellcheck.btnList; -var _4=this; -var id="clientsidespellcheck"; -_2.registerButton(id,this._lc("Spell Check using ieSpell"),_1.imgURL("clientside-spellcheck.gif","ClientsideSpellcheck"),false,function(_6,id){ -_4.buttonPress(_6,id); -}); -if(Xinha.is_ie){ -_2.addToolbarElement("clientsidespellcheck","print",1); -} -} -ClientsideSpellcheck._pluginInfo={name:"ClientsideSpellcheck",version:"1.0",developer:"Michael Harris",developer_url:"http://www.jonesinternational.edu",c_owner:"Red Egg Software",sponsor:"Jones International University",sponsor_url:"http://www.jonesinternational.edu",license:"htmlArea"}; -ClientsideSpellcheck.prototype._lc=function(_8){ -return Xinha._lc(_8,"ClientsideSpellcheck"); -}; -ClientsideSpellcheck.prototype.buttonPress=function(_9){ -try{ -var _a=new ActiveXObject("ieSpell.ieSpellExtension"); -_a.CheckAllLinkedDocuments(document); -} -catch(exception){ -if(exception.number==-2146827859){ -if(confirm(this.lc("ieSpell not detected. Click Ok to go to download page."))){ -window.open("http://www.iespell.com/download.php","DownLoad"); -} -}else{ -alert(this.lc("ieSpell can only be used in Internet Explorer")); -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/clientside-spellcheck.gif b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/clientside-spellcheck.gif deleted file mode 100755 index dc8435c36..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/clientside-spellcheck.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/he-spell-check.gif b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/he-spell-check.gif deleted file mode 100755 index 8015d2ff2..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/he-spell-check.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/de.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/de.js deleted file mode 100644 index 5fed4c82b..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/de.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// translated: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "Spell Check using ieSpell": "Englische Rechtschreibkontrolle mit ieSpell", - "ieSpell can only be used in Internet Explorer": "ieSpell kann nur mit dem Internet Explorer benutzt werden", - "ieSpell not detected. Click Ok to go to download page.": "ieSpell wurde nicht gefunden. Drücken sie Ok um ieSpeck herunter zu laden." -}; diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/ja.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/ja.js deleted file mode 100644 index 22ae660e8..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/ja.js +++ /dev/null @@ -1,7 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Spell Check using ieSpell": "スペルチェックに ieSpell を使う", - "ieSpell can only be used in Internet Explorer": "ieSpell は Internet Explorer でのみ使用できます", - "ieSpell not detected. Click Ok to go to download page.": "ieSpell が検知されませんでした。OK をクリックしてダウンロードページを開いてください。" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nb.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nb.js deleted file mode 100644 index 4b985c2ee..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nb.js +++ /dev/null @@ -1,3 +0,0 @@ -// Dummy file - -{}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nl.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nl.js deleted file mode 100644 index d5c836770..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nl.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Spell Check using ieSpell": "Engelse spellingscontrole met ieSpell", - "ieSpell can only be used in Internet Explorer": "ieSpell kan alleen worden gebruikt in Internet Explorer", - "ieSpell not detected. Click Ok to go to download page.": "ieSpell werd niet gevonden. Klik op Ok om ieSpell te downloaden" -}; diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/pt_br.js deleted file mode 100644 index 62b351d25..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/pt_br.js +++ /dev/null @@ -1,18 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Spell Check using ieSpell": "Verificação Ortográfica utilizando ieSpell" -} diff --git a/ccm-core/web/assets/xinha/plugins/ContextMenu/ContextMenu.js b/ccm-core/web/assets/xinha/plugins/ContextMenu/ContextMenu.js new file mode 100644 index 000000000..dc5cab366 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ContextMenu/ContextMenu.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.loadStyle("menu.css","ContextMenu");function ContextMenu(a){this.editor=a}ContextMenu._pluginInfo={name:"ContextMenu",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"dynarch.com",sponsor:"American Bible Society",sponsor_url:"http://www.americanbible.org",license:"htmlArea"};Xinha.Config.prototype.ContextMenu={disableMozillaSpellCheck:false,customHooks:{}};ContextMenu.prototype.onGenerate=function(){var a=this;var b=this.editordoc=this.editor._iframe.contentWindow.document;Xinha._addEvents(b,["contextmenu"],function(c){return a.popupMenu(Xinha.is_ie?a.editor._iframe.contentWindow.event:c)});this.currentMenu=null;if(this.editor.config.ContextMenu.disableMozillaSpellCheck){this.editordoc.body.spellcheck=false}};ContextMenu.prototype.getContextMenu=function(l){var n=this;var f=this.editor;var o=f.config;var a=[];var d=this.editor.plugins.TableOperations;if(d){d=d.instance}var k=f.hasSelectedText();if(!Xinha.is_gecko){if(k){a.push([Xinha._lc("Cut","ContextMenu"),function(){f.execCommand("cut")},null,o.btnList.cut[1]],[Xinha._lc("Copy","ContextMenu"),function(){f.execCommand("copy")},null,o.btnList.copy[1]]);a.push([Xinha._lc("Paste","ContextMenu"),function(){f.execCommand("paste")},null,o.btnList.paste[1]])}}var j=l;var e=[];var g=null;var r=null;var b=null;var h=null;var s=null;function c(i){d.buttonPress(f,i)}function p(y){var v=j;var u=v.parentNode;var x=f._doc.createElement("p");x.appendChild(f._doc.createElement("br"));u.insertBefore(x,y?v.nextSibling:v);var w=f._getSelection();var i=f._createRange(w);if(!Xinha.is_ie){w.removeAllRanges();i.selectNodeContents(x);i.collapse(true);w.addRange(i)}else{i.moveToElementText(x);i.collapse(true);i.select()}}for(;l;l=l.parentNode){var t=l.tagName;if(!t){continue}t=t.toLowerCase();switch(t){case"img":s=l;e.push(null,[Xinha._lc("_Image Properties...","ContextMenu"),function(){f._insertImage(s)},Xinha._lc("Show the image properties dialog","ContextMenu"),o.btnList.insertimage[1]]);break;case"a":g=l;e.push(null,[Xinha._lc("_Modify Link...","ContextMenu"),function(){f.config.btnList.createlink[3](f)},Xinha._lc("Current URL is","ContextMenu")+": "+g.href,o.btnList.createlink[1]],[Xinha._lc("Chec_k Link...","ContextMenu"),function(){window.open(g.href)},Xinha._lc("Opens this link in a new window","ContextMenu")],[Xinha._lc("_Remove Link...","ContextMenu"),function(){if(confirm(Xinha._lc("Please confirm that you want to unlink this element.","ContextMenu")+"\n"+Xinha._lc("Link points to:","ContextMenu")+" "+g.href)){while(g.firstChild){g.parentNode.insertBefore(g.firstChild,g)}g.parentNode.removeChild(g)}},Xinha._lc("Unlink the current element","ContextMenu")]);break;case"td":h=l;if(!d){break}e.push(null,[Xinha._lc("C_ell Properties...","ContextMenu"),function(){c("TO-cell-prop")},Xinha._lc("Show the Table Cell Properties dialog","ContextMenu"),o.btnList["TO-cell-prop"][1]],[Xinha._lc("Insert Cell After","ContextMenu"),function(){c("TO-cell-insert-after")},Xinha._lc("Insert Cell After","ContextMenu"),o.btnList["TO-cell-insert-after"][1]],[Xinha._lc("Insert Cell Before","ContextMenu"),function(){c("TO-cell-insert-before")},Xinha._lc("Insert Cell After","ContextMenu"),o.btnList["TO-cell-insert-before"][1]],[Xinha._lc("Delete Cell","ContextMenu"),function(){c("TO-cell-delete")},Xinha._lc("Delete Cell","ContextMenu"),o.btnList["TO-cell-delete"][1]],[Xinha._lc("Merge Cells","ContextMenu"),function(){c("TO-cell-merge")},Xinha._lc("Merge Cells","ContextMenu"),o.btnList["TO-cell-merge"][1]]);break;case"tr":b=l;if(!d){break}e.push(null,[Xinha._lc("Ro_w Properties...","ContextMenu"),function(){c("TO-row-prop")},Xinha._lc("Show the Table Row Properties dialog","ContextMenu"),o.btnList["TO-row-prop"][1]],[Xinha._lc("I_nsert Row Before","ContextMenu"),function(){c("TO-row-insert-above")},Xinha._lc("Insert a new row before the current one","ContextMenu"),o.btnList["TO-row-insert-above"][1]],[Xinha._lc("In_sert Row After","ContextMenu"),function(){c("TO-row-insert-under")},Xinha._lc("Insert a new row after the current one","ContextMenu"),o.btnList["TO-row-insert-under"][1]],[Xinha._lc("_Delete Row","ContextMenu"),function(){c("TO-row-delete")},Xinha._lc("Delete the current row","ContextMenu"),o.btnList["TO-row-delete"][1]]);break;case"table":r=l;if(!d){break}e.push(null,[Xinha._lc("_Table Properties...","ContextMenu"),function(){c("TO-table-prop")},Xinha._lc("Show the Table Properties dialog","ContextMenu"),o.btnList["TO-table-prop"][1]],[Xinha._lc("Insert _Column Before","ContextMenu"),function(){c("TO-col-insert-before")},Xinha._lc("Insert a new column before the current one","ContextMenu"),o.btnList["TO-col-insert-before"][1]],[Xinha._lc("Insert C_olumn After","ContextMenu"),function(){c("TO-col-insert-after")},Xinha._lc("Insert a new column after the current one","ContextMenu"),o.btnList["TO-col-insert-after"][1]],[Xinha._lc("De_lete Column","ContextMenu"),function(){c("TO-col-delete")},Xinha._lc("Delete the current column","ContextMenu"),o.btnList["TO-col-delete"][1]]);break;case"body":e.push(null,[Xinha._lc("Justify Left","ContextMenu"),function(){f.execCommand("justifyleft")},null,o.btnList.justifyleft[1]],[Xinha._lc("Justify Center","ContextMenu"),function(){f.execCommand("justifycenter")},null,o.btnList.justifycenter[1]],[Xinha._lc("Justify Right","ContextMenu"),function(){f.execCommand("justifyright")},null,o.btnList.justifyright[1]],[Xinha._lc("Justify Full","ContextMenu"),function(){f.execCommand("justifyfull")},null,o.btnList.justifyfull[1]]);break}}if(k&&!g){a.push(null,[Xinha._lc("Make lin_k...","ContextMenu"),function(){f.config.btnList.createlink[3](f)},Xinha._lc("Create a link","ContextMenu"),o.btnList.createlink[1]])}if(f.config.ContextMenu.customHooks[j.tagName.toLowerCase()]){var m=f.config.ContextMenu.customHooks[j.tagName.toLowerCase()];for(var q=0;q=0;){var h=s[t];if(h[0].toLowerCase()==w){h[1].__msh.activate()}}}v.closeMenu=function(){v.currentMenu.parentNode.removeChild(v.currentMenu);v.currentMenu=null;Xinha._removeEvent(document,"mousedown",g);Xinha._removeEvent(v.editordoc,"mousedown",g);if(s.length>0){Xinha._removeEvent(v.editordoc,"keypress",z)}if(Xinha.is_ie){v.iePopup.hide()}};var u=Xinha.is_ie?F.srcElement:F.target;var j=A(v.editor._htmlArea);var o=F.clientX+j.x;var n=F.clientY+j.y;var r;var H;if(!Xinha.is_ie){H=document}else{var b=this.iePopup=window.createPopup();H=b.document;H.open();H.write("");H.close()}r=H.createElement("div");if(Xinha.is_ie){r.unselectable="on"}r.oncontextmenu=function(){return false};r.className="htmlarea-context-menu";if(!Xinha.is_ie){r.style.visibility="hidden";r.style.left=r.style.top="-200px"}H.body.appendChild(r);var D=H.createElement("table");r.appendChild(D);D.cellSpacing=0;D.cellPadding=0;var d=H.createElement("tbody");D.appendChild(d);var l=this.getContextMenu(u);for(var B=0;B";var f=k.cloneNode(true);f.className="label";E.appendChild(k);E.appendChild(f)}else{var m=a[0];E.className="item";E.__msh={item:E,label:m,action:a[1],tooltip:a[2]||null,icon:a[3]||null,activate:function(){v.closeMenu();v.editor.focusEditor();this.action()}};m=m.replace(/_([a-zA-Z0-9])/,"$1");if(m!=a[0]){s.push([RegExp.$1,E])}m=m.replace(/__/,"_");var f=H.createElement("td");if(Xinha.is_ie){f.unselectable="on"}E.appendChild(f);f.className="icon";if(E.__msh.icon){var q=Xinha.makeBtnImg(E.__msh.icon,H);f.appendChild(q)}var e=H.createElement("td");if(Xinha.is_ie){e.unselectable="on"}E.appendChild(e);e.className="label";e.innerHTML=m;E.onmouseover=function(){this.className+=" hover";v.editor._statusBarTree.innerHTML=this.__msh.tooltip||" "};E.onmouseout=function(){this.className="item"};E.oncontextmenu=function(h){this.__msh.activate();if(!Xinha.is_ie){Xinha._stopEvent(h)}return false};E.onmouseup=function(i){var h=(new Date()).getTime();if(h-v.timeStamp>500){this.__msh.activate()}if(!Xinha.is_ie){Xinha._stopEvent(i)}return false}}}if(!Xinha.is_ie){var G=10;if(n+r.offsetHeight+G>window.innerHeight){n=window.innerHeight-r.offsetHeight-G}if(o+r.offsetWidth+G>window.innerWidth){o=window.innerWidth-r.offsetWidth-G}r.style.left=o+"px";r.style.top=n+"px";r.style.visibility="visible"}else{this.iePopup.show(F.screenX,F.screenY,300,50);var p=r.offsetWidth;var C=r.offsetHeight;this.iePopup.show(F.screenX,F.screenY,p,C)}this.currentMenu=r;this.timeStamp=(new Date()).getTime();Xinha._addEvent(document,"mousedown",g);Xinha._addEvent(this.editordoc,"mousedown",g);if(s.length>0){Xinha._addEvent(this.editordoc,"keypress",z)}Xinha._stopEvent(F);return false}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ContextMenu/context-menu.js b/ccm-core/web/assets/xinha/plugins/ContextMenu/context-menu.js deleted file mode 100644 index 2ca37adb0..000000000 --- a/ccm-core/web/assets/xinha/plugins/ContextMenu/context-menu.js +++ /dev/null @@ -1,390 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ContextMenu/context-menu.js */ -Xinha.loadStyle("menu.css","ContextMenu"); -function ContextMenu(_1){ -this.editor=_1; -} -ContextMenu._pluginInfo={name:"ContextMenu",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"dynarch.com",sponsor:"American Bible Society",sponsor_url:"http://www.americanbible.org",license:"htmlArea"}; -Xinha.Config.prototype.ContextMenu={disableMozillaSpellCheck:false}; -ContextMenu.prototype.onGenerate=function(){ -var _2=this; -var _3=this.editordoc=this.editor._iframe.contentWindow.document; -Xinha._addEvents(_3,["contextmenu"],function(_4){ -return _2.popupMenu(Xinha.is_ie?_2.editor._iframe.contentWindow.event:_4); -}); -this.currentMenu=null; -if(this.editor.config.ContextMenu.disableMozillaSpellCheck){ -this.editordoc.body.spellcheck=false; -} -}; -ContextMenu.prototype.getContextMenu=function(_5){ -var _6=this; -var _7=this.editor; -var _8=_7.config; -var _9=[]; -var _a=this.editor.plugins.TableOperations; -if(_a){ -_a=_a.instance; -} -var _b=_7.hasSelectedText(); -if(!Xinha.is_gecko){ -if(_b){ -_9.push([Xinha._lc("Cut","ContextMenu"),function(){ -_7.execCommand("cut"); -},null,_8.btnList["cut"][1]],[Xinha._lc("Copy","ContextMenu"),function(){ -_7.execCommand("copy"); -},null,_8.btnList["copy"][1]]); -_9.push([Xinha._lc("Paste","ContextMenu"),function(){ -_7.execCommand("paste"); -},null,_8.btnList["paste"][1]]); -} -} -var _c=_5; -var _d=[]; -var _e=null; -var _f=null; -var tr=null; -var td=null; -var img=null; -function tableOperation(_13){ -_a.buttonPress(_7,_13); -} -function insertPara(_14){ -var el=_c; -var par=el.parentNode; -var p=_7._doc.createElement("p"); -p.appendChild(_7._doc.createElement("br")); -par.insertBefore(p,_14?el.nextSibling:el); -var sel=_7._getSelection(); -var _19=_7._createRange(sel); -if(!Xinha.is_ie){ -sel.removeAllRanges(); -_19.selectNodeContents(p); -_19.collapse(true); -sel.addRange(_19); -}else{ -_19.moveToElementText(p); -_19.collapse(true); -_19.select(); -} -} -for(;_5;_5=_5.parentNode){ -var tag=_5.tagName; -if(!tag){ -continue; -} -tag=tag.toLowerCase(); -switch(tag){ -case "img": -img=_5; -_d.push(null,[Xinha._lc("_Image Properties...","ContextMenu"),function(){ -_7._insertImage(img); -},Xinha._lc("Show the image properties dialog","ContextMenu"),_8.btnList["insertimage"][1]]); -break; -case "a": -_e=_5; -_d.push(null,[Xinha._lc("_Modify Link...","ContextMenu"),function(){ -_7.config.btnList["createlink"][3](_7); -},Xinha._lc("Current URL is","ContextMenu")+": "+_e.href,_8.btnList["createlink"][1]],[Xinha._lc("Chec_k Link...","ContextMenu"),function(){ -window.open(_e.href); -},Xinha._lc("Opens this link in a new window","ContextMenu")],[Xinha._lc("_Remove Link...","ContextMenu"),function(){ -if(confirm(Xinha._lc("Please confirm that you want to unlink this element.","ContextMenu")+"\n"+Xinha._lc("Link points to:","ContextMenu")+" "+_e.href)){ -while(_e.firstChild){ -_e.parentNode.insertBefore(_e.firstChild,_e); -} -_e.parentNode.removeChild(_e); -} -},Xinha._lc("Unlink the current element","ContextMenu")]); -break; -case "td": -td=_5; -if(!_a){ -break; -} -_d.push(null,[Xinha._lc("C_ell Properties...","ContextMenu"),function(){ -tableOperation("TO-cell-prop"); -},Xinha._lc("Show the Table Cell Properties dialog","ContextMenu"),_8.btnList["TO-cell-prop"][1]],[Xinha._lc("Insert Cell After","ContextMenu"),function(){ -tableOperation("TO-cell-insert-after"); -},Xinha._lc("Insert Cell After","ContextMenu"),_8.btnList["TO-cell-insert-after"][1]],[Xinha._lc("Insert Cell Before","ContextMenu"),function(){ -tableOperation("TO-cell-insert-before"); -},Xinha._lc("Insert Cell After","ContextMenu"),_8.btnList["TO-cell-insert-before"][1]],[Xinha._lc("Delete Cell","ContextMenu"),function(){ -tableOperation("TO-cell-delete"); -},Xinha._lc("Delete Cell","ContextMenu"),_8.btnList["TO-cell-delete"][1]],[Xinha._lc("Merge Cells","ContextMenu"),function(){ -tableOperation("TO-cell-merge"); -},Xinha._lc("Merge Cells","ContextMenu"),_8.btnList["TO-cell-merge"][1]]); -break; -case "tr": -tr=_5; -if(!_a){ -break; -} -_d.push(null,[Xinha._lc("Ro_w Properties...","ContextMenu"),function(){ -tableOperation("TO-row-prop"); -},Xinha._lc("Show the Table Row Properties dialog","ContextMenu"),_8.btnList["TO-row-prop"][1]],[Xinha._lc("I_nsert Row Before","ContextMenu"),function(){ -tableOperation("TO-row-insert-above"); -},Xinha._lc("Insert a new row before the current one","ContextMenu"),_8.btnList["TO-row-insert-above"][1]],[Xinha._lc("In_sert Row After","ContextMenu"),function(){ -tableOperation("TO-row-insert-under"); -},Xinha._lc("Insert a new row after the current one","ContextMenu"),_8.btnList["TO-row-insert-under"][1]],[Xinha._lc("_Delete Row","ContextMenu"),function(){ -tableOperation("TO-row-delete"); -},Xinha._lc("Delete the current row","ContextMenu"),_8.btnList["TO-row-delete"][1]]); -break; -case "table": -_f=_5; -if(!_a){ -break; -} -_d.push(null,[Xinha._lc("_Table Properties...","ContextMenu"),function(){ -tableOperation("TO-table-prop"); -},Xinha._lc("Show the Table Properties dialog","ContextMenu"),_8.btnList["TO-table-prop"][1]],[Xinha._lc("Insert _Column Before","ContextMenu"),function(){ -tableOperation("TO-col-insert-before"); -},Xinha._lc("Insert a new column before the current one","ContextMenu"),_8.btnList["TO-col-insert-before"][1]],[Xinha._lc("Insert C_olumn After","ContextMenu"),function(){ -tableOperation("TO-col-insert-after"); -},Xinha._lc("Insert a new column after the current one","ContextMenu"),_8.btnList["TO-col-insert-after"][1]],[Xinha._lc("De_lete Column","ContextMenu"),function(){ -tableOperation("TO-col-delete"); -},Xinha._lc("Delete the current column","ContextMenu"),_8.btnList["TO-col-delete"][1]]); -break; -case "body": -_d.push(null,[Xinha._lc("Justify Left","ContextMenu"),function(){ -_7.execCommand("justifyleft"); -},null,_8.btnList["justifyleft"][1]],[Xinha._lc("Justify Center","ContextMenu"),function(){ -_7.execCommand("justifycenter"); -},null,_8.btnList["justifycenter"][1]],[Xinha._lc("Justify Right","ContextMenu"),function(){ -_7.execCommand("justifyright"); -},null,_8.btnList["justifyright"][1]],[Xinha._lc("Justify Full","ContextMenu"),function(){ -_7.execCommand("justifyfull"); -},null,_8.btnList["justifyfull"][1]]); -break; -} -} -if(_b&&!_e){ -_9.push(null,[Xinha._lc("Make lin_k...","ContextMenu"),function(){ -_7.config.btnList["createlink"][3](_7); -},Xinha._lc("Create a link","ContextMenu"),_8.btnList["createlink"][1]]); -} -for(var i=0;i<_d.length;++i){ -_9.push(_d[i]); -} -if(!/html|body/i.test(_c.tagName)){ -_9.push(null,[Xinha._lc({string:"Remove the $elem Element...",replace:{elem:"<"+_c.tagName+">"}},"ContextMenu"),function(){ -if(confirm(Xinha._lc("Please confirm that you want to remove this element:","ContextMenu")+" "+_c.tagName)){ -var el=_c; -var p=el.parentNode; -p.removeChild(el); -if(Xinha.is_gecko){ -if(p.tagName.toLowerCase()=="td"&&!p.hasChildNodes()){ -p.appendChild(_7._doc.createElement("br")); -} -_7.forceRedraw(); -_7.focusEditor(); -_7.updateToolbar(); -if(_f){ -var _1e=_f.style.borderCollapse; -_f.style.borderCollapse="collapse"; -_f.style.borderCollapse="separate"; -_f.style.borderCollapse=_1e; -} -} -} -},Xinha._lc("Remove this node from the document","ContextMenu")],[Xinha._lc("Insert paragraph before","ContextMenu"),function(){ -insertPara(false); -},Xinha._lc("Insert a paragraph before the current node","ContextMenu")],[Xinha._lc("Insert paragraph after","ContextMenu"),function(){ -insertPara(true); -},Xinha._lc("Insert a paragraph after the current node","ContextMenu")]); -} -if(!_9[0]){ -_9.shift(); -} -return _9; -}; -ContextMenu.prototype.popupMenu=function(ev){ -var _20=this; -if(this.currentMenu){ -this.closeMenu(); -} -function getPos(el){ -var r={x:el.offsetLeft,y:el.offsetTop}; -if(el.offsetParent){ -var tmp=getPos(el.offsetParent); -r.x+=tmp.x; -r.y+=tmp.y; -} -return r; -} -function documentClick(ev){ -ev||(ev=window.event); -if(!_20.currentMenu){ -alert(Xinha._lc("How did you get here? (Please report!)","ContextMenu")); -return false; -} -var el=Xinha.is_ie?ev.srcElement:ev.target; -for(;el!=null&&el!=_20.currentMenu;el=el.parentNode){ -} -if(el==null){ -_20.closeMenu(); -} -} -var _26=[]; -function keyPress(ev){ -ev||(ev=window.event); -Xinha._stopEvent(ev); -if(ev.keyCode==27){ -_20.closeMenu(); -return false; -} -var key=String.fromCharCode(Xinha.is_ie?ev.keyCode:ev.charCode).toLowerCase(); -for(var i=_26.length;--i>=0;){ -var k=_26[i]; -if(k[0].toLowerCase()==key){ -k[1].__msh.activate(); -} -} -} -_20.closeMenu=function(){ -_20.currentMenu.parentNode.removeChild(_20.currentMenu); -_20.currentMenu=null; -Xinha._removeEvent(document,"mousedown",documentClick); -Xinha._removeEvent(_20.editordoc,"mousedown",documentClick); -if(_26.length>0){ -Xinha._removeEvent(_20.editordoc,"keypress",keyPress); -} -if(Xinha.is_ie){ -_20.iePopup.hide(); -} -}; -var _2b=Xinha.is_ie?ev.srcElement:ev.target; -var _2c=getPos(_20.editor._htmlArea); -var x=ev.clientX+_2c.x; -var y=ev.clientY+_2c.y; -var div; -var doc; -if(!Xinha.is_ie){ -doc=document; -}else{ -var _31=this.iePopup=window.createPopup(); -doc=_31.document; -doc.open(); -doc.write(""); -doc.close(); -} -div=doc.createElement("div"); -if(Xinha.is_ie){ -div.unselectable="on"; -} -div.oncontextmenu=function(){ -return false; -}; -div.className="htmlarea-context-menu"; -if(!Xinha.is_ie){ -div.style.left=div.style.top="0px"; -} -doc.body.appendChild(div); -var _32=doc.createElement("table"); -div.appendChild(_32); -_32.cellSpacing=0; -_32.cellPadding=0; -var _33=doc.createElement("tbody"); -_32.appendChild(_33); -var _34=this.getContextMenu(_2b); -for(var i=0;i<_34.length;++i){ -var _36=_34[i]; -var _37=doc.createElement("tr"); -_33.appendChild(_37); -if(Xinha.is_ie){ -_37.unselectable="on"; -}else{ -_37.onmousedown=function(ev){ -Xinha._stopEvent(ev); -return false; -}; -} -if(!_36){ -_37.className="separator"; -var td=doc.createElement("td"); -td.className="icon"; -var _3a=">"; -if(Xinha.is_ie){ -td.unselectable="on"; -_3a=" unselectable='on' style='height=1px'> "; -} -td.innerHTML=""; -var td1=td.cloneNode(true); -td1.className="label"; -_37.appendChild(td); -_37.appendChild(td1); -}else{ -var _3c=_36[0]; -_37.className="item"; -_37.__msh={item:_37,label:_3c,action:_36[1],tooltip:_36[2]||null,icon:_36[3]||null,activate:function(){ -_20.closeMenu(); -_20.editor.focusEditor(); -this.action(); -}}; -_3c=_3c.replace(/_([a-zA-Z0-9])/,"$1"); -if(_3c!=_36[0]){ -_26.push([RegExp.$1,_37]); -} -_3c=_3c.replace(/__/,"_"); -var td1=doc.createElement("td"); -if(Xinha.is_ie){ -td1.unselectable="on"; -} -_37.appendChild(td1); -td1.className="icon"; -if(_37.__msh.icon){ -var t=Xinha.makeBtnImg(_37.__msh.icon,doc); -td1.appendChild(t); -} -var td2=doc.createElement("td"); -if(Xinha.is_ie){ -td2.unselectable="on"; -} -_37.appendChild(td2); -td2.className="label"; -td2.innerHTML=_3c; -_37.onmouseover=function(){ -this.className+=" hover"; -_20.editor._statusBarTree.innerHTML=this.__msh.tooltip||" "; -}; -_37.onmouseout=function(){ -this.className="item"; -}; -_37.oncontextmenu=function(ev){ -this.__msh.activate(); -if(!Xinha.is_ie){ -Xinha._stopEvent(ev); -} -return false; -}; -_37.onmouseup=function(ev){ -var _41=(new Date()).getTime(); -if(_41-_20.timeStamp>500){ -this.__msh.activate(); -} -if(!Xinha.is_ie){ -Xinha._stopEvent(ev); -} -return false; -}; -} -} -if(!Xinha.is_ie){ -div.style.left=x+"px"; -div.style.top=y+"px"; -}else{ -this.iePopup.show(ev.screenX,ev.screenY,300,50); -var w=div.offsetWidth; -var h=div.offsetHeight; -this.iePopup.show(ev.screenX,ev.screenY,w,h); -} -this.currentMenu=div; -this.timeStamp=(new Date()).getTime(); -Xinha._addEvent(document,"mousedown",documentClick); -Xinha._addEvent(this.editordoc,"mousedown",documentClick); -if(_26.length>0){ -Xinha._addEvent(this.editordoc,"keypress",keyPress); -} -Xinha._stopEvent(ev); -return false; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/ContextMenu/lang/es.js b/ccm-core/web/assets/xinha/plugins/ContextMenu/lang/es.js new file mode 100644 index 000000000..90b7521bf --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ContextMenu/lang/es.js @@ -0,0 +1,51 @@ +// I18N constants +// LANG: "es", ENCODING: UTF-8 +// translated: Derick Leony +{ + "Cut": "Cortar", + "Copy": "Copiar", + "Paste": "Pegar", + "_Image Properties...": "_Propiedades de imagen...", + "_Modify Link...": "_Modificar hipervínculo...", + "Chec_k Link...": "_Verificar hipervínculo...", + "_Remove Link...": "_Suprimir hipervínculo...", + "C_ell Properties...": "P_ropiedades de celda...", + "Ro_w Properties...": "Pr_opiedades de la fila...", + "I_nsert Row Before": "_Insertar fila delante", + "In_sert Row After": "I_nsertar fila detrás", + "_Delete Row": "S_uprimir fila", + "_Table Properties...": "Propi_edades de la tabla...", + "Insert _Column Before": "Insert_ar columna delante", + "Insert C_olumn After": "Insertar _columna detrás", + "De_lete Column": "_Suprimir columna", + "Justify Left": "Alinear a la izquierda", + "Justify Center": "Centrar", + "Justify Right": "Alinear a la derecha", + "Justify Full": "Justificar", + "Make lin_k...": "Convertir en _hipervínculo...", + "Remove the $elem Element...": "Suprimir el elemento $elem...", + "Insert paragraph before": "Insertar párrafo delante", + "Insert paragraph after": "Insertar párrafo detrás", + "Please confirm that you want to remove this element:": "Por favor, confirme que desea suprimir este elemento:", + "Remove this node from the document": "Suprimir este nodo del documento", + "How did you get here? (Please report!)": "¿Cómo ha llegado aquí? (¡Por favor reporte el error!)", + "Show the image properties dialog": "Mostrar el diálogo de propiedades de imagen", + "Modify URL": "Modificar URL", + "Current URL is": "La URL actual es", + "Opens this link in a new window": "Abre este hipervínculo en una ventana nueva", + "Please confirm that you want to unlink this element.": "Por favor, confirme que desea suprimir el hipervínculo de este elemento.", + "Link points to:": "El hipervínculo apunta a:", + "Unlink the current element": "Suprimir el hipervínculo del elemento actual", + "Show the Table Cell Properties dialog": "Mostrar el diálogo Propiedades de la Celda", + "Show the Table Row Properties dialog": "Mostrar el diálogo Propiedades de la Fila", + "Insert a new row before the current one": "Insertar una fila nueva antes de la actual", + "Insert a new row after the current one": "Insertar una fila nueva después de la actual", + "Delete the current row": "Suprimir la fila actual", + "Show the Table Properties dialog": "Mostrar el diálogo Propiedades de la Tabla", + "Insert a new column before the current one": "Insertar una columna nueva antes de la actual", + "Insert a new column after the current one": "Insertar una columna nueva después de la actual", + "Delete the current column": "Suprimir la columna actual", + "Create a link": "Crear un hipervínculo", + "Insert a paragraph before the current node": "Insertar un párrafo antes del nodo actual", + "Insert a paragraph after the current node": "Insertar un párrafo después del nodo actual" +}; diff --git a/ccm-core/web/assets/xinha/plugins/DefinitionList/DefinitionList.js b/ccm-core/web/assets/xinha/plugins/DefinitionList/DefinitionList.js new file mode 100644 index 000000000..70315f218 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/DefinitionList/DefinitionList.js @@ -0,0 +1,91 @@ +// DefinitionList plugin for Xinha +// Distributed under the same terms as Xinha itself. +// This notice MUST stay intact for use (see license.txt). + + +function DefinitionList(editor) { + this.editor = editor; + var cfg = editor.config; + var bl = DefinitionList.btnList; + var self = this; + // register the toolbar buttons provided by this plugin + var toolbar = ["linebreak"]; + for (var i = 0; i < bl.length; ++i) { + var btn = bl[i]; + if (!btn) { + toolbar.push("separator"); + } else { + var id = btn[0]; + cfg.registerButton(id, this._lc(btn[1]), editor.imgURL("ed_" + btn[0] + ".gif", "DefinitionList"), false, + function(editor, id) { + // dispatch button press event + self.buttonPress(editor, id); + }); + toolbar.push(id); + } + } + // add a new line in the toolbar + cfg.toolbar.push(toolbar); +} + +DefinitionList._pluginInfo = { + name : "DefinitionList", + version : "1.0", + developer : "Udo Schmal", + developer_url : "", + c_owner : "Udo Schmal", + license : "htmlArea" +}; + +// the list of buttons added by this plugin +DefinitionList.btnList = [ + ["dl", "definition list"], + ["dt", "definition term"], + ["dd", "definition description"] + ]; + +DefinitionList.prototype._lc = function(string) { + return Xinha._lc(string, 'DefinitionList'); +}; + +DefinitionList.prototype.onGenerate = function() { + this.editor.addEditorStylesheet(Xinha.getPluginDir('DefinitionList') + '/definition-list.css'); +}; + +DefinitionList.prototype.buttonPress = function(editor,button_id) { + if (button_id=='dl') { //definition list + var pe = editor.getParentElement(); + while (pe.parentNode.tagName.toLowerCase() != 'body') { + pe = pe.parentNode; + } + var dx = editor._doc.createElement(button_id); + dx.innerHTML = ' '; + if(pe.parentNode.lastChild==pe) { + pe.parentNode.appendChild(dx); + }else{ + pe.parentNode.insertBefore(dx,pe.nextSibling); + } + } else if ((button_id=='dt')||(button_id=='dd')) { //definition term or description + var pe = editor.getParentElement(); + while (pe && (pe.nodeType == 1) && (pe.tagName.toLowerCase() != 'body')) { + if(pe.tagName.toLowerCase() == 'dl') { + var dx = editor._doc.createElement(button_id); + dx.innerHTML = ' '; + pe.appendChild(dx); + break; + }else if((pe.tagName.toLowerCase() == 'dt')||(pe.tagName.toLowerCase() == 'dd')){ + var dx = editor._doc.createElement(button_id) + dx.innerHTML = ' '; + if(pe.parentNode.lastChild==pe) { + pe.parentNode.appendChild(dx); + }else{ + pe.parentNode.insertBefore(dx,pe.nextSibling); + } + break; + } + pe = pe.parentNode; + } + if(pe.tagName.toLowerCase() == 'body') + alert('You can insert a definition term or description only in a definition list!'); + } +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css b/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css index d014001ff..7ae59d52d 100755 --- a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css +++ b/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css @@ -1,21 +1,15 @@ dl { border: 1px dotted #800000; } dt { - width: 18px; - height: 18px; background-image: url(img/ed_dt.gif); background-repeat: no-repeat; background-position: left top; padding-left: 19px; - display: block; color: #800000; } dd { - width: 18px; - height: 18px; background-image: url(img/ed_dd.gif); background-repeat: no-repeat; background-position: left top; padding-left: 19px; - display: block; color: #800000; } \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.js b/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.js deleted file mode 100644 index 95a2e0e69..000000000 --- a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.js +++ /dev/null @@ -1,74 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/DefinitionList/definition-list.js */ -function DefinitionList(_1){ -this.editor=_1; -var _2=_1.config; -var bl=DefinitionList.btnList; -var _4=this; -var _5=["linebreak"]; -for(var i=0;i"}}else{className="none";if(tagName=="all"){cssName=Xinha._lc("Default","DynamicCSS")}else{cssName="<"+Xinha._lc("Default","DynamicCSS")+">"}}a[tagName][className]=cssName;DynamicCSS.cssLength++}}}else{if(b[rule].styleSheet){a=DynamicCSS.applyCSSRule(b[rule].styleSheet.cssRules,a)}}}return a};DynamicCSS._pluginInfo={name:"DynamicCSS",version:"1.5.2",developer:"Holger Hees",developer_url:"http://www.systemconcept.de/",c_owner:"Holger Hees",sponsor:"System Concept GmbH",sponsor_url:"http://www.systemconcept.de/",license:"htmlArea"};DynamicCSS.prototype._lc=function(a){return Xinha._lc(a,"DynamicCSS")};DynamicCSS.prototype.onSelect=function(c,f){var e=c._toolbarObjects[f.id];var d=e.element.selectedIndex;var b=e.element.value;var a=c.getParentElement();if(b!="none"){a.className=b;DynamicCSS.lastClass=b}else{if(Xinha.is_gecko){a.removeAttribute("class")}else{a.removeAttribute("className")}}c.updateToolbar()};DynamicCSS.prototype.reparseTimer=function(b,c,a){if(DynamicCSS.parseCount<9){setTimeout(function(){DynamicCSS.cssLength=0;DynamicCSS.parseStyleSheet(b);if(DynamicCSS.cssOldLength!=DynamicCSS.cssLength){DynamicCSS.cssOldLength=DynamicCSS.cssLength;DynamicCSS.lastClass=null;a.updateValue(b,c)}a.reparseTimer(b,c,a)},DynamicCSS.parseCount*1000);DynamicCSS.parseCount=DynamicCSS.parseCount*2}};DynamicCSS.prototype.updateValue=function(b,e){cssArray=DynamicCSS.cssArray;if(!cssArray){DynamicCSS.cssLength=0;DynamicCSS.parseStyleSheet(b);cssArray=DynamicCSS.cssArray;DynamicCSS.cssOldLength=DynamicCSS.cssLength;DynamicCSS.parseCount=1;this.reparseTimer(b,e,this)}var h=b.getParentElement();var f=h.tagName.toLowerCase();var a=h.className;if(this.lastTag!=f||this.lastClass!=a){this.lastTag=f;this.lastClass=a;var l=b._toolbarObjects[e.id].element;while(l.length>0){l.options[l.length-1]=null}l.options[0]=new Option(this._lc("Default"),"none");if(cssArray){if(f!="body"||b.config.fullPage){if(cssArray[f]){for(cssClass in cssArray[f]){if(typeof cssArray[f][cssClass]!="string"){continue}if(cssClass=="none"){l.options[0]=new Option(cssArray[f][cssClass],cssClass)}else{l.options[l.length]=new Option(cssArray[f][cssClass],cssClass)}}}if(cssArray.all){for(cssClass in cssArray.all){if(typeof cssArray.all[cssClass]!="string"){continue}l.options[l.length]=new Option(cssArray.all[cssClass],cssClass)}}}else{if(cssArray[f]&&cssArray[f]["none"]){l.options[0]=new Option(cssArray[f]["none"],"none")}}}l.selectedIndex=0;if(typeof a!="undefined"&&/\S/.test(a)){var g=l.options;for(var d=g.length;--d>=0;){var c=g[d];if(a==c.value){l.selectedIndex=d;break}}if(l.selectedIndex==0){l.options[l.length]=new Option(this._lc("Undefined"),a);l.selectedIndex=l.length-1}}if(l.length>1){l.disabled=false}else{l.disabled=true}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/DynamicCSS/dynamiccss.js b/ccm-core/web/assets/xinha/plugins/DynamicCSS/dynamiccss.js deleted file mode 100644 index 6ce3bdb52..000000000 --- a/ccm-core/web/assets/xinha/plugins/DynamicCSS/dynamiccss.js +++ /dev/null @@ -1,202 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/DynamicCSS/dynamiccss.js */ -function DynamicCSS(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -var _5=null; -var _6=null; -var _7={id:"DynamicCSS-class",tooltip:this._lc("Choose stylesheet"),options:{"":""},action:function(_8){ -_4.onSelect(_8,this); -},refresh:function(_9){ -_4.updateValue(_9,this); -}}; -_3.registerDropdown(_7); -_3.addToolbarElement(["T[CSS]","DynamicCSS-class","separator"],"formatblock",-1); -} -DynamicCSS.parseStyleSheet=function(_a){ -iframe=_a._iframe.contentWindow.document; -cssArray=DynamicCSS.cssArray; -if(!cssArray){ -cssArray=new Array(); -} -for(i=0;i"; -} -}else{ -className="none"; -if(tagName=="all"){ -cssName=Xinha._lc("Default","DynamicCSS"); -}else{ -cssName="<"+Xinha._lc("Default","DynamicCSS")+">"; -} -} -_c[tagName][className]=cssName; -DynamicCSS.cssLength++; -} -} -}else{ -if(_b[rule].styleSheet){ -_c=DynamicCSS.applyCSSRule(_b[rule].styleSheet.cssRules,_c); -} -} -} -return _c; -}; -DynamicCSS._pluginInfo={name:"DynamicCSS",version:"1.5.2",developer:"Holger Hees",developer_url:"http://www.systemconcept.de/",c_owner:"Holger Hees",sponsor:"System Concept GmbH",sponsor_url:"http://www.systemconcept.de/",license:"htmlArea"}; -DynamicCSS.prototype._lc=function(_d){ -return Xinha._lc(_d,"DynamicCSS"); -}; -DynamicCSS.prototype.onSelect=function(_e,_f){ -var _10=_e._toolbarObjects[_f.id]; -var _11=_10.element.selectedIndex; -var _12=_10.element.value; -var _13=_e.getParentElement(); -if(_12!="none"){ -_13.className=_12; -DynamicCSS.lastClass=_12; -}else{ -if(Xinha.is_gecko){ -_13.removeAttribute("class"); -}else{ -_13.removeAttribute("className"); -} -} -_e.updateToolbar(); -}; -DynamicCSS.prototype.reparseTimer=function(_14,obj,_16){ -if(DynamicCSS.parseCount<9){ -setTimeout(function(){ -DynamicCSS.cssLength=0; -DynamicCSS.parseStyleSheet(_14); -if(DynamicCSS.cssOldLength!=DynamicCSS.cssLength){ -DynamicCSS.cssOldLength=DynamicCSS.cssLength; -DynamicCSS.lastClass=null; -_16.updateValue(_14,obj); -} -_16.reparseTimer(_14,obj,_16); -},DynamicCSS.parseCount*1000); -DynamicCSS.parseCount=DynamicCSS.parseCount*2; -} -}; -DynamicCSS.prototype.updateValue=function(_17,obj){ -cssArray=DynamicCSS.cssArray; -if(!cssArray){ -DynamicCSS.cssLength=0; -DynamicCSS.parseStyleSheet(_17); -cssArray=DynamicCSS.cssArray; -DynamicCSS.cssOldLength=DynamicCSS.cssLength; -DynamicCSS.parseCount=1; -this.reparseTimer(_17,obj,this); -} -var _19=_17.getParentElement(); -var _1a=_19.tagName.toLowerCase(); -var _1b=_19.className; -if(this.lastTag!=_1a||this.lastClass!=_1b){ -this.lastTag=_1a; -this.lastClass=_1b; -var _1c=_17._toolbarObjects[obj.id].element; -while(_1c.length>0){ -_1c.options[_1c.length-1]=null; -} -_1c.options[0]=new Option(this._lc("Default"),"none"); -if(cssArray){ -if(_1a!="body"||_17.config.fullPage){ -if(cssArray[_1a]){ -for(cssClass in cssArray[_1a]){ -if(typeof cssArray[_1a][cssClass]!="string"){ -continue; -} -if(cssClass=="none"){ -_1c.options[0]=new Option(cssArray[_1a][cssClass],cssClass); -}else{ -_1c.options[_1c.length]=new Option(cssArray[_1a][cssClass],cssClass); -} -} -} -if(cssArray["all"]){ -for(cssClass in cssArray["all"]){ -if(typeof cssArray["all"][cssClass]!="string"){ -continue; -} -_1c.options[_1c.length]=new Option(cssArray["all"][cssClass],cssClass); -} -} -}else{ -if(cssArray[_1a]&&cssArray[_1a]["none"]){ -_1c.options[0]=new Option(cssArray[_1a]["none"],"none"); -} -} -} -_1c.selectedIndex=0; -if(typeof _1b!="undefined"&&/\S/.test(_1b)){ -var _1d=_1c.options; -for(var i=_1d.length;--i>=0;){ -var _1f=_1d[i]; -if(_1b==_1f.value){ -_1c.selectedIndex=i; -break; -} -} -if(_1c.selectedIndex==0){ -_1c.options[_1c.length]=new Option(this._lc("Undefined"),_1b); -_1c.selectedIndex=_1c.length-1; -} -} -if(_1c.length>1){ -_1c.disabled=false; -}else{ -_1c.disabled=true; -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/EditTag/EditTag.js b/ccm-core/web/assets/xinha/plugins/EditTag/EditTag.js new file mode 100644 index 000000000..fb70de71c --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/EditTag/EditTag.js @@ -0,0 +1,56 @@ +// Character Map plugin for Xinha +// Sponsored by http://www.systemconcept.de +// Implementation by Holger Hees based on HTMLArea XTD 1.5 (http://mosforge.net/projects/htmlarea3xtd/) +// Original Author - Bernhard Pfeifer novocaine@gmx.net +// +// (c) systemconcept.de 2004 +// Distributed under the same terms as Xinha itself. +// This notice MUST stay intact for use (see license.txt). + +function EditTag(editor) { + this.editor = editor; + var cfg = editor.config; + var self = this; + + cfg.registerButton({ + id : "edittag", + tooltip : this._lc("Edit HTML for selected text"), + image : editor.imgURL("ed_edit_tag.gif", "EditTag"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + + cfg.addToolbarElement("edittag", "htmlmode",1); + +} + +EditTag._pluginInfo = { + name : "EditTag", + version : "1.0", + developer : "Pegoraro Marco", + developer_url : "http://www.sin-italia.com/", + c_owner : "Marco Pegoraro", + sponsor : "Sin Italia", + sponsor_url : "http://www.sin-italia.com/", + license : "htmlArea" +}; + +EditTag.prototype._lc = function(string) { + return Xinha._lc(string, 'EditTag'); +}; + +EditTag.prototype.buttonPress = function(editor) { + // Costruzione dell'oggetto parametri da passare alla dialog. + outparam = { + content : editor.getSelectedHTML() + }; // Fine costruzione parametri per il passaggio alla dialog. + editor._popupDialog( "plugin://EditTag/edit_tag", function( html ) { + if ( !html ) { + //user must have pressed Cancel + return false; + } + editor.insertHTML( html ); + }, outparam); +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/EditTag/edit-tag.js b/ccm-core/web/assets/xinha/plugins/EditTag/edit-tag.js deleted file mode 100644 index 374a31e26..000000000 --- a/ccm-core/web/assets/xinha/plugins/EditTag/edit-tag.js +++ /dev/null @@ -1,26 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/EditTag/edit-tag.js */ -function EditTag(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"edittag",tooltip:this._lc("Edit HTML for selected text"),image:_1.imgURL("ed_edit_tag.gif","EditTag"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("edittag","htmlmode",1); -} -EditTag._pluginInfo={name:"EditTag",version:"1.0",developer:"Pegoraro Marco",developer_url:"http://www.sin-italia.com/",c_owner:"Marco Pegoraro",sponsor:"Sin Italia",sponsor_url:"http://www.sin-italia.com/",license:"htmlArea"}; -EditTag.prototype._lc=function(_5){ -return Xinha._lc(_5,"EditTag"); -}; -EditTag.prototype.buttonPress=function(_6){ -outparam={content:_6.getSelectedHTML()}; -_6._popupDialog("plugin://EditTag/edit_tag",function(_7){ -if(!_7){ -return false; -} -_6.insertHTML(_7); -},outparam); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js b/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js index 206b5936a..0f47998a3 100644 --- a/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js +++ b/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js @@ -1,703 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Equation/ASCIIMathML.js */ -var checkForMathML=true; -var notifyIfNoMathML=true; -var alertIfNoMathML=false; -if(typeof mathcolor=="undefined"){ -var mathcolor="red"; -} -if(typeof mathfontfamily=="undefined"){ -var mathfontfamily="serif"; -} -var displaystyle=true; -if(typeof showasciiformulaonhover=="undefined"){ -var showasciiformulaonhover=true; -} -var decimalsign="."; -var AMdelimiter1="`",AMescape1="\\\\`"; -var AMdelimiter2="$",AMescape2="\\\\\\$",AMdelimiter2regexp="\\$"; -var doubleblankmathdelimiter=false; -var isIE=document.createElementNS==null; -if(document.getElementById==null){ -alert("This webpage requires a recent browser such as\nMozilla/Netscape 7+ or Internet Explorer 6+MathPlayer"); -} -function AMcreateElementXHTML(t){ -if(isIE){ -return document.createElement(t); -}else{ -return document.createElementNS("http://www.w3.org/1999/xhtml",t); -} -} -function AMnoMathMLNote(){ -var nd=AMcreateElementXHTML("h3"); -nd.setAttribute("align","center"); -nd.appendChild(AMcreateElementXHTML("p")); -nd.appendChild(document.createTextNode("To view the ")); -var an=AMcreateElementXHTML("a"); -an.appendChild(document.createTextNode("ASCIIMathML")); -an.setAttribute("href","http://www.chapman.edu/~jipsen/asciimath.html"); -nd.appendChild(an); -nd.appendChild(document.createTextNode(" notation use Internet Explorer 6+")); -an=AMcreateElementXHTML("a"); -an.appendChild(document.createTextNode("MathPlayer")); -an.setAttribute("href","http://www.dessci.com/en/products/mathplayer/download.htm"); -nd.appendChild(an); -nd.appendChild(document.createTextNode(" or Netscape/Mozilla/Firefox")); -nd.appendChild(AMcreateElementXHTML("p")); -return nd; -} -function AMisMathMLavailable(){ -if(navigator.appName.slice(0,8)=="Netscape"){ -if(navigator.appVersion.slice(0,1)>="5"){ -return null; -}else{ -return AMnoMathMLNote(); -} -}else{ -if(navigator.appName.slice(0,9)=="Microsoft"){ -try{ -var _4=new ActiveXObject("MathPlayer.Factory.1"); -return null; -} -catch(e){ -return AMnoMathMLNote(); -} -}else{ -return AMnoMathMLNote(); -} -} -} -var AMcal=[61237,8492,61238,61239,8496,8497,61240,8459,8464,61241,61242,8466,8499,61243,61244,61245,61246,8475,61247,61248,61249,61250,61251,61252,61253,61254]; -var AMfrk=[61277,61278,8493,61279,61280,61281,61282,8460,8465,61283,61284,61285,61286,61287,61288,61289,61290,8476,61291,61292,61293,61294,61295,61296,61297,8488]; -var AMbbb=[61324,61325,8450,61326,61327,61328,61329,8461,61330,61331,61332,61333,61334,8469,61335,8473,8474,8477,61336,61337,61338,61339,61340,61341,61342,8484]; -var CONST=0,UNARY=1,BINARY=2,INFIX=3,LEFTBRACKET=4,RIGHTBRACKET=5,SPACE=6,UNDEROVER=7,DEFINITION=8,LEFTRIGHT=9,TEXT=10; -var AMsqrt={input:"sqrt",tag:"msqrt",output:"sqrt",tex:null,ttype:UNARY},AMroot={input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},AMfrac={input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},AMdiv={input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},AMover={input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},AMsub={input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},AMsup={input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},AMtext={input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},AMmbox={input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote={input:"\"",tag:"mtext",output:"mbox",tex:null,ttype:TEXT}; -var AMsymbols=[{input:"alpha",tag:"mi",output:"\u03b1",tex:null,ttype:CONST},{input:"beta",tag:"mi",output:"\u03b2",tex:null,ttype:CONST},{input:"chi",tag:"mi",output:"\u03c7",tex:null,ttype:CONST},{input:"delta",tag:"mi",output:"\u03b4",tex:null,ttype:CONST},{input:"Delta",tag:"mo",output:"\u0394",tex:null,ttype:CONST},{input:"epsi",tag:"mi",output:"\u03b5",tex:"epsilon",ttype:CONST},{input:"varepsilon",tag:"mi",output:"\u025b",tex:null,ttype:CONST},{input:"eta",tag:"mi",output:"\u03b7",tex:null,ttype:CONST},{input:"gamma",tag:"mi",output:"\u03b3",tex:null,ttype:CONST},{input:"Gamma",tag:"mo",output:"\u0393",tex:null,ttype:CONST},{input:"iota",tag:"mi",output:"\u03b9",tex:null,ttype:CONST},{input:"kappa",tag:"mi",output:"\u03ba",tex:null,ttype:CONST},{input:"lambda",tag:"mi",output:"\u03bb",tex:null,ttype:CONST},{input:"Lambda",tag:"mo",output:"\u039b",tex:null,ttype:CONST},{input:"mu",tag:"mi",output:"\u03bc",tex:null,ttype:CONST},{input:"nu",tag:"mi",output:"\u03bd",tex:null,ttype:CONST},{input:"omega",tag:"mi",output:"\u03c9",tex:null,ttype:CONST},{input:"Omega",tag:"mo",output:"\u03a9",tex:null,ttype:CONST},{input:"phi",tag:"mi",output:"\u03c6",tex:null,ttype:CONST},{input:"varphi",tag:"mi",output:"\u03d5",tex:null,ttype:CONST},{input:"Phi",tag:"mo",output:"\u03a6",tex:null,ttype:CONST},{input:"pi",tag:"mi",output:"\u03c0",tex:null,ttype:CONST},{input:"Pi",tag:"mo",output:"\u03a0",tex:null,ttype:CONST},{input:"psi",tag:"mi",output:"\u03c8",tex:null,ttype:CONST},{input:"Psi",tag:"mi",output:"\u03a8",tex:null,ttype:CONST},{input:"rho",tag:"mi",output:"\u03c1",tex:null,ttype:CONST},{input:"sigma",tag:"mi",output:"\u03c3",tex:null,ttype:CONST},{input:"Sigma",tag:"mo",output:"\u03a3",tex:null,ttype:CONST},{input:"tau",tag:"mi",output:"\u03c4",tex:null,ttype:CONST},{input:"theta",tag:"mi",output:"\u03b8",tex:null,ttype:CONST},{input:"vartheta",tag:"mi",output:"\u03d1",tex:null,ttype:CONST},{input:"Theta",tag:"mo",output:"\u0398",tex:null,ttype:CONST},{input:"upsilon",tag:"mi",output:"\u03c5",tex:null,ttype:CONST},{input:"xi",tag:"mi",output:"\u03be",tex:null,ttype:CONST},{input:"Xi",tag:"mo",output:"\u039e",tex:null,ttype:CONST},{input:"zeta",tag:"mi",output:"\u03b6",tex:null,ttype:CONST},{input:"*",tag:"mo",output:"\u22c5",tex:"cdot",ttype:CONST},{input:"**",tag:"mo",output:"\u22c6",tex:"star",ttype:CONST},{input:"//",tag:"mo",output:"/",tex:null,ttype:CONST},{input:"\\\\",tag:"mo",output:"\\",tex:"backslash",ttype:CONST},{input:"setminus",tag:"mo",output:"\\",tex:null,ttype:CONST},{input:"xx",tag:"mo",output:"\xd7",tex:"times",ttype:CONST},{input:"-:",tag:"mo",output:"\xf7",tex:"divide",ttype:CONST},{input:"@",tag:"mo",output:"\u2218",tex:"circ",ttype:CONST},{input:"o+",tag:"mo",output:"\u2295",tex:"oplus",ttype:CONST},{input:"ox",tag:"mo",output:"\u2297",tex:"otimes",ttype:CONST},{input:"o.",tag:"mo",output:"\u2299",tex:"odot",ttype:CONST},{input:"sum",tag:"mo",output:"\u2211",tex:null,ttype:UNDEROVER},{input:"prod",tag:"mo",output:"\u220f",tex:null,ttype:UNDEROVER},{input:"^^",tag:"mo",output:"\u2227",tex:"wedge",ttype:CONST},{input:"^^^",tag:"mo",output:"\u22c0",tex:"bigwedge",ttype:UNDEROVER},{input:"vv",tag:"mo",output:"\u2228",tex:"vee",ttype:CONST},{input:"vvv",tag:"mo",output:"\u22c1",tex:"bigvee",ttype:UNDEROVER},{input:"nn",tag:"mo",output:"\u2229",tex:"cap",ttype:CONST},{input:"nnn",tag:"mo",output:"\u22c2",tex:"bigcap",ttype:UNDEROVER},{input:"uu",tag:"mo",output:"\u222a",tex:"cup",ttype:CONST},{input:"uuu",tag:"mo",output:"\u22c3",tex:"bigcup",ttype:UNDEROVER},{input:"!=",tag:"mo",output:"\u2260",tex:"ne",ttype:CONST},{input:":=",tag:"mo",output:":=",tex:null,ttype:CONST},{input:"lt",tag:"mo",output:"<",tex:null,ttype:CONST},{input:"<=",tag:"mo",output:"\u2264",tex:"le",ttype:CONST},{input:"lt=",tag:"mo",output:"\u2264",tex:"leq",ttype:CONST},{input:">=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227a",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227a",tex:null,ttype:CONST},{input:">-",tag:"mo",output:"\u227b",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2aaf",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2ab0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221d",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:"\xac",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21d2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21d4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22a5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22a4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22a2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22a8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:LEFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232a",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232a",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222b",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222e",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\xb1",tex:"pm",ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221e",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\xa0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\xa0\xa0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\xa0\xa0\xa0\xa0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22ef",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22ee",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22f1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22c4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25a1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230a",tex:"lfloor",ttype:CONST},{input:"__|",tag:"mo",output:"\u230b",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211a",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211d",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:true},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",output:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:"|->",tag:"mo",output:"\u21a6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21d2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21d0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21d4",tex:"Leftrightarrow",ttype:CONST},AMsqrt,AMroot,AMfrac,AMdiv,AMover,AMsub,AMsup,{input:"hat",tag:"mover",output:"^",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\xaf",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},AMtext,AMmbox,AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atval:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt",tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}]; -function compareNames(s1,s2){ -if(s1.input>s2.input){ -return 1; -}else{ -return -1; -} -} -var AMnames=[]; -function AMinitSymbols(){ -var _7=[],i; -for(i=0;i>1; -if(arr[m]=AMnames[k]; -} -AMpreviousSymbol=AMcurrentSymbol; -if(_1d!=""){ -AMcurrentSymbol=AMsymbols[mk].ttype; -return AMsymbols[mk]; -} -AMcurrentSymbol=CONST; -k=1; -st=str.slice(0,1); -var _20=true; -while("0"<=st&&st<="9"&&k<=str.length){ -st=str.slice(k,k+1); -k++; -} -if(st==decimalsign){ -st=str.slice(k,k+1); -if("0"<=st&&st<="9"){ -_20=false; -k++; -while("0"<=st&&st<="9"&&k<=str.length){ -st=str.slice(k,k+1); -k++; -} -} -} -if((_20&&k>1)||k>2){ -st=str.slice(0,k-1); -_1c="mn"; -}else{ -k=2; -st=str.slice(0,1); -_1c=(("A">st||st>"Z")&&("a">st||st>"z")?"mo":"mi"); -} -if(st=="-"&&AMpreviousSymbol==INFIX){ -AMcurrentSymbol=INFIX; -return {input:st,tag:_1c,output:st,ttype:UNARY,func:true}; -} -return {input:st,tag:_1c,output:st,ttype:CONST}; -} -function AMremoveBrackets(_21){ -var st; -if(_21.nodeName=="mrow"){ -st=_21.firstChild.firstChild.nodeValue; -if(st=="("||st=="["||st=="{"){ -_21.removeChild(_21.firstChild); -} -} -if(_21.nodeName=="mrow"){ -st=_21.lastChild.firstChild.nodeValue; -if(st==")"||st=="]"||st=="}"){ -_21.removeChild(_21.lastChild); -} -} -} -var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol; -function AMparseSexpr(str){ -var _24,node,result,i,st,newFrag=document.createDocumentFragment(); -str=AMremoveCharsAndBlanks(str,0); -_24=AMgetSymbol(str); -if(_24==null||_24.ttype==RIGHTBRACKET&&AMnestingDepth>0){ -return [null,str]; -} -if(_24.ttype==DEFINITION){ -str=_24.output+AMremoveCharsAndBlanks(str,_24.input.length); -_24=AMgetSymbol(str); -} -switch(_24.ttype){ -case UNDEROVER: -case CONST: -str=AMremoveCharsAndBlanks(str,_24.input.length); -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -case LEFTBRACKET: -AMnestingDepth++; -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseExpr(str,true); -AMnestingDepth--; -if(typeof _24.invisible=="boolean"&&_24.invisible){ -node=AMcreateMmlNode("mrow",result[0]); -}else{ -node=AMcreateMmlNode("mo",document.createTextNode(_24.output)); -node=AMcreateMmlNode("mrow",node); -node.appendChild(result[0]); -} -return [node,result[1]]; -case TEXT: -if(_24!=AMquote){ -str=AMremoveCharsAndBlanks(str,_24.input.length); -} -if(str.charAt(0)=="{"){ -i=str.indexOf("}"); -}else{ -if(str.charAt(0)=="("){ -i=str.indexOf(")"); -}else{ -if(str.charAt(0)=="["){ -i=str.indexOf("]"); -}else{ -if(_24==AMquote){ -i=str.slice(1).indexOf("\"")+1; -}else{ -i=0; -} -} -} -} -if(i==-1){ -i=str.length; -} -st=str.slice(1,i); -if(st.charAt(0)==" "){ -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -} -newFrag.appendChild(AMcreateMmlNode(_24.tag,document.createTextNode(st))); -if(st.charAt(st.length-1)==" "){ -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -} -str=AMremoveCharsAndBlanks(str,i+1); -return [AMcreateMmlNode("mrow",newFrag),str]; -case UNARY: -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseSexpr(str); -if(result[0]==null){ -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -} -if(typeof _24.func=="boolean"&&_24.func){ -st=str.charAt(0); -if(st=="^"||st=="_"||st=="/"||st=="|"||st==","){ -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -}else{ -node=AMcreateMmlNode("mrow",AMcreateMmlNode(_24.tag,document.createTextNode(_24.output))); -node.appendChild(result[0]); -return [node,result[1]]; -} -} -AMremoveBrackets(result[0]); -if(_24.input=="sqrt"){ -return [AMcreateMmlNode(_24.tag,result[0]),result[1]]; -}else{ -if(typeof _24.acc=="boolean"&&_24.acc){ -node=AMcreateMmlNode(_24.tag,result[0]); -node.appendChild(AMcreateMmlNode("mo",document.createTextNode(_24.output))); -return [node,result[1]]; -}else{ -if(!isIE&&typeof _24.codes!="undefined"){ -for(i=0;i64&&st.charCodeAt(j)<91){ -_25=_25+String.fromCharCode(_24.codes[st.charCodeAt(j)-65]); -}else{ -_25=_25+st.charAt(j); -} -} -if(result[0].nodeName=="mi"){ -result[0]=AMcreateElementMathML("mo").appendChild(document.createTextNode(_25)); -}else{ -result[0].replaceChild(AMcreateElementMathML("mo").appendChild(document.createTextNode(_25)),result[0].childNodes[i]); -} -} -} -} -node=AMcreateMmlNode(_24.tag,result[0]); -node.setAttribute(_24.atname,_24.atval); -return [node,result[1]]; -} -} -case BINARY: -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseSexpr(str); -if(result[0]==null){ -return [AMcreateMmlNode("mo",document.createTextNode(_24.input)),str]; -} -AMremoveBrackets(result[0]); -var _27=AMparseSexpr(result[1]); -if(_27[0]==null){ -return [AMcreateMmlNode("mo",document.createTextNode(_24.input)),str]; -} -AMremoveBrackets(_27[0]); -if(_24.input=="root"||_24.input=="stackrel"){ -newFrag.appendChild(_27[0]); -} -newFrag.appendChild(result[0]); -if(_24.input=="frac"){ -newFrag.appendChild(_27[0]); -} -return [AMcreateMmlNode(_24.tag,newFrag),_27[1]]; -case INFIX: -str=AMremoveCharsAndBlanks(str,_24.input.length); -return [AMcreateMmlNode("mo",document.createTextNode(_24.output)),str]; -case SPACE: -str=AMremoveCharsAndBlanks(str,_24.input.length); -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -newFrag.appendChild(AMcreateMmlNode(_24.tag,document.createTextNode(_24.output))); -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -return [AMcreateMmlNode("mrow",newFrag),str]; -case LEFTRIGHT: -AMnestingDepth++; -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseExpr(str,false); -AMnestingDepth--; -var st=""; -if(result[0].lastChild!=null){ -st=result[0].lastChild.firstChild.nodeValue; -} -if(st=="|"){ -node=AMcreateMmlNode("mo",document.createTextNode(_24.output)); -node=AMcreateMmlNode("mrow",node); -node.appendChild(result[0]); -return [node,result[1]]; -}else{ -node=AMcreateMmlNode("mo",document.createTextNode(_24.output)); -node=AMcreateMmlNode("mrow",node); -return [node,str]; -} -default: -str=AMremoveCharsAndBlanks(str,_24.input.length); -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -} -} -function AMparseIexpr(str){ -var _2a,sym1,sym2,node,result,underover; -str=AMremoveCharsAndBlanks(str,0); -sym1=AMgetSymbol(str); -result=AMparseSexpr(str); -node=result[0]; -str=result[1]; -_2a=AMgetSymbol(str); -if(_2a.ttype==INFIX&&_2a.input!="/"){ -str=AMremoveCharsAndBlanks(str,_2a.input.length); -result=AMparseSexpr(str); -if(result[0]==null){ -result[0]=AMcreateMmlNode("mo",document.createTextNode("\u25a1")); -}else{ -AMremoveBrackets(result[0]); -} -str=result[1]; -if(_2a.input=="_"){ -sym2=AMgetSymbol(str); -underover=(sym1.ttype==UNDEROVER); -if(sym2.input=="^"){ -str=AMremoveCharsAndBlanks(str,sym2.input.length); -var _2b=AMparseSexpr(str); -AMremoveBrackets(_2b[0]); -str=_2b[1]; -node=AMcreateMmlNode((underover?"munderover":"msubsup"),node); -node.appendChild(result[0]); -node.appendChild(_2b[0]); -node=AMcreateMmlNode("mrow",node); -}else{ -node=AMcreateMmlNode((underover?"munder":"msub"),node); -node.appendChild(result[0]); -} -}else{ -node=AMcreateMmlNode(_2a.tag,node); -node.appendChild(result[0]); -} -} -return [node,str]; -} -function AMparseExpr(str,_2d){ -var _2e,node,result,i,nodeList=[],newFrag=document.createDocumentFragment(); -do{ -str=AMremoveCharsAndBlanks(str,0); -result=AMparseIexpr(str); -node=result[0]; -str=result[1]; -_2e=AMgetSymbol(str); -if(_2e.ttype==INFIX&&_2e.input=="/"){ -str=AMremoveCharsAndBlanks(str,_2e.input.length); -result=AMparseIexpr(str); -if(result[0]==null){ -result[0]=AMcreateMmlNode("mo",document.createTextNode("\u25a1")); -}else{ -AMremoveBrackets(result[0]); -} -str=result[1]; -AMremoveBrackets(node); -node=AMcreateMmlNode(_2e.tag,node); -node.appendChild(result[0]); -newFrag.appendChild(node); -_2e=AMgetSymbol(str); -}else{ -if(node!=undefined){ -newFrag.appendChild(node); -} -} -}while((_2e.ttype!=RIGHTBRACKET&&(_2e.ttype!=LEFTRIGHT||_2d)||AMnestingDepth==0)&&_2e!=null&&_2e.output!=""); -if(_2e.ttype==RIGHTBRACKET||_2e.ttype==LEFTRIGHT){ -var len=newFrag.childNodes.length; -if(len>0&&newFrag.childNodes[len-1].nodeName=="mrow"&&len>1&&newFrag.childNodes[len-2].nodeName=="mo"&&newFrag.childNodes[len-2].firstChild.nodeValue==","){ -var _30=newFrag.childNodes[len-1].lastChild.firstChild.nodeValue; -if(_30==")"||_30=="]"){ -var _31=newFrag.childNodes[len-1].firstChild.firstChild.nodeValue; -if(_31=="("&&_30==")"&&_2e.output!="}"||_31=="["&&_30=="]"){ -var pos=[]; -var _33=true; -var m=newFrag.childNodes.length; -for(i=0;_33&&i1){ -_33=pos[i].length==pos[i-2].length; -} -} -if(_33){ -var row,frag,n,k,table=document.createDocumentFragment(); -for(i=0;i2){ -newFrag.removeChild(newFrag.firstChild); -newFrag.removeChild(newFrag.firstChild); -} -table.appendChild(AMcreateMmlNode("mtr",row)); -} -node=AMcreateMmlNode("mtable",table); -if(typeof _2e.invisible=="boolean"&&_2e.invisible){ -node.setAttribute("columnalign","left"); -} -newFrag.replaceChild(node,newFrag.firstChild); -} -} -} -} -str=AMremoveCharsAndBlanks(str,_2e.input.length); -if(typeof _2e.invisible!="boolean"||!_2e.invisible){ -node=AMcreateMmlNode("mo",document.createTextNode(_2e.output)); -newFrag.appendChild(node); -} -} -return [newFrag,str]; -} -function AMparseMath(str){ -var _38,node=AMcreateElementMathML("mstyle"); -if(mathcolor!=""){ -node.setAttribute("mathcolor",mathcolor); -} -if(displaystyle){ -node.setAttribute("displaystyle","true"); -} -if(mathfontfamily!=""){ -node.setAttribute("fontfamily",mathfontfamily); -} -AMnestingDepth=0; -node.appendChild(AMparseExpr(str.replace(/^\s+/g,""),false)[0]); -node=AMcreateMmlNode("math",node); -if(showasciiformulaonhover){ -node.setAttribute("title",str.replace(/\s+/g," ")); -} -if(mathfontfamily!=""&&(isIE||mathfontfamily!="serif")){ -var _39=AMcreateElementXHTML("font"); -_39.setAttribute("face",mathfontfamily); -_39.appendChild(node); -return _39; -} -return node; -} -function AMstrarr2docFrag(arr,_3b){ -var _3c=document.createDocumentFragment(); -var _3d=false; -for(var i=0;i1||_43){ -if(checkForMathML){ -checkForMathML=false; -var nd=AMisMathMLavailable(); -AMnoMathML=nd!=null; -if(AMnoMathML&¬ifyIfNoMathML){ -if(alertIfNoMathML){ -alert("To view the ASCIIMathML notation use Internet Explorer 6 +\nMathPlayer (free from www.dessci.com)\n or Firefox/Mozilla/Netscape"); -}else{ -AMbody.insertBefore(nd,AMbody.childNodes[0]); -} -} -} -if(!AMnoMathML){ -frg=AMstrarr2docFrag(arr,n.nodeType==8); -var len=frg.childNodes.length; -n.parentNode.replaceChild(frg,n); -return len-1; -}else{ -return 0; -} -} -} -}else{ -return 0; -} -}else{ -if(n.nodeName!="math"){ -for(i=0;i"); -document.write("<"+"?import namespace=\"m\" implementation=\"#mathplayer\"?>"); -} -function generic(){ -translate(); -} -if(typeof window.addEventListener!="undefined"){ -window.addEventListener("load",generic,false); -}else{ -if(typeof document.addEventListener!="undefined"){ -document.addEventListener("load",generic,false); -}else{ -if(typeof window.attachEvent!="undefined"){ -window.attachEvent("onload",generic); -}else{ -if(typeof window.onload=="function"){ -var existing=onload; -window.onload=function(){ -existing(); -generic(); -}; -}else{ -window.onload=generic; -} -} -} -} - +var mathcolor="blue";var mathfontsize="1em";var mathfontfamily="serif";var automathrecognize=false;var checkForMathML=true;var notifyIfNoMathML=true;var alertIfNoMathML=false;var translateOnLoad=true;var translateLaTeX=true;var translateLaTeXformatting=true;var translateASCIIMath=true;var translateASCIIsvg=true;var avoidinnerHTML=false;var displaystyle=true;var showasciiformulaonhover=true;var decimalsign=".";var AMdelimiter1="`",AMescape1="\\\\`";var AMdocumentId="wikitext";var checkforprocessasciimathinmoodle=false;var dsvglocation="";var isIE=document.createElementNS==null;var noMathML=false,translated=false;if(isIE){document.write('');document.write('')}function setStylesheet(a){var c="AMMLcustomStyleSheet";var b=document.getElementById(c);if(document.createStyleSheet){if(b){b.parentNode.removeChild(b)}document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," ")}else{if(b){b.replaceChild(document.createTextNode(a),b.firstChild)}else{b=document.createElement("style");b.type="text/css";b.id=c;b.appendChild(document.createTextNode(a));document.getElementsByTagName("head")[0].appendChild(b)}}}setStylesheet("#AMMLcloseDiv {font-size:0.8em; padding-top:1em; color:#014}\n#AMMLwarningBox {position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30}");function init(){var b,a=new Array();if(document.getElementById==null){alert("This webpage requires a recent browser such as Mozilla Firefox/Netscape 7+ or Internet Explorer 6+ with MathPlayer and Adobe SVGviewer");return null}if(checkForMathML&&(b=checkMathML())){a.push(b)}if(checkIfSVGavailable&&(b=checkSVG())){a.push(b)}if(a.length>0){displayWarnings(a)}if(!noMathML){initSymbols()}return true}function checkMathML(){if(navigator.appName.slice(0,8)=="Netscape"){if(navigator.appVersion.slice(0,1)>="5"){noMathML=null}else{noMathML=true}}else{if(navigator.appName.slice(0,9)=="Microsoft"){try{var c=new ActiveXObject("MathPlayer.Factory.1");noMathML=null}catch(a){noMathML=true}}else{if(navigator.appName.slice(0,5)=="Opera"){if(navigator.appVersion.slice(0,3)>="9.5"){noMathML=null}else{noMathML=true}}}}if(noMathML&¬ifyIfNoMathML){var b="To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later.";if(alertIfNoMathML){alert(b)}else{return b}}}function hideWarning(){var a=document.getElementsByTagName("body")[0];a.removeChild(document.getElementById("AMMLwarningBox"));a.onclick=null}function displayWarnings(b){var c,g,f=createElementXHTML("div");var a=document.getElementsByTagName("body")[0];a.onclick=hideWarning;f.id="AMMLwarningBox";for(c=0;c=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227A",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227A",tex:null,ttype:CONST},{input:">-",tag:"mo",output:"\u227B",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2AAF",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2AB0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221D",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:"\u00AC",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21D2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21D4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22A5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22A4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22A2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22A8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:LEFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232A",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232A",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222B",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222E",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\u00B1",tex:"pm",ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221E",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\u00A0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\u00A0\u00A0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\u00A0\u00A0\u00A0\u00A0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22EF",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22EE",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22F1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22C4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25A1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230A",tex:"lfloor",ttype:CONST},{input:"__|",tag:"mo",output:"\u230B",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211A",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211D",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:true},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",output:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:">->",tag:"mo",output:"\u21A3",tex:"rightarrowtail",ttype:CONST},{input:"->>",tag:"mo",output:"\u21A0",tex:"twoheadrightarrow",ttype:CONST},{input:">->>",tag:"mo",output:"\u2916",tex:"twoheadrightarrowtail",ttype:CONST},{input:"|->",tag:"mo",output:"\u21A6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21D2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21D0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21D4",tex:"Leftrightarrow",ttype:CONST},{input:"sqrt",tag:"msqrt",output:"sqrt",tex:null,ttype:UNARY},{input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},{input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},{input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},{input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},{input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},{input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},{input:"hat",tag:"mover",output:"\u005E",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\u00AF",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},{input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},{input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atval:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt",tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}];function compareNames(b,a){if(b.input>a.input){return 1}else{return -1}}var AMnames=[];function initSymbols(){var b=[],a;for(a=0;a>1;if(b[a]=AMnames[a]}AMpreviousSymbol=AMcurrentSymbol;if(f!=""){AMcurrentSymbol=AMsymbols[d].ttype;return AMsymbols[d]}AMcurrentSymbol=CONST;a=1;m=h.slice(0,1);var l=true;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}if(m==decimalsign){m=h.slice(a,a+1);if("0"<=m&&m<="9"){l=false;a++;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}}}if((l&&a>1)||a>2){m=h.slice(0,a-1);n="mn"}else{a=2;m=h.slice(0,1);n=(("A">m||m>"Z")&&("a">m||m>"z")?"mo":"mi")}if(m=="-"&&AMpreviousSymbol==INFIX){AMcurrentSymbol=INFIX;return{input:m,tag:n,output:m,ttype:UNARY,func:true}}return{input:m,tag:n,output:m,ttype:CONST}}function AMremoveBrackets(b){var a;if(b.nodeName=="mrow"){a=b.firstChild.firstChild.nodeValue;if(a=="("||a=="["||a=="{"){b.removeChild(b.firstChild)}}if(b.nodeName=="mrow"){a=b.lastChild.firstChild.nodeValue;if(a==")"||a=="]"||a=="}"){b.removeChild(b.lastChild)}}}var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol;function AMparseSexpr(h){var d,b,k,f,m,g=document.createDocumentFragment();h=AMremoveCharsAndBlanks(h,0);d=AMgetSymbol(h);if(d==null||d.ttype==RIGHTBRACKET&&AMnestingDepth>0){return[null,h]}if(d.ttype==DEFINITION){h=d.output+AMremoveCharsAndBlanks(h,d.input.length);d=AMgetSymbol(h)}switch(d.ttype){case UNDEROVER:case CONST:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h];case LEFTBRACKET:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,true);AMnestingDepth--;if(typeof d.invisible=="boolean"&&d.invisible){b=createMmlNode("mrow",k[0])}else{b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0])}return[b,k[1]];case TEXT:if(d!=AMquote){h=AMremoveCharsAndBlanks(h,d.input.length)}if(h.charAt(0)=="{"){f=h.indexOf("}")}else{if(h.charAt(0)=="("){f=h.indexOf(")")}else{if(h.charAt(0)=="["){f=h.indexOf("]")}else{if(d==AMquote){f=h.slice(1).indexOf('"')+1}else{f=0}}}}if(f==-1){f=h.length}m=h.slice(1,f);if(m.charAt(0)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}g.appendChild(createMmlNode(d.tag,document.createTextNode(m)));if(m.charAt(m.length-1)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}h=AMremoveCharsAndBlanks(h,f+1);return[createMmlNode("mrow",g),h];case UNARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}if(typeof d.func=="boolean"&&d.func){m=h.charAt(0);if(m=="^"||m=="_"||m=="/"||m=="|"||m==","){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}else{b=createMmlNode("mrow",createMmlNode(d.tag,document.createTextNode(d.output)));b.appendChild(k[0]);return[b,k[1]]}}AMremoveBrackets(k[0]);if(d.input=="sqrt"){return[createMmlNode(d.tag,k[0]),k[1]]}else{if(typeof d.acc=="boolean"&&d.acc){b=createMmlNode(d.tag,k[0]);b.appendChild(createMmlNode("mo",document.createTextNode(d.output)));return[b,k[1]]}else{if(!isIE&&typeof d.codes!="undefined"){for(f=0;f64&&m.charCodeAt(c)<91){l=l+String.fromCharCode(d.codes[m.charCodeAt(c)-65])}else{l=l+m.charAt(c)}}if(k[0].nodeName=="mi"){k[0]=createMmlNode("mo").appendChild(document.createTextNode(l))}else{k[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(l)),k[0].childNodes[f])}}}}b=createMmlNode(d.tag,k[0]);b.setAttribute(d.atname,d.atval);return[b,k[1]]}}case BINARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(k[0]);var a=AMparseSexpr(k[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(a[0]);if(d.input=="root"||d.input=="stackrel"){g.appendChild(a[0])}g.appendChild(k[0]);if(d.input=="frac"){g.appendChild(a[0])}return[createMmlNode(d.tag,g),a[1]];case INFIX:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode("mo",document.createTextNode(d.output)),h];case SPACE:h=AMremoveCharsAndBlanks(h,d.input.length);b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);g.appendChild(createMmlNode(d.tag,document.createTextNode(d.output)));b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);return[createMmlNode("mrow",g),h];case LEFTRIGHT:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,false);AMnestingDepth--;var m="";if(k[0].lastChild!=null){m=k[0].lastChild.firstChild.nodeValue}if(m=="|"){b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0]);return[b,k[1]]}else{b=createMmlNode("mo",document.createTextNode("\u2223"));b=createMmlNode("mrow",b);return[b,h]}default:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}}function AMparseIexpr(h){var a,j,g,d,f,b;h=AMremoveCharsAndBlanks(h,0);j=AMgetSymbol(h);f=AMparseSexpr(h);d=f[0];h=f[1];a=AMgetSymbol(h);if(a.ttype==INFIX&&a.input!="/"){h=AMremoveCharsAndBlanks(h,a.input.length);f=AMparseSexpr(h);if(f[0]==null){f[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(f[0])}h=f[1];if(a.input=="_"){g=AMgetSymbol(h);b=(j.ttype==UNDEROVER);if(g.input=="^"){h=AMremoveCharsAndBlanks(h,g.input.length);var c=AMparseSexpr(h);AMremoveBrackets(c[0]);h=c[1];d=createMmlNode((b?"munderover":"msubsup"),d);d.appendChild(f[0]);d.appendChild(c[0]);d=createMmlNode("mrow",d)}else{d=createMmlNode((b?"munder":"msub"),d);d.appendChild(f[0])}}else{d=createMmlNode(a.tag,d);d.appendChild(f[0])}}return[d,h]}function AMparseExpr(p,q){var x,o,a,t,z=[],g=document.createDocumentFragment();do{p=AMremoveCharsAndBlanks(p,0);a=AMparseIexpr(p);o=a[0];p=a[1];x=AMgetSymbol(p);if(x.ttype==INFIX&&x.input=="/"){p=AMremoveCharsAndBlanks(p,x.input.length);a=AMparseIexpr(p);if(a[0]==null){a[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(a[0])}p=a[1];AMremoveBrackets(o);o=createMmlNode(x.tag,o);o.appendChild(a[0]);g.appendChild(o);x=AMgetSymbol(p)}else{if(o!=undefined){g.appendChild(o)}}}while((x.ttype!=RIGHTBRACKET&&(x.ttype!=LEFTRIGHT||q)||AMnestingDepth==0)&&x!=null&&x.output!="");if(x.ttype==RIGHTBRACKET||x.ttype==LEFTRIGHT){var v=g.childNodes.length;if(v>0&&g.childNodes[v-1].nodeName=="mrow"&&v>1&&g.childNodes[v-2].nodeName=="mo"&&g.childNodes[v-2].firstChild.nodeValue==","){var A=g.childNodes[v-1].lastChild.firstChild.nodeValue;if(A==")"||A=="]"){var c=g.childNodes[v-1].firstChild.firstChild.nodeValue;if(c=="("&&A==")"&&x.output!="}"||c=="["&&A=="]"){var d=[];var w=true;var l=g.childNodes.length;for(t=0;w&&t1){w=d[t].length==d[t-2].length}}if(w){var f,b,h,r,y=document.createDocumentFragment();for(t=0;t2){g.removeChild(g.firstChild);g.removeChild(g.firstChild)}y.appendChild(createMmlNode("mtr",f))}o=createMmlNode("mtable",y);if(typeof x.invisible=="boolean"&&x.invisible){o.setAttribute("columnalign","left")}g.replaceChild(o,g.firstChild)}}}}p=AMremoveCharsAndBlanks(p,x.input.length);if(typeof x.invisible!="boolean"||!x.invisible){o=createMmlNode("mo",document.createTextNode(x.output));g.appendChild(o)}}return[g,p]}function parseMath(c,b){var d,a;AMnestingDepth=0;d=b?LMparseExpr(c.replace(/^\s+/g,""),false,false)[0]:AMparseExpr(c.replace(/^\s+/g,""),false)[0];a=createMmlNode("mstyle",d);a.setAttribute("mathcolor",mathcolor);a.setAttribute("fontfamily",mathfontfamily);a.setAttribute("mathsize",mathfontsize);if(displaystyle){a.setAttribute("displaystyle","true")}a=createMmlNode("math",a);if(showasciiformulaonhover){a.setAttribute("title",c.replace(/\s+/g," "))}return a}function strarr2docFrag(a,d,g){var k=document.createDocumentFragment();var h=false;for(var f=0;f,\\|!:;'~]|\\.(?!(?:\x20|$))|"+k+l+a;var n=new RegExp("(^|\\s)((("+c+")\\s?)(("+c+g+")\\s?)+)([,.?]?(?=\\s|$))","g");m=m.replace(n," `$2`$7");var f=m.split(AMdelimiter1);var h=new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+b+k+a+")(\\s|\\n|$)","g");var d=new RegExp("(^|\\s)([a-z]|"+b+k+a+")([,.])","g");for(i=0;i1||k){if(!noMathML){a=strarr2docFrag(f,c.nodeType==8,b);var g=a.childNodes.length;c.parentNode.replaceChild(a,c);return g-1}else{return 0}}}}else{return 0}}else{if(c.nodeName!="math"){for(d=0;d",ttype:CONST},{input:"\\ne",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\neq",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\le",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leq",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leqslant",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\ge",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geq",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geqslant",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\equiv",tag:"mo",output:"\u2261",ttype:CONST},{input:"\\ll",tag:"mo",output:"\u226A",ttype:CONST},{input:"\\gg",tag:"mo",output:"\u226B",ttype:CONST},{input:"\\doteq",tag:"mo",output:"\u2250",ttype:CONST},{input:"\\prec",tag:"mo",output:"\u227A",ttype:CONST},{input:"\\succ",tag:"mo",output:"\u227B",ttype:CONST},{input:"\\preceq",tag:"mo",output:"\u227C",ttype:CONST},{input:"\\succeq",tag:"mo",output:"\u227D",ttype:CONST},{input:"\\subset",tag:"mo",output:"\u2282",ttype:CONST},{input:"\\supset",tag:"mo",output:"\u2283",ttype:CONST},{input:"\\subseteq",tag:"mo",output:"\u2286",ttype:CONST},{input:"\\supseteq",tag:"mo",output:"\u2287",ttype:CONST},{input:"\\sqsubset",tag:"mo",output:"\u228F",ttype:CONST},{input:"\\sqsupset",tag:"mo",output:"\u2290",ttype:CONST},{input:"\\sqsubseteq",tag:"mo",output:"\u2291",ttype:CONST},{input:"\\sqsupseteq",tag:"mo",output:"\u2292",ttype:CONST},{input:"\\sim",tag:"mo",output:"\u223C",ttype:CONST},{input:"\\simeq",tag:"mo",output:"\u2243",ttype:CONST},{input:"\\approx",tag:"mo",output:"\u2248",ttype:CONST},{input:"\\cong",tag:"mo",output:"\u2245",ttype:CONST},{input:"\\Join",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\bowtie",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\in",tag:"mo",output:"\u2208",ttype:CONST},{input:"\\ni",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\owns",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\propto",tag:"mo",output:"\u221D",ttype:CONST},{input:"\\vdash",tag:"mo",output:"\u22A2",ttype:CONST},{input:"\\dashv",tag:"mo",output:"\u22A3",ttype:CONST},{input:"\\models",tag:"mo",output:"\u22A8",ttype:CONST},{input:"\\perp",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\smile",tag:"mo",output:"\u2323",ttype:CONST},{input:"\\frown",tag:"mo",output:"\u2322",ttype:CONST},{input:"\\asymp",tag:"mo",output:"\u224D",ttype:CONST},{input:"\\notin",tag:"mo",output:"\u2209",ttype:CONST},{input:"\\begin{eqnarray}",output:"X",ttype:MATRIX,invisible:true},{input:"\\begin{array}",output:"X",ttype:MATRIX,invisible:true},{input:"\\\\",output:"}&{",ttype:DEFINITION},{input:"\\end{eqnarray}",output:"}}",ttype:DEFINITION},{input:"\\end{array}",output:"}}",ttype:DEFINITION},{input:"\\big",tag:"mo",output:"X",atval:"1.2",ieval:"2.2",ttype:BIG},{input:"\\Big",tag:"mo",output:"X",atval:"1.6",ieval:"2.6",ttype:BIG},{input:"\\bigg",tag:"mo",output:"X",atval:"2.2",ieval:"3.2",ttype:BIG},{input:"\\Bigg",tag:"mo",output:"X",atval:"2.9",ieval:"3.9",ttype:BIG},{input:"\\left",tag:"mo",output:"X",ttype:LEFTBRACKET},{input:"\\right",tag:"mo",output:"X",ttype:RIGHTBRACKET},{input:"{",output:"{",ttype:LEFTBRACKET,invisible:true},{input:"}",output:"}",ttype:RIGHTBRACKET,invisible:true},{input:"(",tag:"mo",output:"(",atval:"1",ttype:STRETCHY},{input:"[",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\lbrack",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\{",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\lbrace",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\langle",tag:"mo",output:"\u2329",atval:"1",ttype:STRETCHY},{input:"\\lfloor",tag:"mo",output:"\u230A",atval:"1",ttype:STRETCHY},{input:"\\lceil",tag:"mo",output:"\u2308",atval:"1",ttype:STRETCHY},{input:")",tag:"mo",output:")",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"]",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrack",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\}",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrace",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rangle",tag:"mo",output:"\u232A",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rfloor",tag:"mo",output:"\u230B",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rceil",tag:"mo",output:"\u2309",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"|",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\|",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\vert",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\Vert",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\mid",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\parallel",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"/",tag:"mo",output:"/",atval:"1.01",ttype:STRETCHY},{input:"\\backslash",tag:"mo",output:"\u2216",atval:"1",ttype:STRETCHY},{input:"\\setminus",tag:"mo",output:"\\",ttype:CONST},{input:"\\!",tag:"mspace",atname:"width",atval:"-0.167em",ttype:SPACE},{input:"\\,",tag:"mspace",atname:"width",atval:"0.167em",ttype:SPACE},{input:"\\>",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\:",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\;",tag:"mspace",atname:"width",atval:"0.278em",ttype:SPACE},{input:"~",tag:"mspace",atname:"width",atval:"0.333em",ttype:SPACE},{input:"\\quad",tag:"mspace",atname:"width",atval:"1em",ttype:SPACE},{input:"\\qquad",tag:"mspace",atname:"width",atval:"2em",ttype:SPACE},{input:"\\prime",tag:"mo",output:"\u2032",ttype:CONST},{input:"'",tag:"mo",output:"\u02B9",ttype:CONST},{input:"''",tag:"mo",output:"\u02BA",ttype:CONST},{input:"'''",tag:"mo",output:"\u2034",ttype:CONST},{input:"''''",tag:"mo",output:"\u2057",ttype:CONST},{input:"\\ldots",tag:"mo",output:"\u2026",ttype:CONST},{input:"\\cdots",tag:"mo",output:"\u22EF",ttype:CONST},{input:"\\vdots",tag:"mo",output:"\u22EE",ttype:CONST},{input:"\\ddots",tag:"mo",output:"\u22F1",ttype:CONST},{input:"\\forall",tag:"mo",output:"\u2200",ttype:CONST},{input:"\\exists",tag:"mo",output:"\u2203",ttype:CONST},{input:"\\Re",tag:"mo",output:"\u211C",ttype:CONST},{input:"\\Im",tag:"mo",output:"\u2111",ttype:CONST},{input:"\\aleph",tag:"mo",output:"\u2135",ttype:CONST},{input:"\\hbar",tag:"mo",output:"\u210F",ttype:CONST},{input:"\\ell",tag:"mo",output:"\u2113",ttype:CONST},{input:"\\wp",tag:"mo",output:"\u2118",ttype:CONST},{input:"\\emptyset",tag:"mo",output:"\u2205",ttype:CONST},{input:"\\infty",tag:"mo",output:"\u221E",ttype:CONST},{input:"\\surd",tag:"mo",output:"\\sqrt{}",ttype:DEFINITION},{input:"\\partial",tag:"mo",output:"\u2202",ttype:CONST},{input:"\\nabla",tag:"mo",output:"\u2207",ttype:CONST},{input:"\\triangle",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\therefore",tag:"mo",output:"\u2234",ttype:CONST},{input:"\\angle",tag:"mo",output:"\u2220",ttype:CONST},{input:"\\diamond",tag:"mo",output:"\u22C4",ttype:CONST},{input:"\\Diamond",tag:"mo",output:"\u25C7",ttype:CONST},{input:"\\neg",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\lnot",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\bot",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\top",tag:"mo",output:"\u22A4",ttype:CONST},{input:"\\square",tag:"mo",output:"\u25AB",ttype:CONST},{input:"\\Box",tag:"mo",output:"\u25A1",ttype:CONST},{input:"\\wr",tag:"mo",output:"\u2240",ttype:CONST},{input:"\\arccos",tag:"mi",output:"arccos",ttype:UNARY,func:true},{input:"\\arcsin",tag:"mi",output:"arcsin",ttype:UNARY,func:true},{input:"\\arctan",tag:"mi",output:"arctan",ttype:UNARY,func:true},{input:"\\arg",tag:"mi",output:"arg",ttype:UNARY,func:true},{input:"\\cos",tag:"mi",output:"cos",ttype:UNARY,func:true},{input:"\\cosh",tag:"mi",output:"cosh",ttype:UNARY,func:true},{input:"\\cot",tag:"mi",output:"cot",ttype:UNARY,func:true},{input:"\\coth",tag:"mi",output:"coth",ttype:UNARY,func:true},{input:"\\csc",tag:"mi",output:"csc",ttype:UNARY,func:true},{input:"\\deg",tag:"mi",output:"deg",ttype:UNARY,func:true},{input:"\\det",tag:"mi",output:"det",ttype:UNARY,func:true},{input:"\\dim",tag:"mi",output:"dim",ttype:UNARY,func:true},{input:"\\exp",tag:"mi",output:"exp",ttype:UNARY,func:true},{input:"\\gcd",tag:"mi",output:"gcd",ttype:UNARY,func:true},{input:"\\hom",tag:"mi",output:"hom",ttype:UNARY,func:true},{input:"\\inf",tag:"mo",output:"inf",ttype:UNDEROVER},{input:"\\ker",tag:"mi",output:"ker",ttype:UNARY,func:true},{input:"\\lg",tag:"mi",output:"lg",ttype:UNARY,func:true},{input:"\\lim",tag:"mo",output:"lim",ttype:UNDEROVER},{input:"\\liminf",tag:"mo",output:"liminf",ttype:UNDEROVER},{input:"\\limsup",tag:"mo",output:"limsup",ttype:UNDEROVER},{input:"\\ln",tag:"mi",output:"ln",ttype:UNARY,func:true},{input:"\\log",tag:"mi",output:"log",ttype:UNARY,func:true},{input:"\\max",tag:"mo",output:"max",ttype:UNDEROVER},{input:"\\min",tag:"mo",output:"min",ttype:UNDEROVER},{input:"\\Pr",tag:"mi",output:"Pr",ttype:UNARY,func:true},{input:"\\sec",tag:"mi",output:"sec",ttype:UNARY,func:true},{input:"\\sin",tag:"mi",output:"sin",ttype:UNARY,func:true},{input:"\\sinh",tag:"mi",output:"sinh",ttype:UNARY,func:true},{input:"\\sup",tag:"mo",output:"sup",ttype:UNDEROVER},{input:"\\tan",tag:"mi",output:"tan",ttype:UNARY,func:true},{input:"\\tanh",tag:"mi",output:"tanh",ttype:UNARY,func:true},{input:"\\gets",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\leftarrow",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\to",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\rightarrow",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\leftrightarrow",tag:"mo",output:"\u2194",ttype:CONST},{input:"\\uparrow",tag:"mo",output:"\u2191",ttype:CONST},{input:"\\downarrow",tag:"mo",output:"\u2193",ttype:CONST},{input:"\\updownarrow",tag:"mo",output:"\u2195",ttype:CONST},{input:"\\Leftarrow",tag:"mo",output:"\u21D0",ttype:CONST},{input:"\\Rightarrow",tag:"mo",output:"\u21D2",ttype:CONST},{input:"\\Leftrightarrow",tag:"mo",output:"\u21D4",ttype:CONST},{input:"\\iff",tag:"mo",output:"~\\Longleftrightarrow~",ttype:DEFINITION},{input:"\\Uparrow",tag:"mo",output:"\u21D1",ttype:CONST},{input:"\\Downarrow",tag:"mo",output:"\u21D3",ttype:CONST},{input:"\\Updownarrow",tag:"mo",output:"\u21D5",ttype:CONST},{input:"\\mapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\longleftarrow",tag:"mo",output:"\u2190",ttype:LONG},{input:"\\longrightarrow",tag:"mo",output:"\u2192",ttype:LONG},{input:"\\longleftrightarrow",tag:"mo",output:"\u2194",ttype:LONG},{input:"\\Longleftarrow",tag:"mo",output:"\u21D0",ttype:LONG},{input:"\\Longrightarrow",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\implies",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\Longleftrightarrow",tag:"mo",output:"\u21D4",ttype:LONG},{input:"\\longmapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\sqrt",tag:"msqrt",output:"sqrt",ttype:UNARY},{input:"\\root",tag:"mroot",output:"root",ttype:BINARY},{input:"\\frac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\\stackrel",tag:"mover",output:"stackrel",ttype:BINARY},{input:"\\atop",tag:"mfrac",output:"",ttype:INFIX},{input:"\\choose",tag:"mfrac",output:"",ttype:INFIX},{input:"_",tag:"msub",output:"_",ttype:INFIX},{input:"^",tag:"msup",output:"^",ttype:INFIX},{input:"\\mathrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\\mbox",tag:"mtext",output:"mbox",ttype:TEXT},{input:"\\acute",tag:"mover",output:"\u00B4",ttype:UNARY,acc:true},{input:"\\grave",tag:"mover",output:"\u0060",ttype:UNARY,acc:true},{input:"\\breve",tag:"mover",output:"\u02D8",ttype:UNARY,acc:true},{input:"\\check",tag:"mover",output:"\u02C7",ttype:UNARY,acc:true},{input:"\\dot",tag:"mover",output:".",ttype:UNARY,acc:true},{input:"\\ddot",tag:"mover",output:"..",ttype:UNARY,acc:true},{input:"\\mathring",tag:"mover",output:"\u00B0",ttype:UNARY,acc:true},{input:"\\vec",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overrightarrow",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overleftarrow",tag:"mover",output:"\u20D6",ttype:UNARY,acc:true},{input:"\\hat",tag:"mover",output:"\u005E",ttype:UNARY,acc:true},{input:"\\widehat",tag:"mover",output:"\u0302",ttype:UNARY,acc:true},{input:"\\tilde",tag:"mover",output:"~",ttype:UNARY,acc:true},{input:"\\widetilde",tag:"mover",output:"\u02DC",ttype:UNARY,acc:true},{input:"\\bar",tag:"mover",output:"\u203E",ttype:UNARY,acc:true},{input:"\\overbrace",tag:"mover",output:"\u23B4",ttype:UNARY,acc:true},{input:"\\overline",tag:"mover",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\underbrace",tag:"munder",output:"\u23B5",ttype:UNARY,acc:true},{input:"\\underline",tag:"munder",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true",ttype:UNARY},{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false",ttype:UNARY},{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1",ttype:UNARY},{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2",ttype:UNARY},{input:"\\textrm",tag:"mstyle",output:"\\mathrm",ttype:DEFINITION},{input:"\\mathbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\textbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\mathit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\textit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\mathtt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\texttt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\mathsf",tag:"mstyle",atname:"mathvariant",atval:"sans-serif",ttype:UNARY},{input:"\\mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",ttype:UNARY,codes:AMbbb},{input:"\\mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",ttype:UNARY,codes:AMcal},{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",ttype:UNARY,codes:AMfrk}];var LMnames=[];function LMremoveCharsAndBlanks(c,d){var a;a=c.slice(d);for(var b=0;b=LMnames[a]}LMpreviousSymbol=LMcurrentSymbol;if(f!=""){LMcurrentSymbol=LMsymbols[d].ttype;return LMsymbols[d]}LMcurrentSymbol=CONST;a=1;l=h.slice(0,1);if("0"<=l&&l<="9"){m="mn"}else{m=(("A">l||l>"Z")&&("a">l||l>"z")?"mo":"mi")}return{input:l,tag:m,output:l,ttype:CONST}}var LMpreviousSymbol,LMcurrentSymbol;function LMparseSexpr(n){var t,m,d,a,r,o,l=document.createDocumentFragment();n=LMremoveCharsAndBlanks(n,0);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}if(t.ttype==DEFINITION){n=t.output+LMremoveCharsAndBlanks(n,t.input.length);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}}n=LMremoveCharsAndBlanks(n,t.input.length);switch(t.ttype){case SPACE:m=createMmlNode(t.tag);m.setAttribute(t.atname,t.atval);return[m,n,t.tag];case UNDEROVER:if(isIE){if(t.input.substr(0,4)=="\\big"){n="\\"+t.input.substr(4)+n;t=LMgetSymbol(n);t.ttype=UNDEROVER;n=LMremoveCharsAndBlanks(n,t.input.length)}}return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag];case CONST:var g=t.output;if(isIE){if(t.input=="'"){g="\u2032"}else{if(t.input=="''"){g="\u2033"}else{if(t.input=="'''"){g="\u2033\u2032"}else{if(t.input=="''''"){g="\u2033\u2033"}else{if(t.input=="\\square"){g="\u25A1"}else{if(t.input.substr(0,5)=="\\frac"){var b=t.input.substr(6,1);if(b=="5"||b=="6"){n=t.input.replace(/\\frac/,"\\frac ")+n;return[m,n,t.tag]}}}}}}}}m=createMmlNode(t.tag,document.createTextNode(g));return[m,n,t.tag];case LONG:m=createMmlNode(t.tag,document.createTextNode(t.output));m.setAttribute("minsize","1.5");m.setAttribute("maxsize","1.5");m=createMmlNode("mover",m);m.appendChild(createMmlNode("mspace"));return[m,n,t.tag];case STRETCHY:if(isIE&&t.input=="\\backslash"){t.output="\\"}m=createMmlNode(t.tag,document.createTextNode(t.output));if(t.input=="|"||t.input=="\\vert"||t.input=="\\|"||t.input=="\\Vert"){m.setAttribute("lspace","0em");m.setAttribute("rspace","0em")}m.setAttribute("maxsize",t.atval);if(t.rtag!=null){return[m,n,t.rtag]}else{return[m,n,t.tag]}case BIG:var f=t.atval;if(isIE){f=t.ieval}t=LMgetSymbol(n);if(t==null){return[null,n,null]}n=LMremoveCharsAndBlanks(n,t.input.length);m=createMmlNode(t.tag,document.createTextNode(t.output));if(isIE){var v=createMmlNode("mspace");v.setAttribute("height",f+"ex");m=createMmlNode("mrow",m);m.appendChild(v)}else{m.setAttribute("minsize",f);m.setAttribute("maxsize",f)}return[m,n,t.tag];case LEFTBRACKET:if(t.input=="\\left"){t=LMgetSymbol(n);if(t!=null){if(t.input=="."){t.invisible=true}n=LMremoveCharsAndBlanks(n,t.input.length)}}d=LMparseExpr(n,true,false);if(t==null||(typeof t.invisible=="boolean"&&t.invisible)){m=createMmlNode("mrow",d[0])}else{m=createMmlNode("mo",document.createTextNode(t.output));m=createMmlNode("mrow",m);m.appendChild(d[0])}return[m,d[1],d[2]];case MATRIX:if(t.input=="\\begin{array}"){var s="";t=LMgetSymbol(n);n=LMremoveCharsAndBlanks(n,0);if(t==null){s="l"}else{n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="{"){s="l"}else{do{t=LMgetSymbol(n);if(t!=null){n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="}"){s=s+t.input}}}while(t!=null&&t.input!=""&&t.input!="}")}}d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);s=s.replace(/l/g,"left ");s=s.replace(/r/g,"right ");s=s.replace(/c/g,"center ");m.setAttribute("columnalign",s);m.setAttribute("displaystyle","false");if(isIE){return[m,d[1],null]}var k=createMmlNode("mspace");k.setAttribute("width","0.167em");var p=createMmlNode("mspace");p.setAttribute("width","0.167em");var c=createMmlNode("mrow",k);c.appendChild(m);c.appendChild(p);return[c,d[1],null]}else{d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);if(isIE){m.setAttribute("columnspacing","0.25em")}else{m.setAttribute("columnspacing","0.167em")}m.setAttribute("columnalign","right center left");m.setAttribute("displaystyle","true");m=createMmlNode("mrow",m);return[m,d[1],null]}case TEXT:if(n.charAt(0)=="{"){r=n.indexOf("}")}else{r=0}if(r==-1){r=n.length}o=n.slice(1,r);if(o.charAt(0)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}l.appendChild(createMmlNode(t.tag,document.createTextNode(o)));if(o.charAt(o.length-1)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}n=LMremoveCharsAndBlanks(n,r+1);return[createMmlNode("mrow",l),n,null];case UNARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode(t.tag,document.createTextNode(t.output)),n]}if(typeof t.func=="boolean"&&t.func){o=n.charAt(0);if(o=="^"||o=="_"||o==","){return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}else{m=createMmlNode("mrow",createMmlNode(t.tag,document.createTextNode(t.output)));if(isIE){var v=createMmlNode("mspace");v.setAttribute("width","0.167em");m.appendChild(v)}m.appendChild(d[0]);return[m,d[1],t.tag]}}if(t.input=="\\sqrt"){if(isIE){var v=createMmlNode("mspace");v.setAttribute("height","1.2ex");v.setAttribute("width","0em");m=createMmlNode(t.tag,d[0]);m.appendChild(v);return[m,d[1],t.tag]}else{return[createMmlNode(t.tag,d[0]),d[1],t.tag]}}else{if(typeof t.acc=="boolean"&&t.acc){m=createMmlNode(t.tag,d[0]);var g=t.output;if(isIE){if(t.input=="\\hat"){g="\u0302"}else{if(t.input=="\\widehat"){g="\u005E"}else{if(t.input=="\\bar"){g="\u00AF"}else{if(t.input=="\\grave"){g="\u0300"}else{if(t.input=="\\tilde"){g="\u0303"}}}}}}var c=createMmlNode("mo",document.createTextNode(g));if(t.input=="\\vec"||t.input=="\\check"){c.setAttribute("maxsize","1.2")}if(isIE&&t.input=="\\bar"){c.setAttribute("maxsize","0.5")}if(t.input=="\\underbrace"||t.input=="\\underline"){c.setAttribute("accentunder","true")}else{c.setAttribute("accent","true")}m.appendChild(c);if(t.input=="\\overbrace"||t.input=="\\underbrace"){m.ttype=UNDEROVER}return[m,d[1],t.tag]}else{if(!isIE&&typeof t.codes!="undefined"){for(r=0;r64&&o.charCodeAt(q)<91){h=h+String.fromCharCode(t.codes[o.charCodeAt(q)-65])}else{h=h+o.charAt(q)}}if(d[0].nodeName=="mi"){d[0]=createMmlNode("mo").appendChild(document.createTextNode(h))}else{d[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(h)),d[0].childNodes[r])}}}}m=createMmlNode(t.tag,d[0]);m.setAttribute(t.atname,t.atval);if(t.input=="\\scriptstyle"||t.input=="\\scriptscriptstyle"){m.setAttribute("displaystyle","false")}return[m,d[1],t.tag]}}case BINARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}a=LMparseSexpr(d[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}if(t.input=="\\root"||t.input=="\\stackrel"){l.appendChild(a[0])}l.appendChild(d[0]);if(t.input=="\\frac"){l.appendChild(a[0])}return[createMmlNode(t.tag,l),a[1],t.tag];case INFIX:n=LMremoveCharsAndBlanks(n,t.input.length);return[createMmlNode("mo",document.createTextNode(t.output)),n,t.tag];default:return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}}function LMparseIexpr(g){var f,d,b,c,h,k,j;g=LMremoveCharsAndBlanks(g,0);d=LMgetSymbol(g);h=LMparseSexpr(g);c=h[0];g=h[1];k=h[2];f=LMgetSymbol(g);if(f.ttype==INFIX){g=LMremoveCharsAndBlanks(g,f.input.length);h=LMparseSexpr(g);if(h[0]==null){h[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}g=h[1];k=h[2];if(f.input=="_"||f.input=="^"){b=LMgetSymbol(g);k=null;j=((d.ttype==UNDEROVER)||(c.ttype==UNDEROVER));if(f.input=="_"&&b.input=="^"){g=LMremoveCharsAndBlanks(g,b.input.length);var a=LMparseSexpr(g);g=a[1];k=a[2];c=createMmlNode((j?"munderover":"msubsup"),c);c.appendChild(h[0]);c.appendChild(a[0])}else{if(f.input=="_"){c=createMmlNode((j?"munder":"msub"),c);c.appendChild(h[0])}else{c=createMmlNode((j?"mover":"msup"),c);c.appendChild(h[0])}}c=createMmlNode("mrow",c)}else{c=createMmlNode(f.tag,c);if(f.input=="\\atop"||f.input=="\\choose"){c.setAttribute("linethickness","0ex")}c.appendChild(h[0]);if(f.input=="\\choose"){c=createMmlNode("mfenced",c)}}}return[c,g,k]}function LMparseExpr(o,p,v){var w,l,a,s,z,f=document.createDocumentFragment();do{o=LMremoveCharsAndBlanks(o,0);a=LMparseIexpr(o);l=a[0];o=a[1];z=a[2];w=LMgetSymbol(o);if(l!=undefined){if((z=="mn"||z=="mi")&&w!=null&&typeof w.func=="boolean"&&w.func){var y=createMmlNode("mspace");y.setAttribute("width","0.167em");l=createMmlNode("mrow",l);l.appendChild(y)}f.appendChild(l)}}while((w.ttype!=RIGHTBRACKET)&&w!=null&&w.output!="");z=null;if(w.ttype==RIGHTBRACKET){if(w.input=="\\right"){o=LMremoveCharsAndBlanks(o,w.input.length);w=LMgetSymbol(o);if(w!=null&&w.input=="."){w.invisible=true}if(w!=null){z=w.rtag}}if(w!=null){o=LMremoveCharsAndBlanks(o,w.input.length)}var t=f.childNodes.length;if(v&&t>0&&f.childNodes[t-1].nodeName=="mrow"&&t>1&&f.childNodes[t-2].nodeName=="mo"&&f.childNodes[t-2].firstChild.nodeValue=="&"){var c=[];var h=f.childNodes.length;for(s=0;v&&s2){f.removeChild(f.firstChild);f.removeChild(f.firstChild)}x.appendChild(createMmlNode("mtr",d))}return[x,o]}if(typeof w.invisible!="boolean"||!w.invisible){l=createMmlNode("mo",document.createTextNode(w.output));f.appendChild(l)}}return[f,o,z]}var tcnt=0,dcnt=0;function simpleLaTeXformatting(a){a=a.replace(/\$\$((.|\n)*?)\$\$/g,'

$\\displaystyle{$1}$

');a=a.replace(/\\begin{(theorem|lemma|proposition|corollary)}((.|\n)*?)\\end{\1}/g,function(d,c,b){tcnt++;return""+c.charAt(0).toUpperCase()+c.slice(1)+" "+tcnt+". "+b.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")+""});a=a.replace(/\\begin{(definition|example|remark|problem|exercise|conjecture|solution)}((.|\n)*?)\\end{\1}/g,function(d,c,b){dcnt++;return""+c.charAt(0).toUpperCase()+c.slice(1)+" "+dcnt+". "+b.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")});a=a.replace(/\\begin{proof}((.|\n)*?)\\end{proof}/g,function(c,b){return"Proof: "+b.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")+" □"});a=a.replace(/\\emph{(.*?)}/g,"$1");a=a.replace(/\\textbf{(.*?)}/g,"$1");a=a.replace(/\\cite{(.*?)}/g,"[$1]");a=a.replace(/\\chapter{(.*?)}/g,"

$1

");a=a.replace(/\\section{(.*?)}(\s*<\/?(br|p)\s?\/?>)?/g,"

$1

");a=a.replace(/\\subsection{((.|\n)*?)}/g,"

$1

");a=a.replace(/\\begin{itemize}(\s*<\/?(br|p)\s?\/?>)?/g,"
    ");a=a.replace(/\\item\s((.|\n)*?)(?=(\\item|\\end))/g,"
  • $1
  • ");a=a.replace(/\\end{itemize}(\s*<\/?(br|p)\s?\/?>)?/g,"
");a=a.replace(/\\begin{enumerate}(\s*<\/?(br|p)\s?\/?>)?/g,"
    ");a=a.replace(/\\end{enumerate}(\s*<\/?(br|p)\s?\/?>)?/g,"
");a=a.replace(/\\item\[(.*?)]{(.*?)}/g,"
$1
$2
");a=a.replace(/\\begin{description}/g,"
");a=a.replace(/\\end{description}/g,"
");a=a.replace(/\\newline\b/g,"
");a=a.replace(/\\newpage\b/g,'
');a=a.replace(/\\par\b/g,"

 

");a=a.replace(/\\bigskip/g,'

 

');a=a.replace(/\\medskip/g,'

 

');a=a.replace(/\\smallskip/g,'

 

');a=a.replace(/\\begin{center}((.|\n)*?)\\end{center}/g,"
$1
");return a}function ASCIIandgraphformatting(a){a=a.replace(/(.*?)<\/sup>(\s|(\S))/gi,"^{$1} $3");a=a.replace(/(Proof:)/g,"$1");a=a.replace(/QED/g,"    □");a=a.replace(/(\\?end{?a?math}?)/ig,"$1");a=a.replace(/(\bamath\b|\\begin{a?math})/ig,"$1");a=a.replace(/([>\n])(Theorem|Lemma|Proposition|Corollary|Definition|Example|Remark|Problem|Exercise|Conjecture|Solution)(:|\W\W?(\w|\s|-|\.)*?\W?:)/g,"$1$2$3");a=a.replace(/
/gi,"\n")+"'/>
"});a=a.replace(/insertASCIIMathCalculator/g,'
');return a}function LMprocessNode(f){var d,a;try{a=f.innerHTML}catch(b){}var c=/amath\b|graph/i.test(a);if((a==null||a.indexOf("$ ")!=-1||a.indexOf("$<")!=-1||a.indexOf("\\begin")!=-1||c||a.slice(-1)=="$"||a.indexOf("$\n")!=-1)&&!/edit-content|HTMLArea|wikiedit|wpTextbox1/.test(a)){if(!avoidinnerHTML&&translateLaTeXformatting){a=simpleLaTeXformatting(a)}if(a!=null&&c&&!avoidinnerHTML){a=ASCIIandgraphformatting(a)}a=a.replace(/%7E/g,"~");if(!avoidinnerHTML){f.innerHTML=a}processNodeR(f,false,true)}}var checkIfSVGavailable=true;var notifyIfNoSVG=true;var alertIfNoSVG=false;var noSVG=false;var defaultwidth=300;defaultheight=200;var defaultxmin=-5.5;defaultxmax=5.5;var defaultborder=0;border=defaultborder;var defaultstrokewidth="1";var defaultstroke="blue";var defaultstrokeopacity=1;var defaultstrokedasharray=null;var defaultfill="none";var defaultfillopacity=1;var defaultfontstyle="normal";var defaultfontfamily="times";var defaultfontsize="16";var defaultfontweight="normal";var defaultfontstroke="none";var defaultfontfill="none";var defaultmarker="none";var defaultendpoints="";var showcoordinates=true;var markerstrokewidth="1";var markerstroke="black";var markerfill="yellow";var markersize=4;var arrowfill=stroke;var dotradius=4;var ticklength=4;var axesstroke="black";var gridstroke="grey";var backgroundstyle="fill-opacity:1; fill:white";var singlelettersitalic=true;var picturepos=null;var xunitlength;var yunitlength;var origin=[0,0];var above="above";var below="below";var left="left";var right="right";var aboveleft="aboveleft";var aboveright="aboveright";var belowleft="belowleft";var belowright="belowright";var xmin,xmax,ymin,ymax,xscl,yscl,xgrid,ygrid,xtick,ytick,initialized;var strokewidth,strokedasharray,stroke,fill,strokeopacity,fillopacity;var fontstyle,fontfamily,fontsize,fontweight,fontstroke,fontfill;var marker,endpoints,dynamic={};var picture,svgpicture,doc,width,height;var isIE=document.createElementNS==null;var cpi="\u03C0",ctheta="\u03B8";var log=function(a){return ln(a)/ln(10)};var pi=Math.PI,e=Math.E,ln=Math.log,sqrt=Math.sqrt;var floor=Math.floor,ceil=Math.ceil,abs=Math.abs;var sin=Math.sin,cos=Math.cos,tan=Math.tan;var arcsin=Math.asin,arccos=Math.acos,arctan=Math.atan;var sec=function(a){return 1/Math.cos(a)};var csc=function(a){return 1/Math.sin(a)};var cot=function(a){return 1/Math.tan(a)};var arcsec=function(a){return arccos(1/a)};var arccsc=function(a){return arcsin(1/a)};var arccot=function(a){return arctan(1/a)};var sinh=function(a){return(Math.exp(a)-Math.exp(-a))/2};var cosh=function(a){return(Math.exp(a)+Math.exp(-a))/2};var tanh=function(a){return(Math.exp(a)-Math.exp(-a))/(Math.exp(a)+Math.exp(-a))};var sech=function(a){return 1/cosh(a)};var csch=function(a){return 1/sinh(a)};var coth=function(a){return 1/tanh(a)};var arcsinh=function(a){return ln(a+Math.sqrt(a*a+1))};var arccosh=function(a){return ln(a+Math.sqrt(a*a-1))};var arctanh=function(a){return ln((1+a)/(1-a))/2};var sech=function(a){return 1/cosh(a)};var csch=function(a){return 1/sinh(a)};var coth=function(a){return 1/tanh(a)};var arcsech=function(a){return arccosh(1/a)};var arccsch=function(a){return arcsinh(1/a)};var arccoth=function(a){return arctanh(1/a)};var sign=function(a){return(a==0?0:(a<0?-1:1))};function factorial(a,c){if(c==null){c=1}if(Math.abs(a-Math.round(a*1000000)/1000000)<1e-15){a=Math.round(a*1000000)/1000000}if(a-Math.floor(a)!=0){return NaN}for(var b=a-c;b>0;b-=c){a*=b}return(a<0?NaN:(a==0?1:a))}function C(a,b){var d=1;for(var c=0;c=xmax){alert("Picture requires at least two numbers: xmin < xmax")}else{if(a!=null&&(typeof c!="number"||typeof a!="number"||c>=a)){alert("initPicture(xmin,xmax,ymin,ymax) requires numbers ymin < ymax")}else{if(width==null){width=picture.getAttribute("width");if(width==null||width==""){width=defaultwidth}}picture.setAttribute("width",width);if(height==null){height=picture.getAttribute("height");if(height==null||height==""){height=defaultheight}}picture.setAttribute("height",height);xunitlength=(width-2*border)/(xmax-xmin);yunitlength=xunitlength;if(ymin==null){origin=[-xmin*xunitlength+border,height/2];ymin=-(height-2*border)/(2*yunitlength);ymax=-ymin}else{if(ymax!=null){yunitlength=(height-2*border)/(ymax-ymin)}else{ymax=(height-2*border)/yunitlength+ymin}origin=[-xmin*xunitlength+border,-ymin*yunitlength+border]}if(isIE){if(picture.FULLSCREEN==undefined){setTimeout("drawPictures()",50);throw"wait"}svgpicture=picture.getSVGDocument().getElementById("root");if(svgpicture==null){setTimeout("drawPictures()",50);throw"wait"}svgpicture=picture.getSVGDocument().getElementById("root");while(svgpicture.childNodes.length>0){svgpicture.removeChild(svgpicture.lastChild)}svgpicture.setAttribute("width",width);svgpicture.setAttribute("height",height);svgpicture.setAttribute("name",picture.getAttribute("id"));doc=picture.getSVGDocument()}else{var b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("id",picture.getAttribute("id"));b.setAttribute("name",picture.getAttribute("id"));b.setAttribute("width",picture.getAttribute("width"));b.setAttribute("height",picture.getAttribute("height"));picturepos=findPos(picture);if(picture.parentNode!=null){picture.parentNode.replaceChild(b,picture)}else{svgpicture.parentNode.replaceChild(b,svgpicture)}svgpicture=b;doc=document}var g=document.getElementById(picture.getAttribute("id")+"mml");if(g!=null){while(g.childNodes.length>0){g.removeChild(g.lastChild)}}svgpicture.setAttribute("xunitlength",xunitlength);svgpicture.setAttribute("yunitlength",yunitlength);svgpicture.setAttribute("xmin",xmin);svgpicture.setAttribute("xmax",xmax);svgpicture.setAttribute("ymin",ymin);svgpicture.setAttribute("ymax",ymax);svgpicture.setAttribute("ox",origin[0]);svgpicture.setAttribute("oy",origin[1]);var d=myCreateElementSVG("rect");d.setAttribute("x","0");d.setAttribute("y","0");d.setAttribute("width",width);d.setAttribute("height",height);d.setAttribute("style",backgroundstyle);svgpicture.appendChild(d);svgpicture.setAttribute("onmousemove","displayCoord(evt)");svgpicture.setAttribute("onmouseout","removeCoord(evt)");svgpicture.setAttribute("onclick","mClick(evt)");d=myCreateElementSVG("text");d.appendChild(doc.createTextNode(" "));d.setAttribute("id","coords");svgpicture.appendChild(d);d=myCreateElementSVG("text");d.appendChild(doc.createTextNode(" "));d.setAttribute("id","coords");svgpicture.appendChild(d);border=defaultborder}}}}function line(d,c,f,a){var b;if(f!=null){b=doc.getElementById(f)}if(b==null){b=myCreateElementSVG("path");b.setAttribute("id",f);svgpicture.appendChild(b)}b.setAttribute("d","M"+(d[0]*xunitlength+origin[0])+","+(height-d[1]*yunitlength-origin[1])+" "+(c[0]*xunitlength+origin[0])+","+(height-c[1]*yunitlength-origin[1]));b.setAttribute("stroke-width",strokewidth);if(strokedasharray!=null){b.setAttribute("stroke-dasharray",strokedasharray)}b.setAttribute("stroke",stroke);b.setAttribute("fill",fill);b.setAttribute("stroke-opacity",strokeopacity);b.setAttribute("fill-opacity",fillopacity);if(marker=="dot"||marker=="arrowdot"){ASdot(d,markersize,markerstroke,markerfill);if(marker=="arrowdot"){arrowhead(d,c)}ASdot(c,markersize,markerstroke,markerfill)}else{if(marker=="arrow"){arrowhead(d,c)}}if(a==null&&endpoints!=""){a=endpoints}if(a!=null){if(a.indexOf("<-")!=-1){arrowhead(c,d)}if(a.indexOf("o-")!=-1){dot(d,"open")}if(a.indexOf("*-")!=-1){dot(d,"closed")}if(a.indexOf("->")!=-1){arrowhead(d,c)}if(a.indexOf("-o")!=-1){dot(c,"open")}if(a.indexOf("-*")!=-1){dot(c,"closed")}}}function path(g,j,h,a){if(h==null){h=""}var f,b,d;if(j!=null){f=doc.getElementById(j)}if(f==null){f=myCreateElementSVG("path");f.setAttribute("id",j);svgpicture.appendChild(f)}if(typeof g=="string"){b=g}else{b="M";b+=(g[0][0]*xunitlength+origin[0])+","+(height-g[0][1]*yunitlength-origin[1])+" "+h;for(d=1;d")!=-1){arrowhead(g[g.length-2],g[g.length-1])}if(a.indexOf("-o")!=-1){dot(g[g.length-1],"open")}if(a.indexOf("-*")!=-1){dot(g[g.length-1],"closed")}}}function curve(b,c,a){path(b,c,"T",a)}function vector(b,a,c){line(b,a,c,"","->")}function circle(c,b,d){var a;if(d!=null){a=doc.getElementById(d)}if(a==null){a=myCreateElementSVG("circle");a.setAttribute("id",d);svgpicture.appendChild(a)}a.setAttribute("cx",c[0]*xunitlength+origin[0]);a.setAttribute("cy",height-c[1]*yunitlength-origin[1]);a.setAttribute("r",b*xunitlength);a.setAttribute("stroke-width",strokewidth);a.setAttribute("stroke",stroke);a.setAttribute("fill",fill);a.setAttribute("stroke-opacity",strokeopacity);a.setAttribute("fill-opacity",fillopacity)}function loop(a,b,c){if(b==null){b=[1,0]}path([a,[a[0]+b[0],a[1]+b[1]],[a[0]-b[1],a[1]+b[0]],a],c,"C");if(marker=="arrow"||marker=="arrowdot"){arrowhead([a[0]+Math.cos(1.4)*b[0]-Math.sin(1.4)*b[1],a[1]+Math.sin(1.4)*b[0]+Math.cos(1.4)*b[1]],a)}}function arc(h,a,f,g,d){var c,b;if(g!=null){c=doc.getElementById(g)}if(d==null){d=0}if(f==null){b=[a[0]-h[0],a[1]-h[1]];f=Math.sqrt(b[0]*b[0]+b[1]*b[1])}if(c==null){c=myCreateElementSVG("path");c.setAttribute("id",g);svgpicture.appendChild(c)}c.setAttribute("d","M"+(h[0]*xunitlength+origin[0])+","+(height-h[1]*yunitlength-origin[1])+" A"+f*xunitlength+","+f*yunitlength+" 0 "+d+",0 "+(a[0]*xunitlength+origin[0])+","+(height-a[1]*yunitlength-origin[1]));c.setAttribute("stroke-width",strokewidth);c.setAttribute("stroke",stroke);c.setAttribute("fill",fill);c.setAttribute("stroke-opacity",strokeopacity);c.setAttribute("fill-opacity",fillopacity);if(marker=="arrow"||marker=="arrowdot"){u=[(a[1]-h[1])/4,(h[0]-a[0])/4];b=[(a[0]-h[0])/2,(a[1]-h[1])/2];b=[h[0]+b[0]+u[0],h[1]+b[1]+u[1]]}else{b=[h[0],h[1]]}if(marker=="dot"||marker=="arrowdot"){ASdot(h,markersize,markerstroke,markerfill);if(marker=="arrowdot"){arrowhead(b,a)}ASdot(a,markersize,markerstroke,markerfill)}else{if(marker=="arrow"){arrowhead(b,a)}}}function sector(c,g,a,f){var d=g[0]-c[0],b=g[1]-c[1];arc(g,a,Math.sqrt(d*d+b*b),f+"arc");path([a,c,g],f+"path")}function ellipse(c,d,b,f){var a;if(f!=null){a=doc.getElementById(f)}if(a==null){a=myCreateElementSVG("ellipse");a.setAttribute("id",f);svgpicture.appendChild(a)}a.setAttribute("cx",c[0]*xunitlength+origin[0]);a.setAttribute("cy",height-c[1]*yunitlength-origin[1]);a.setAttribute("rx",d*xunitlength);a.setAttribute("ry",b*yunitlength);a.setAttribute("stroke-width",strokewidth);a.setAttribute("stroke",stroke);a.setAttribute("fill",fill);a.setAttribute("stroke-opacity",strokeopacity);a.setAttribute("fill-opacity",fillopacity)}function triangle(c,b,a,d){path([c,b,a,c],d)}function rect(f,c,g,d,b){var a;if(g!=null){a=doc.getElementById(g)}if(a==null){a=myCreateElementSVG("rect");a.setAttribute("id",g);svgpicture.appendChild(a)}a.setAttribute("x",f[0]*xunitlength+origin[0]);a.setAttribute("y",height-c[1]*yunitlength-origin[1]);a.setAttribute("width",(c[0]-f[0])*xunitlength);a.setAttribute("height",(c[1]-f[1])*yunitlength);if(d!=null){a.setAttribute("rx",d*xunitlength)}if(b!=null){a.setAttribute("ry",b*yunitlength)}a.setAttribute("stroke-width",strokewidth);a.setAttribute("stroke",stroke);a.setAttribute("fill",fill);a.setAttribute("stroke-opacity",strokeopacity);a.setAttribute("fill-opacity",fillopacity)}function text(a,l,h,b,j){var f,c,m=0,k=fontsize/3,g=l.toString();if(/(`|\$)/.test(g)){f=document.getElementById(svgpicture.getAttribute("name")+"mml");if(f!=null){if(b!=null){c=document.getElementById(b)}if(c==null){c=createElementXHTML("div");c.setAttribute("id",b);c.style.position="absolute";f.appendChild(c)}while(c.childNodes.length>0){c.removeChild(c.lastChild)}c.appendChild(document.createTextNode(g));if(/`/.test(g)){AMprocessNode(c)}else{LMprocessNode(c)}m=-c.offsetWidth/2;k=-c.offsetHeight/2;if(h!=null){if(/above/.test(h)){k=-c.offsetHeight}if(/below/.test(h)){k=0}if(/right/.test(h)){m=0}if(/left/.test(h)){m=-c.offsetWidth}}c.style.left=""+(a[0]*xunitlength+origin[0]+m)+"px";c.style.top=""+(height-a[1]*yunitlength-origin[1]+k)+"px"}return a}var d="middle";if(h!=null){if(/above/.test(h)){k=-fontsize/2}if(/below/.test(h)){k=fontsize-0}if(/right/.test(h)){d="start";m=fontsize/4}if(/left/.test(h)){d="end";m=-fontsize/4}}if(b!=null){c=doc.getElementById(b)}if(c==null){c=myCreateElementSVG("text");c.setAttribute("id",b);svgpicture.appendChild(c);c.appendChild(doc.createTextNode(g))}while(c.childNodes.length>1){c.removeChild(c.lastChild)}c.lastChild.nodeValue="\xA0"+g+"\xA0";c.setAttribute("x",a[0]*xunitlength+origin[0]+m);c.setAttribute("y",height-a[1]*yunitlength-origin[1]+k);c.setAttribute("font-style",(j!=null?j:(g.search(/^[a-zA-Z]$/)!=-1?"italic":fontstyle)));c.setAttribute("font-family",fontfamily);c.setAttribute("font-size",fontsize);c.setAttribute("font-weight",fontweight);c.setAttribute("text-anchor",d);if(fontstroke!="none"){c.setAttribute("stroke",fontstroke)}if(fontfill!="none"){c.setAttribute("fill",fontfill)}return a}function mtext(a,j,d,f,g){var c="middle";var k=0;var h=fontsize/3;if(d!=null){if(d.slice(0,5)=="above"){h=-fontsize/2}if(d.slice(0,5)=="below"){h=fontsize-0}if(d.slice(0,5)=="right"||d.slice(5,10)=="right"){c="start";k=fontsize/2}if(d.slice(0,4)=="left"||d.slice(5,9)=="left"){c="end";k=-fontsize/2}}var b=this;if(this.nodeName=="svg"){b=myCreateElementSVG("text");this.appendChild(b);b.appendChild(doc.createTextNode(j))}b.lastChild.nodeValue=j;b.setAttribute("x",a[0]+k);b.setAttribute("y",a[1]+h);b.setAttribute("font-style",(f!=null?f:fontstyle));b.setAttribute("font-family",fontfamily);b.setAttribute("font-size",(g!=null?g:fontsize));b.setAttribute("font-weight",fontweight);b.setAttribute("text-anchor",c);if(fontstroke!="none"){b.setAttribute("stroke",fontstroke)}if(fontfill!="none"){b.setAttribute("fill",fontfill)}}function image(b,f,a,c,g){var d;if(g!=null){d=doc.getElementById(g)}if(d==null){d=myCreateElementSVG("image");d.setAttribute("id",g);svgpicture.appendChild(d)}d.setAttribute("x",f[0]*xunitlength+origin[0]);d.setAttribute("y",height-f[1]*yunitlength-origin[1]);d.setAttribute("width",a);d.setAttribute("height",c);d.setAttribute("xlink:href",b)}function ASdot(g,d,a,c){if(a==null){a=stroke}if(c==null){c=fill}var b=myCreateElementSVG("circle");b.setAttribute("cx",g[0]*xunitlength+origin[0]);b.setAttribute("cy",height-g[1]*yunitlength-origin[1]);b.setAttribute("r",d);b.setAttribute("stroke-width",strokewidth);b.setAttribute("stroke",a);b.setAttribute("fill",c);svgpicture.appendChild(b)}function dot(f,d,b,j,h){var c;var a=f[0]*xunitlength+origin[0];var g=height-f[1]*yunitlength-origin[1];if(h!=null){c=doc.getElementById(h)}if(d=="+"||d=="-"||d=="|"){if(c==null){c=myCreateElementSVG("path");c.setAttribute("id",h);svgpicture.appendChild(c)}if(d=="+"){c.setAttribute("d"," M "+(a-ticklength)+" "+g+" L "+(a+ticklength)+" "+g+" M "+a+" "+(g-ticklength)+" L "+a+" "+(g+ticklength));c.setAttribute("stroke-width",0.5);c.setAttribute("stroke",axesstroke)}else{if(d=="-"){c.setAttribute("d"," M "+(a-ticklength)+" "+g+" L "+(a+ticklength)+" "+g)}else{c.setAttribute("d"," M "+a+" "+(g-ticklength)+" L "+a+" "+(g+ticklength))}c.setAttribute("stroke-width",strokewidth);c.setAttribute("stroke",stroke)}}else{if(c==null){c=myCreateElementSVG("circle");c.setAttribute("id",h);svgpicture.appendChild(c)}c.setAttribute("cx",a);c.setAttribute("cy",g);c.setAttribute("r",dotradius);c.setAttribute("stroke-width",strokewidth);c.setAttribute("stroke",stroke);c.setAttribute("fill",(d=="open"?"white":(d=="closed"?stroke:markerfill)))}if(b!=null){text(f,b,(j==null?"below":j),(h==null?h:h+"label"))}}point=dot;function arrowhead(j,h){var a;var c=[j[0]*xunitlength+origin[0],height-j[1]*yunitlength-origin[1]];var b=[h[0]*xunitlength+origin[0],height-h[1]*yunitlength-origin[1]];var f=[b[0]-c[0],b[1]-c[1]];var k=Math.sqrt(f[0]*f[0]+f[1]*f[1]);if(k>1e-8){f=[f[0]/k,f[1]/k];a=[-f[1],f[0]];var g=myCreateElementSVG("path");g.setAttribute("d","M "+(b[0]-15*f[0]-4*a[0])+" "+(b[1]-15*f[1]-4*a[1])+" L "+(b[0]-3*f[0])+" "+(b[1]-3*f[1])+" L "+(b[0]-15*f[0]+4*a[0])+" "+(b[1]-15*f[1]+4*a[1])+" z");g.setAttribute("stroke-width",markerstrokewidth);g.setAttribute("stroke",stroke);g.setAttribute("fill",stroke);g.setAttribute("stroke-opacity",strokeopacity);g.setAttribute("fill-opacity",fillopacity);svgpicture.appendChild(g)}}function chopZ(b){var a=b.indexOf(".");if(a==-1){return b}for(var c=b.length-1;c>a&&b.charAt(c)=="0";c--){}if(c==a){c--}return b.slice(0,c+1)}function grid(b,a){axes(b,a,null,b,a)}function noaxes(){if(!initialized){initPicture()}}function axes(dx,dy,labels,gdx,gdy){var x,y,ldx,ldy,lx,ly,lxp,lyp,pnode,st;if(!initialized){initPicture()}if(typeof dx=="string"){labels=dx;dx=null}if(typeof dy=="string"){gdx=dy;dy=null}if(xscl!=null){dx=xscl;gdx=xscl;labels=dx}if(yscl!=null){dy=yscl;gdy=yscl}if(xtick!=null){dx=xtick}if(ytick!=null){dy=ytick}dx=(dx==null?xunitlength:dx*xunitlength);dy=(dy==null?dx:dy*yunitlength);fontsize=Math.min(dx/2,dy/2,16);ticklength=fontsize/4;if(xgrid!=null){gdx=xgrid}if(ygrid!=null){gdy=ygrid}if(gdx!=null){gdx=(typeof gdx=="string"?dx:gdx*xunitlength);gdy=(gdy==null?dy:gdy*yunitlength);pnode=myCreateElementSVG("path");st="";for(x=origin[0];x0;x=x-gdx){st+=" M"+x+",0 "+x+","+height}for(y=height-origin[1];y0;y=y-gdy){st+=" M0,"+y+" "+width+","+y}pnode.setAttribute("d",st);pnode.setAttribute("stroke-width",0.5);pnode.setAttribute("stroke",gridstroke);pnode.setAttribute("fill",fill);svgpicture.appendChild(pnode)}pnode=myCreateElementSVG("path");st="M0,"+(height-origin[1])+" "+width+","+(height-origin[1])+" M"+origin[0]+",0 "+origin[0]+","+height;for(x=origin[0]+dx;x0;x=x-dx){st+=" M"+x+","+(height-origin[1]+ticklength)+" "+x+","+(height-origin[1]-ticklength)}for(y=height-origin[1]+dy;y0;y=y-dy){st+=" M"+(origin[0]+ticklength)+","+y+" "+(origin[0]-ticklength)+","+y}if(labels!=null){with(Math){ldx=dx/xunitlength;ldy=dy/yunitlength;lx=(xmin>0||xmax<0?xmin:0);ly=(ymin>0||ymax<0?ymin:0);lxp=(ly==0?"below":"above");lyp=(lx==0?"left":"right");var ddx=floor(1.1-log(ldx)/log(10))+1;var ddy=floor(1.1-log(ldy)/log(10))+1;for(x=ldx;x<=xmax;x=x+ldx){text([x,ly],chopZ(x.toFixed(ddx)),lxp)}for(x=-ldx;xmin<=x;x=x-ldx){text([x,ly],chopZ(x.toFixed(ddx)),lxp)}for(y=ldy;y<=ymax;y=y+ldy){text([lx,y],chopZ(y.toFixed(ddy)),lyp)}for(y=-ldy;ymin<=y;y=y-ldy){text([lx,y],chopZ(y.toFixed(ddy)),lyp)}}}fontsize=defaultfontsize;pnode.setAttribute("d",st);pnode.setAttribute("stroke-width",0.5);pnode.setAttribute("stroke",axesstroke);pnode.setAttribute("fill",fill);pnode.setAttribute("stroke-opacity",strokeopacity);pnode.setAttribute("fill-opacity",fillopacity);svgpicture.appendChild(pnode)}function mathjs(c){c=c.replace(/\s/g,"");if(c.indexOf("^-1")!=-1){c=c.replace(/sin\^-1/g,"arcsin");c=c.replace(/cos\^-1/g,"arccos");c=c.replace(/tan\^-1/g,"arctan");c=c.replace(/sec\^-1/g,"arcsec");c=c.replace(/csc\^-1/g,"arccsc");c=c.replace(/cot\^-1/g,"arccot");c=c.replace(/sinh\^-1/g,"arcsinh");c=c.replace(/cosh\^-1/g,"arccosh");c=c.replace(/tanh\^-1/g,"arctanh");c=c.replace(/sech\^-1/g,"arcsech");c=c.replace(/csch\^-1/g,"arccsch");c=c.replace(/coth\^-1/g,"arccoth")}c=c.replace(/^e$/g,"(Math.E)");c=c.replace(/^e([^a-zA-Z])/g,"(Math.E)$1");c=c.replace(/([^a-zA-Z])e/g,"$1(Math.E)");c=c.replace(/([0-9])([\(a-zA-Z])/g,"$1*$2");c=c.replace(/\)([\(0-9a-zA-Z])/g,")*$1");var d,b,a,f,g;while((d=c.indexOf("^"))!=-1){if(d==0){return"Error: missing argument"}b=d-1;f=c.charAt(b);if(f>="0"&&f<="9"){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}if(f=="."){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}}}else{if(f==")"){g=1;b--;while(b>=0&&g>0){f=c.charAt(b);if(f=="("){g--}else{if(f==")"){g++}}b--}while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{if(f>="a"&&f<="z"||f>="A"&&f<="Z"){b--;while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{return"Error: incorrect syntax in "+c+" at position "+b}}}if(d==c.length-1){return"Error: missing argument"}a=d+1;f=c.charAt(a);if(f>="0"&&f<="9"||f=="-"){a++;while(a="0"&&f<="9"){a++}if(f=="."){a++;while(a="0"&&f<="9"){a++}}}else{if(f=="("){g=1;a++;while(a0){f=c.charAt(a);if(f=="("){g++}else{if(f==")"){g--}}a++}}else{if(f>="a"&&f<="z"||f>="A"&&f<="Z"){a++;while(a="a"&&f<="z"||f>="A"&&f<="Z"){a++}}else{return"Error: incorrect syntax in "+c+" at position "+a}}}c=c.slice(0,b+1)+"Math.pow("+c.slice(b+1,d)+","+c.slice(d+1,a)+")"+c.slice(a)}while((d=c.indexOf("!"))!=-1){if(d==0){return"Error: missing argument"}b=d-1;f=c.charAt(b);if(f>="0"&&f<="9"){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}if(f=="."){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}}}else{if(f==")"){g=1;b--;while(b>=0&&g>0){f=c.charAt(b);if(f=="("){g--}else{if(f==")"){g++}}b--}while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{if(f>="a"&&f<="z"||f>="A"&&f<="Z"){b--;while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{return"Error: incorrect syntax in "+c+" at position "+b}}}c=c.slice(0,b+1)+"factorial("+c.slice(b+1,d)+")"+c.slice(d+1)}return c}function plot(fun,x_min,x_max,points,id,endpts){var pth=[];var f=function(x){return x},g=fun;var name=null;if(typeof fun=="string"){eval("g = function(x){ with(Math) return "+mathjs(fun)+" }")}else{if(typeof fun=="object"){eval("f = function(t){ with(Math) return "+mathjs(fun[0])+" }");eval("g = function(t){ with(Math) return "+mathjs(fun[1])+" }")}}if(typeof x_min=="string"){name=x_min;x_min=xmin}else{name=id}var min=(x_min==null?xmin:x_min);var max=(x_max==null?xmax:x_max);var inc=max-min-0.000001*(max-min);inc=(points==null?inc/200:inc/points);var gt;for(var t=min;t<=max;t+=inc){gt=g(t);if(!(isNaN(gt)||Math.abs(gt)=="Infinity")){pth[pth.length]=[f(t),gt]}}path(pth,name,null,endpts);return pth}function slopefield(fun,dx,dy){var g=fun;if(typeof fun=="string"){eval("g = function(x,y){ with(Math) return "+mathjs(fun)+" }")}var gxy,x,y,u,v,dz;if(dx==null){dx=1}if(dy==null){dy=1}dz=Math.sqrt(dx*dx+dy*dy)/6;var x_min=Math.ceil(xmin/dx);var y_min=Math.ceil(ymin/dy);for(x=x_min;x<=xmax;x+=dx){for(y=y_min;y<=ymax;y+=dy){gxy=g(x,y);if(!isNaN(gxy)){if(Math.abs(gxy)=="Infinity"){u=0;v=dz}else{u=dz/Math.sqrt(1+gxy*gxy);v=gxy*u}line([x-u,y-v],[x+u,y+v])}}}}function show_props(c){var b="";for(var a=0;a\nResult:     \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
';function generic(){if(!init()){return}if(translateOnLoad){var b=document.getElementById("processasciimathinmoodle");if(b!=null){dsvglocation=b.className}if(b!=null||!checkforprocessasciimathinmoodle){translate();if(!noSVG&&translateASCIIsvg){drawPictures()}}var a=getElementsByClass(document,"div","ASCIIMathCalculator");if(!noMathML&&a.length>0){initASCIIMathCalculators(a)}}}if(typeof window.addEventListener!="undefined"){window.addEventListener("load",generic,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",generic,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",generic)}else{if(typeof window.onload=="function"){var existing=onload;window.onload=function(){existing();generic()}}else{window.onload=generic}}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Equation/Equation.js b/ccm-core/web/assets/xinha/plugins/Equation/Equation.js new file mode 100644 index 000000000..c2a25546b --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Equation/Equation.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function Equation(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"equation",tooltip:this._lc("Formula Editor"),image:c.imgURL("equation.gif","Equation"),textMode:false,action:function(d,f){b.buttonPress(d,f)}});a.addToolbarElement("equation","inserthorizontalrule",-1);mathcolor=a.Equation.mathcolor;mathfontfamily=a.Equation.mathfontfamily;this.enabled=!Xinha.is_ie;if(this.enabled){this.onBeforeSubmit=this.onBeforeUnload=function(){b.unParse()}}if(typeof AMprocessNode!="function"){Xinha._loadback(Xinha.getPluginDir("Equation")+"/ASCIIMathML.js",function(){translate()})}}Xinha.Config.prototype.Equation={mathcolor:"black",mathfontfamily:"serif"};Equation._pluginInfo={name:"ASCIIMathML Formula Editor",version:"2.3 (2008-01-26)",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"",sponsor:"",sponsor_url:"",license:"GNU/LGPL"};Equation.prototype._lc=function(a){return Xinha._lc(a,"Equation")};Equation.prototype.onGenerate=function(){this.parse()};Equation.prototype.onKeyPress=function(b){if(this.enabled){e=this.editor;var a=e._getFirstAncestor(e.getSelection(),["span"]);if(a&&a.className=="AM"){if(b.keyCode==8||b.keyCode==46||b.charCode){Xinha._stopEvent(b);return true}}}return false};Equation.prototype.onBeforeMode=function(a){if(this.enabled&&a=="textmode"){this.unParse()}};Equation.prototype.onMode=function(a){if(this.enabled&&a=="wysiwyg"){this.parse()}};Equation.prototype.parse=function(){if(this.enabled){var f=this.editor._doc;var b=f.getElementsByTagName("span");for(var a=0;a'+b+"")}}}if(this.enabled){this.parse()}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Equation/equation.js b/ccm-core/web/assets/xinha/plugins/Equation/equation.js deleted file mode 100644 index 465e67412..000000000 --- a/ccm-core/web/assets/xinha/plugins/Equation/equation.js +++ /dev/null @@ -1,146 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Equation/equation.js */ -function Equation(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"equation",tooltip:this._lc("Formula Editor"),image:_1.imgURL("equation.gif","Equation"),textMode:false,action:function(_4,id){ -_3.buttonPress(_4,id); -}}); -_2.addToolbarElement("equation","inserthorizontalrule",-1); -mathcolor=_2.Equation.mathcolor; -mathfontfamily=_2.Equation.mathfontfamily; -this.enabled=!Xinha.is_ie; -if(this.enabled){ -this.onBeforeSubmit=this.onBeforeUnload=function(){ -_3.unParse(); -}; -} -if(typeof AMprocessNode!="function"){ -Xinha._loadback(Xinha.getPluginDir("Equation")+"/ASCIIMathML.js",function(){ -translate(); -}); -} -} -Xinha.Config.prototype.Equation={"mathcolor":"black","mathfontfamily":"serif"}; -Equation._pluginInfo={name:"ASCIIMathML Formula Editor",version:"2.3 (2008-01-26)",developer:"Raimund Meyer",developer_url:"http://xinha.raimundmeyer.de",c_owner:"",sponsor:"",sponsor_url:"",license:"GNU/LGPL"}; -Equation.prototype._lc=function(_6){ -return Xinha._lc(_6,"Equation"); -}; -Equation.prototype.onGenerate=function(){ -this.parse(); -}; -Equation.prototype.onKeyPress=function(ev){ -if(this.enabled){ -e=this.editor; -var _8=e._getFirstAncestor(e.getSelection(),["span"]); -if(_8&&_8.className=="AM"){ -if(ev.keyCode==8||ev.keyCode==46||ev.charCode){ -Xinha._stopEvent(ev); -return true; -} -} -} -return false; -}; -Equation.prototype.onBeforeMode=function(_9){ -if(this.enabled&&_9=="textmode"){ -this.unParse(); -} -}; -Equation.prototype.onMode=function(_a){ -if(this.enabled&&_a=="wysiwyg"){ -this.parse(); -} -}; -Equation.prototype.parse=function(){ -if(this.enabled){ -var _b=this.editor._doc; -var _c=_b.getElementsByTagName("span"); -for(var i=0;i<_c.length;i++){ -var _e=_c[i]; -if(_e.className!="AM"){ -continue; -} -if(_e.innerHTML.indexOf(this.editor.cc)!=-1){ -_e.innerHTML=_e.innerHTML.replace(this.editor.cc,""); -_e.parentNode.insertBefore(_b.createTextNode(this.editor.cc),_e); -} -_e.title=_e.innerHTML; -var _f=_e.cloneNode(true); -try{ -document.adoptNode(_f); -} -catch(e){ -} -AMprocessNode(_f,false); -try{ -_b.adoptNode(_f); -} -catch(e){ -} -_e.parentNode.replaceChild(_f,_e); -_f.parentNode.insertBefore(_b.createTextNode(String.fromCharCode(32)),_f); -_f.parentNode.insertBefore(_b.createTextNode(String.fromCharCode(32)),_f.nextSibling); -} -} -}; -Equation.prototype.unParse=function(){ -var doc=this.editor._doc; -var _11=doc.getElementsByTagName("span"); -for(var i=0;i<_11.length;i++){ -var _13=_11[i]; -if(_13.className.indexOf("AM")==-1||_13.getElementsByTagName("math").length==0){ -continue; -} -var _14=_13.getAttribute("title"); -_13.innerHTML=_14; -_13.setAttribute("title",null); -} -}; -Equation.prototype.buttonPress=function(){ -var _15=this; -var _16=this.editor; -var _17={}; -_17["editor"]=_16; -var _18=_16._getFirstAncestor(_16.getSelection(),["span"]); -if(_18){ -_17["editedNode"]=_18; -} -Dialog(Xinha.getPluginDir("Equation")+"/popups/dialog.html",function(_19){ -_15.insert(_19); -},_17); -}; -Equation.prototype.insert=function(_1a){ -if(typeof _1a["formula"]!="undefined"){ -var _1b=(_1a["formula"]!="")?_1a["formula"].replace(/^`?(.*)`?$/m,"`$1`"):""; -if(_1a["editedNode"]&&(_1a["editedNode"].tagName.toLowerCase()=="span")){ -var _1c=_1a["editedNode"]; -if(_1b!=""){ -_1c.innerHTML=_1b; -if(this.enabled){ -_1c.title=_1b; -} -}else{ -_1c.parentNode.removeChild(_1c); -} -}else{ -if(!_1a["editedNode"]&&_1b!=""){ -if(this.enabled){ -var _1c=document.createElement("span"); -_1c.className="AM"; -this.editor.insertNodeAtSelection(_1c); -_1c.innerHTML=_1b; -_1c.title=_1b; -}else{ -this.editor.insertHTML(""+_1b+""); -} -} -} -if(this.enabled){ -this.parse(); -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html b/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html index 4ee910774..0b9b2ca43 100755 --- a/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html +++ b/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html @@ -39,6 +39,25 @@ - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/imagelist.css b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/imagelist.css deleted file mode 100755 index abd247d90..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/imagelist.css +++ /dev/null @@ -1,55 +0,0 @@ -body { margin: 0; padding: 0;} -.edit,.dir_holder .fileName, .thumb_holder .fileName { font-size: 8pt; font-family: small-caption, sans-serif; padding-top: 3px;} -.edit a { border: none; padding: 0; text-decoration:none; } -.edit a:hover { background-color: ButtonHighlight; } -.edit a img { border: none; vertical-align: bottom; } -.noResult { font-size:large; font-weight:bold; color:#ccc; font-family: Helvetica, sans-serif; text-align: center; padding-top: 60px; } -.error { color:#c00; font-weight:bold; font-size: medium; font-family: Helvetica, sans-serif; text-align: center; padding-top: 65px;} - -.dir_holder, .thumb_holder -{ - width:106px; height:132px; - float:left; - margin:6px 4px; - background-color:ButtonFace; - border: 1px outset; -} - -.thumb_holder.active -{ - background:Highlight; - color:HighlightText; - border:1px dashed Highlight; -} - -.dir_holder a.dir, .thumb_holder a.thumb -{ - height:85px; - display:block; - text-align:center; - padding:5px; - text-decoration:none; - overflow:hidden; -} - -.thumb_holder a.thumb img -{ - border:1px solid black; -} - -.dir_holder a.dir img -{ - border:none; -} - -.listview { width:100%; } -.listview td, .listview th { text-align:left; font-size:small; } -.listview td.actions { text-align: right;width:111px } -.listview td.actions img { border:0; } - -.listview thead th {background-color: ButtonFace; border: 1px solid threedface; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; padding-top:2px; padding-bottom:2px; padding-left: 5px; padding-right: 5px; font-size: 9pt; font-family: "MS Sans Serif", "Bitstream Vera Sans", Geneva, Sans, sans-serif;font-weight:normal} -.listview tbody td, .listview tbody th {overflow:hidden; padding-top:2px; padding-left: 3px; font-size: 9pt; font-family: "MS Sans Serif", "Bitstream Vera Sans", Geneva, Sans, sans-serif;} -.listview tbody a, listview tbody a:visited { font-weight: normal; text-decoration: none; color: #000; border:0px; padding:2px;} -.listview tbody a:hover { background-color:#0B256B; color:#fff;} - -.listview tbody tr:hover {background-color: rgb(221,221,255)}; diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/images.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/images.js deleted file mode 100644 index 09b95390b..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/images.js +++ /dev/null @@ -1,245 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/assets/images.js */ -function i18n(_1){ -return Xinha._lc(_1,"ExtendedFileManager"); -} -function changeDir(_2){ -showMessage("Loading"); -var _3=window.top.document.getElementById("manager_mode").value; -var _4=window.top.document.getElementById("viewtype"); -var _5=_4.options[_4.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_3+"&dir="+_2+"&viewtype="+_5; -document.cookie="EFMStartDir"+_3+"="+_2; -} -function newFolder(_6,_7){ -var _8=window.top.document.getElementById("manager_mode").value; -var _9=window.top.document.getElementById("viewtype"); -var _a=_9.options[_9.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_8+"&dir="+_6+"&newDir="+_7+"&viewtype="+_a; -} -function renameFile(_b){ -var _c=_b.replace(/.*%2F/,"").replace(/\..*$/,""); -var _d=function(_e){ -if(_e==""||_e==null||_e==_c){ -alert(i18n("Cancelled rename.")); -return false; -} -var _f=window.top.document.getElementById("manager_mode").value; -var _10=window.top.document.getElementById("dirPath"); -var dir=_10.options[_10.selectedIndex].value; -_10=window.top.document.getElementById("viewtype"); -var _12=_10.options[_10.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_f+"&dir="+dir+"&rename="+_b+"&renameTo="+_e+"&viewtype="+_12; -}; -if(Xinha.ie_version>6){ -popupPrompt(i18n("Please enter new name for this file..."),_c,_d,i18n("Rename")); -}else{ -var _13=prompt(i18n("Please enter new name for this file..."),_c); -_d(_13); -} -} -function renameDir(_14){ -function rename(_15){ -if(_15==""||_15==null||_15==_14){ -alert(i18n("Cancelled rename.")); -return false; -} -var _16=window.top.document.getElementById("manager_mode").value; -var _17=window.top.document.getElementById("dirPath"); -var dir=_17.options[_17.selectedIndex].value; -_17=window.top.document.getElementById("viewtype"); -var _19=_17.options[_17.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_16+"&dir="+dir+"&rename="+_14+"&renameTo="+_15+"&viewtype="+_19; -} -if(Xinha.ie_version>6){ -popupPrompt(i18n("Please enter new name for this folder..."),_14,rename,i18n("Rename")); -}else{ -var _1a=prompt(i18n("Please enter new name for this folder..."),_14); -rename(_1a); -} -} -function copyFile(_1b,_1c){ -var _1d=window.top.document.getElementById("dirPath"); -var dir=_1d.options[_1d.selectedIndex].value; -window.top.pasteButton({"dir":dir,"file":_1b,"action":_1c+"File"}); -} -function copyDir(_1f,_20){ -var _21=window.top.document.getElementById("dirPath"); -var dir=_21.options[_21.selectedIndex].value; -window.top.pasteButton({"dir":dir,"file":_1f,"action":_20+"Dir"}); -} -function paste(_23){ -var _24=window.top.document.getElementById("manager_mode").value; -var _25=window.top.document.getElementById("dirPath"); -var dir=_25.options[_25.selectedIndex].value; -_25=window.top.document.getElementById("viewtype"); -var _27=_25.options[_25.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_24+"&dir="+dir+"&paste="+_23.action+"&srcdir="+_23.dir+"&file="+_23.file+"&viewtype="+_27; -} -function updateDir(_28){ -var _29=window.top.document.getElementById("manager_mode").value; -document.cookie="EFMStartDir"+_29+"="+_28; -var _2a=window.top.document.getElementById("dirPath"); -if(_2a){ -for(var i=0;i<_2a.length;i++){ -var _2c=_2a.options[i].text; -if(_2c==_28){ -_2a.selectedIndex=i; -showMessage("Loading"); -break; -} -} -} -} -function emptyProperties(){ -toggleImageProperties(false); -var _2d=window.top.document; -_2d.getElementById("f_url").value=""; -_2d.getElementById("f_alt").value=""; -_2d.getElementById("f_title").value=""; -_2d.getElementById("f_width").value=""; -_2d.getElementById("f_margin").value=""; -_2d.getElementById("f_height").value=""; -_2d.getElementById("f_padding").value=""; -_2d.getElementById("f_border").value=""; -_2d.getElementById("f_borderColor").value=""; -_2d.getElementById("f_backgroundColor").value=""; -} -function toggleImageProperties(val){ -var _2f=window.top.document; -if(val==true){ -_2f.getElementById("f_width").value=""; -_2f.getElementById("f_margin").value=""; -_2f.getElementById("f_height").value=""; -_2f.getElementById("f_padding").value=""; -_2f.getElementById("f_border").value=""; -_2f.getElementById("f_borderColor").value=""; -_2f.getElementById("f_backgroundColor").value=""; -} -_2f.getElementById("f_width").disabled=val; -_2f.getElementById("f_margin").disabled=val; -_2f.getElementById("f_height").disabled=val; -_2f.getElementById("f_padding").disabled=val; -_2f.getElementById("f_align").disabled=val; -_2f.getElementById("f_border").disabled=val; -_2f.getElementById("f_borderColor").value=""; -_2f.getElementById("f_backgroundColor").value=""; -_2f.getElementById("constrain_prop").disabled=val; -} -function selectImage(_30,alt,_32,_33){ -var _34=window.top.document; -if(_34.getElementById("manager_mode").value=="image"){ -var obj=_34.getElementById("f_url"); -obj.value=_30; -obj=_34.getElementById("f_alt"); -obj.value=alt; -obj=_34.getElementById("f_title"); -obj.value=alt; -if(_32==0&&_33==0){ -toggleImageProperties(true); -}else{ -toggleImageProperties(false); -var obj=_34.getElementById("f_width"); -obj.value=_32; -var obj=_34.getElementById("f_height"); -obj.value=_33; -var obj=_34.getElementById("orginal_width"); -obj.value=_32; -var obj=_34.getElementById("orginal_height"); -obj.value=_33; -update_selected(); -} -}else{ -if(_34.getElementById("manager_mode").value=="link"){ -var obj=_34.getElementById("f_href"); -obj.value=_30; -var obj=_34.getElementById("f_title"); -obj.value=alt; -} -} -return false; -} -var _current_selected=null; -function update_selected(){ -var _36=window.top.document; -if(_current_selected){ -_current_selected.className=_current_selected.className.replace(/(^| )active( |$)/,"$1$2"); -_current_selected=null; -} -var _37=_36.getElementById("f_url").value; -var _38=_36.getElementById("dirPath"); -var _39=_38.options[_38.selectedIndex].text; -var dRe=new RegExp("^("+_39.replace(/([\/\^$*+?.()|{}[\]])/g,"\\$1")+")([^/]*)$"); -if(dRe.test(_37)){ -var _3b=document.getElementById("holder_"+asc2hex(RegExp.$2)); -if(_3b){ -_current_selected=_3b; -_3b.className+=" active"; -} -} -showPreview(_37); -} -function asc2hex(str){ -var _3d=""; -for(var i=0;i=0;){ -var op=_3[i]; -op.selected=(op.value==_2); -} -c.value=_2; -} -function i18n(_6){ -return Xinha._lc(_6,"ExtendedFileManager"); -} -function setAlign(_7){ -var _8=document.getElementById("f_align"); -for(var i=0;i<_8.length;i++){ -if(_8.options[i].value==_7){ -_8.selectedIndex=i; -break; -} -} -} -function onTargetChanged(){ -var f=document.getElementById("f_other_target"); -if(this.value=="_other"){ -f.style.visibility="visible"; -f.select(); -f.focus(); -}else{ -f.style.visibility="hidden"; -} -} -function init(){ -if(typeof imgManager=="undefined"){ -setTimeout(init,10); -return; -} -var w=650; -var h=600; -window.resizeTo(w,h); -var _d=Xinha.pageSize(window); -window.resizeTo(w,h); -var _e=Xinha.viewportSize(window); -window.resizeBy(0,_d.y-_e.y+5); -_e=Xinha.viewportSize(window); -if(!Xinha.is_ie){ -var x=opener.screenX+(opener.outerWidth-_e.x)/2; -var y=opener.screenY+(opener.outerHeight-_e.x)/2; -}else{ -var x=(self.screen.availWidth-_e.x)/2; -var y=(self.screen.availHeight-_e.y)/2; -} -window.moveTo(x,y); -__xinha_dlg_init(); -__dlg_translate("ExtendedFileManager"); -var _11=document.getElementById("uploadForm"); -if(_11){ -_11.target="imgManager"; -} -var _12=window.dialogArguments.editor; -var _13=window.dialogArguments.param; -var _14=null; -if(manager_mode=="image"&&_13){ -var _15=new RegExp("^https?://"); -if(_13.f_url.length>0&&!_15.test(_13.f_url)&&typeof _13.baseHref=="string"){ -_13.f_url=_13.baseHref+_13.f_url; -} -var _16=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,"")); -_13.f_url=_13.f_url.replace(_16,""); -var rd=(_resized_dir)?_resized_dir.replace(Xinha.RE_Specials,"\\$1")+"/":""; -var rp=_resized_prefix.replace(Xinha.RE_Specials,"\\$1"); -var _19=new RegExp("^(.*/)"+rd+rp+"_([0-9]+)x([0-9]+)_([^/]+)$"); -var _1a=_13.f_url.match(_19); -if(_19.test(_13.f_url)){ -_13.f_url=RegExp.$1+RegExp.$4; -_13.f_width=RegExp.$2; -_13.f_height=RegExp.$3; -} -document.getElementById("f_url").value=_13["f_url"]; -document.getElementById("f_alt").value=_13["f_alt"]; -document.getElementById("f_title").value=_13["f_title"]; -document.getElementById("f_border").value=_13["f_border"]; -document.getElementById("f_width").value=_13["f_width"]; -document.getElementById("f_height").value=_13["f_height"]; -document.getElementById("f_margin").value=_13["f_margin"]; -document.getElementById("f_padding").value=_13["f_padding"]; -document.getElementById("f_borderColor").value=_13["f_borderColor"]; -document.getElementById("f_backgroundColor").value=_13["f_backgroundColor"]; -setAlign(_13["f_align"]); -document.getElementById("f_url").focus(); -document.getElementById("orginal_width").value=_13["f_width"]; -document.getElementById("orginal_height").value=_13["f_height"]; -var _19=new RegExp("^(.*/)([^/]+)$"); -if(_19.test(_13["f_url"])){ -_14=RegExp.$1; -} -document.getElementById("f_preview").src=_backend_url+"__function=thumbs&img="+_13.f_url; -}else{ -if(manager_mode=="link"&&_13){ -var _1b=document.getElementById("f_target"); -var _1c=true; -var _15=new RegExp("^https?://"); -if(_13.f_href.length>0&&!_15.test(_13.f_href)&&typeof _13.baseHref=="string"){ -_13.f_href=_13.baseHref+_13.f_href; -} -var _1d=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,"")); -_13.f_href=_13.f_href.replace(_1d,""); -var _19=new RegExp("^(.*/)([^/]+)$"); -if(_19.test(_13["f_href"])){ -_14=RegExp.$1; -}else{ -_14=document.cookie.match(/EFMStartDirlink=(.*?)(;|$)/); -if(_14){ -_14=_14[1]; -} -} -if(_13){ -if(typeof _13["f_usetarget"]!="undefined"){ -_1c=_13["f_usetarget"]; -} -if(typeof _13["f_href"]!="undefined"){ -document.getElementById("f_href").value=_13["f_href"]; -document.getElementById("f_title").value=_13["f_title"]; -comboSelectValue(_1b,_13["f_target"]); -if(_1b.value!=_13.f_target){ -var opt=document.createElement("option"); -opt.value=_13.f_target; -opt.innerHTML=opt.value; -_1b.appendChild(opt); -opt.selected=true; -} -} -} -if(!_1c){ -document.getElementById("f_target_label").style.visibility="hidden"; -document.getElementById("f_target").style.visibility="hidden"; -document.getElementById("f_other_target").style.visibility="hidden"; -} -var opt=document.createElement("option"); -opt.value="_other"; -opt.innerHTML=i18n("Other"); -_1b.appendChild(opt); -_1b.onchange=onTargetChanged; -document.getElementById("f_href").focus(); -}else{ -if(!_13){ -_14=document.cookie.match(new RegExp("EFMStartDir"+manager_mode+"=(.*?)(;|$)")); -if(_14){ -_14=_14[1]; -} -} -} -} -if(_14){ -iframeUrl+="&dir="+_14; -var _1f=document.getElementById("dirPath"); -for(var i=0;i<_1f.options.length;i++){ -if(_1f.options[i].value==encodeURIComponent(_14)){ -_1f.options[i].selected=true; -break; -} -} -} -imgManager.location.replace(iframeUrl); -if(manager_mode=="image"&&typeof Xinha.colorPicker!="undefined"&&document.getElementById("f_backgroundColor")&&document.getElementById("f_backgroundColor").type=="text"){ -var _21={cellsize:_12.config.colorPickerCellSize,granularity:_12.config.colorPickerGranularity,websafe:_12.config.colorPickerWebSafe,savecolors:_12.config.colorPickerSaveColors}; -new Xinha.colorPicker.InputBinding(document.getElementById("f_backgroundColor"),_21); -new Xinha.colorPicker.InputBinding(document.getElementById("f_borderColor"),_21); -} -setTimeout(function(){ -resize(); -addEvent(window,"resize",resize); -},500); -} -function pasteButton(_22){ -var _23=document.getElementById("pasteBtn"); -if(!_23.firstChild){ -var a=document.createElement("a"); -a.href="javascript:void(0);"; -var img=document.createElement("img"); -img.src=window.opener.Xinha.getPluginDir("ExtendedFileManager")+"/img/edit_paste.gif"; -img.alt=i18n("Paste"); -a.appendChild(img); -_23.appendChild(a); -} -_23.onclick=function(){ -if(typeof imgManager!="undefined"){ -imgManager.paste(_22); -} -if(_22.action=="moveFile"||_22.action=="moveDir"){ -this.onclick=null; -this.removeChild(this.firstChild); -} -}; -switch(_22.action){ -case "copyFile": -_23.firstChild.title=i18n("Copy \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -case "copyDir": -_23.firstChild.title=i18n("Copy folder \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -case "moveFile": -_23.firstChild.title=i18n("Move \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -break; -case "moveDir": -_23.firstChild.title=i18n("Move folder \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -} -} -function onCancel(){ -__dlg_close(null); -return false; -} -function onOK(){ -if(manager_mode=="image"){ -var _26=["f_url","f_alt","f_title","f_align","f_border","f_margin","f_padding","f_height","f_width","f_borderColor","f_backgroundColor"]; -var _27=new Object(); -for(var i in _26){ -var id=_26[i]; -var el=document.getElementById(id); -if(id=="f_url"&&el.value.indexOf("://")<0&&el.value){ -_27[id]=makeURL(base_url,el.value); -}else{ -_27[id]=el.value; -} -} -var _2b={w:document.getElementById("orginal_width").value,h:document.getElementById("orginal_height").value}; -if((_2b.w!=_27.f_width)||(_2b.h!=_27.f_height)){ -var _2c=Xinha._geturlcontent(window.opener.Xinha.getPluginDir("ExtendedFileManager")+"/"+_backend_url+"&__function=resizer&img="+encodeURIComponent(document.getElementById("f_url").value)+"&width="+_27.f_width+"&height="+_27.f_height); -_2c=eval(_2c); -if(_2c){ -_27.f_url=makeURL(base_url,_2c); -} -} -__dlg_close(_27); -return false; -}else{ -if(manager_mode=="link"){ -var _2d={}; -for(var i in _2d){ -var el=document.getElementById(i); -if(!el.value){ -alert(_2d[i]); -el.focus(); -return false; -} -} -var _26=["f_href","f_title","f_target"]; -var _27=new Object(); -for(var i in _26){ -var id=_26[i]; -var el=document.getElementById(id); -if(id=="f_href"&&el.value.indexOf("://")<0){ -_27[id]=makeURL(base_url,el.value); -}else{ -_27[id]=el.value; -} -} -if(_27.f_target=="_other"){ -_27.f_target=document.getElementById("f_other_target").value; -} -__dlg_close(_27); -return false; -} -} -} -function makeURL(_2e,_2f){ -if(_2e.substring(_2e.length-1)!="/"){ -_2e+="/"; -} -if(_2f.charAt(0)=="/"){ -} -_2f=_2f.substring(1); -return _2e+_2f; -} -function updateDir(_30){ -var _31=_30.options[_30.selectedIndex].value; -changeDir(_31); -} -function goUpDir(){ -var _32=document.getElementById("dirPath"); -var _33=_32.options[_32.selectedIndex].text; -if(_33.length<2){ -return false; -} -var _34=_33.split("/"); -var _35=""; -for(var i=0;i<_34.length-2;i++){ -_35+=_34[i]+"/"; -} -for(var i=0;i<_32.length;i++){ -var _37=_32.options[i].text; -if(_37==_35){ -_32.selectedIndex=i; -var _38=_32.options[i].value; -changeDir(_38); -break; -} -} -} -function changeDir(_39){ -if(typeof imgManager!="undefined"){ -imgManager.changeDir(_39); -} -} -function updateView(){ -refresh(); -} -function toggleConstrains(_3a){ -var _3b=document.getElementById("imgLock"); -var _3a=document.getElementById("constrain_prop"); -if(_3a.checked){ -_3b.src="img/locked.gif"; -checkConstrains("width"); -}else{ -_3b.src="img/unlocked.gif"; -} -} -function checkConstrains(_3c){ -var _3d=document.getElementById("constrain_prop"); -if(_3d.checked){ -var obj=document.getElementById("orginal_width"); -var _3f=parseInt(obj.value); -var obj=document.getElementById("orginal_height"); -var _40=parseInt(obj.value); -var _41=document.getElementById("f_width"); -var _42=document.getElementById("f_height"); -var _43=parseInt(_41.value); -var _44=parseInt(_42.value); -if(_3f>0&&_40>0){ -if(_3c=="width"&&_43>0){ -_42.value=parseInt((_43/_3f)*_40); -} -if(_3c=="height"&&_44>0){ -_41.value=parseInt((_44/_40)*_3f); -} -} -} -} -function showMessage(_45){ -var _46=document.getElementById("message"); -var _47=document.getElementById("messages"); -if(_46.firstChild){ -_46.removeChild(_46.firstChild); -} -_46.appendChild(document.createTextNode(i18n(_45))); -_47.style.display="block"; -} -function addEvent(obj,_49,fn){ -if(obj.addEventListener){ -obj.addEventListener(_49,fn,true); -return true; -}else{ -if(obj.attachEvent){ -var r=obj.attachEvent("on"+_49,fn); -return r; -}else{ -return false; -} -} -} -function doUpload(){ -var _4c=document.getElementById("uploadForm"); -if(_4c){ -showMessage("Uploading"); -} -} -function refresh(){ -var _4d=document.getElementById("dirPath"); -updateDir(_4d); -} -function newFolder(){ -function createFolder(_4e){ -var _4f=document.getElementById("dirPath"); -var dir=_4f.options[_4f.selectedIndex].value; -if(_4e==thumbdir){ -alert(i18n("Invalid folder name, please choose another folder name.")); -return false; -} -if(_4e&&_4e!=""&&typeof imgManager!="undefined"){ -imgManager.newFolder(dir,encodeURI(_4e)); -} -} -if(Xinha.ie_version>6){ -popupPrompt(i18n("Please enter name for new folder..."),i18n("Untitled"),createFolder,i18n("New Folder")); -}else{ -var _51=prompt(i18n("Please enter name for new folder..."),i18n("Untitled")); -createFolder(_51); -} -} -function resize(){ -var win=Xinha.viewportSize(window); -var m=document.getElementById("messages"); -var _54=(m&&m.style.display!="none")?parseInt(document.getElementById("messages").offsetHeight,10):0; -document.getElementById("imgManager").style.height=parseInt(win.y-130-document.getElementById("controls").offsetHeight,10)-_54+"px"; -return true; -} -Xinha.addOnloadHandler(init,window); - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/popup.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/popup.js deleted file mode 100644 index 76f545e45..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/popup.js +++ /dev/null @@ -1,71 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/assets/popup.js */ -function __dlg_onclose(){ -if(opener.Dialog._return){ -opener.Dialog._return(null); -} -} -function __dlg_init(_1,_2){ -__xinha_dlg_init(_2); -} -function __xinha_dlg_init(_3){ -if(window.__dlg_init_done){ -return true; -} -if(window.opener._editor_skin){ -var _4=document.getElementsByTagName("head")[0]; -var _5=document.createElement("link"); -_5.type="text/css"; -_5.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css"; -_5.rel="stylesheet"; -_4.appendChild(_5); -} -if(!window.dialogArguments&&opener.Dialog._arguments){ -window.dialogArguments=opener.Dialog._arguments; -} -Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc); -window.__dlg_init_done=true; -} -function __dlg_translate(_6){ -var _7=["span","option","td","th","button","div","label","a","img","legend"]; -for(var _8=0;_8<_7.length;_8++){ -var _9=document.getElementsByTagName(_7[_8]); -for(var i=_9.length;--i>=0;){ -var _b=_9[i]; -if(_b.firstChild&&_b.firstChild.data){ -var _c=Xinha._lc(_b.firstChild.data,_6); -if(_c){ -_b.firstChild.data=_c; -} -} -if(_b.title){ -var _c=Xinha._lc(_b.title,_6); -if(_c){ -_b.title=_c; -} -} -if(_b.alt){ -var _c=Xinha._lc(_b.alt,_6); -if(_c){ -_b.alt=_c; -} -} -} -} -document.title=Xinha._lc(document.title,_6); -} -function __dlg_close(_d){ -opener.Dialog._return(_d); -window.close(); -} -function popupPrompt(_e,_f,_10,_11){ -Dialog("prompt.html",function(_12){ -if(!_12){ -return false; -}else{ -_10(_12.value); -} -},{prompt:_e,value:_f,title:_11}); -} - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/slider.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/slider.js deleted file mode 100644 index ccb27b0c5..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/slider.js +++ /dev/null @@ -1,87 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/assets/slider.js */ -var ie=document.all; -var ns6=document.getElementById&&!document.all; -document.onmouseup=captureStop; -var currentSlider=null,sliderField=null; -var rangeMin=null,rangeMax=null,sx=-1,sy=-1,initX=0; -function getMouseXY(e){ -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -if(sx<0){ -sx=x; -} -if(sy<0){ -sy=y; -} -var dx=initX+(x-sx); -if(dx<=rangeMin){ -dx=rangeMin; -}else{ -if(dx>=rangeMax){ -dx=rangeMax; -} -} -var _3=(dx-rangeMin)/(rangeMax-rangeMin)*100; -if(currentSlider!=null){ -currentSlider.style.left=dx+"px"; -} -if(sliderField!=null){ -sliderField.value=parseInt(_3); -} -return false; -} -function initSlider(){ -if(currentSlider==null){ -currentSlider=document.getElementById("sliderbar"); -} -if(sliderField==null){ -sliderField=document.getElementById("quality"); -} -if(rangeMin==null){ -rangeMin=3; -} -if(rangeMax==null){ -var _4=document.getElementById("slidertrack"); -rangeMax=parseInt(_4.style.width); -} -} -function updateSlider(_5){ -initSlider(); -var _6=parseInt(_5)/100*(rangeMax-rangeMin); -if(_6<=rangeMin){ -_6=rangeMin; -}else{ -if(_6>=rangeMax){ -_6=rangeMax; -} -} -if(currentSlider!=null){ -currentSlider.style.left=_6+"px"; -} -var _7=_6/(rangeMax-rangeMin)*100; -if(sliderField!=null){ -sliderField.value=parseInt(_7); -} -} -function captureStart(){ -initSlider(); -initX=parseInt(currentSlider.style.left); -if(initX>rangeMax){ -initX=rangeMax; -}else{ -if(initX"; -} -function _mkDivIe(x,y,w,h){ -this.htm+="%%"+this.color+";"+x+";"+y+";"+w+";"+h+";"; -} -function _mkDivPrt(x,y,w,h){ -this.htm+="
"; -} -var _regex=/%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g; -function _htmRpc(){ -return this.htm.replace(_regex,"
\n"); -} -function _htmPrtRpc(){ -return this.htm.replace(_regex,"
\n"); -} -function _mkLin(x1,y1,x2,y2){ -if(x1>x2){ -var _x2=x2; -var _y2=y2; -x2=x1; -y2=y1; -x1=_x2; -y1=_y2; -} -var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1; -if(dx>=dy){ -var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x; -while(dx>0){ ---dx; -++x; -if(p>0){ -this._mkDiv(ox,y,x-ox,1); -y+=yIncr; -p+=pru; -ox=x; -}else{ -p+=pr; -} -} -this._mkDiv(ox,y,x2-ox+1,1); -}else{ -var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y; -if(y2<=y1){ -while(dy>0){ ---dy; -if(p>0){ -this._mkDiv(x++,y,1,oy-y+1); -y+=yIncr; -p+=pru; -oy=y; -}else{ -y+=yIncr; -p+=pr; -} -} -this._mkDiv(x2,y2,1,oy-y2+1); -}else{ -while(dy>0){ ---dy; -y+=yIncr; -if(p>0){ -this._mkDiv(x++,oy,1,y-oy); -p+=pru; -oy=y; -}else{ -p+=pr; -} -} -this._mkDiv(x2,oy,1,y2-oy+1); -} -} -} -function _mkLin2D(x1,y1,x2,y2){ -if(x1>x2){ -var _x2=x2; -var _y2=y2; -x2=x1; -y2=y1; -x1=_x2; -y1=_y2; -} -var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1; -var s=this.stroke; -if(dx>=dy){ -if(dx>0&&s-3>0){ -var _s=(s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy)/dx; -_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1; -}else{ -var _s=s; -} -var ad=Math.ceil(s/2); -var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x; -while(dx>0){ ---dx; -++x; -if(p>0){ -this._mkDiv(ox,y,x-ox+ad,_s); -y+=yIncr; -p+=pru; -ox=x; -}else{ -p+=pr; -} -} -this._mkDiv(ox,y,x2-ox+ad+1,_s); -}else{ -if(s-3>0){ -var _s=(s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy)/dy; -_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1; -}else{ -var _s=s; -} -var ad=Math.round(s/2); -var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y; -if(y2<=y1){ -++ad; -while(dy>0){ ---dy; -if(p>0){ -this._mkDiv(x++,y,_s,oy-y+ad); -y+=yIncr; -p+=pru; -oy=y; -}else{ -y+=yIncr; -p+=pr; -} -} -this._mkDiv(x2,y2,_s,oy-y2+ad); -}else{ -while(dy>0){ ---dy; -y+=yIncr; -if(p>0){ -this._mkDiv(x++,oy,_s,y-oy+ad); -p+=pru; -oy=y; -}else{ -p+=pr; -} -} -this._mkDiv(x2,oy,_s,y2-oy+ad+1); -} -} -} -function _mkLinDott(x1,y1,x2,y2){ -if(x1>x2){ -var _x2=x2; -var _y2=y2; -x2=x1; -y2=y1; -x1=_x2; -y1=_y2; -} -var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1,drw=true; -if(dx>=dy){ -var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx; -while(dx>0){ ---dx; -if(drw){ -this._mkDiv(x,y,1,1); -} -drw=!drw; -if(p>0){ -y+=yIncr; -p+=pru; -}else{ -p+=pr; -} -++x; -} -}else{ -var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy; -while(dy>0){ ---dy; -if(drw){ -this._mkDiv(x,y,1,1); -} -drw=!drw; -y+=yIncr; -if(p>0){ -++x; -p+=pru; -}else{ -p+=pr; -} -} -} -if(drw){ -this._mkDiv(x,y,1,1); -} -} -function _mkOv(_2b,top,_2d,_2e){ -var a=(++_2d)>>1,b=(++_2e)>>1,wod=_2d&1,hod=_2e&1,cx=_2b+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),w,h; -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -w=x-ox; -h=oy-y; -if((w&2)&&(h&2)){ -this._mkOvQds(cx,cy,x-2,y+2,1,1,wod,hod); -this._mkOvQds(cx,cy,x-1,y+1,1,1,wod,hod); -}else{ -this._mkOvQds(cx,cy,x-1,oy,w,h,wod,hod); -} -ox=x; -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -} -w=a-ox+1; -h=(oy<<1)+hod; -y=cy-oy; -this._mkDiv(cx-a,y,w,h); -this._mkDiv(cx+ox+wod-1,y,w,h); -} -function _mkOv2D(_30,top,_32,_33){ -var s=this.stroke; -_32+=s+1; -_33+=s+1; -var a=_32>>1,b=_33>>1,wod=_32&1,hod=_33&1,cx=_30+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1); -if(s-4<0&&(!(s-2)||_32-51>0&&_33-51>0)){ -var ox=0,oy=b,w,h,pxw; -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -w=x-ox; -h=oy-y; -if(w-1){ -pxw=w+1+(s&1); -h=s; -}else{ -if(h-1){ -pxw=s; -h+=1+(s&1); -}else{ -pxw=h=s; -} -} -this._mkOvQds(cx,cy,x-1,oy,pxw,h,wod,hod); -ox=x; -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -} -this._mkDiv(cx-a,cy-oy,s,(oy<<1)+hod); -this._mkDiv(cx+a+wod-s,cy-oy,s,(oy<<1)+hod); -}else{ -var _a=(_32-(s<<1))>>1,_b=(_33-(s<<1))>>1,_x=0,_y=_b,_aa2=(_a*_a)<<1,_aa4=_aa2<<1,_bb2=(_b*_b)<<1,_bb4=_bb2<<1,_st=(_aa2>>1)*(1-(_b<<1))+_bb2,_tt=(_bb2>>1)-_aa2*((_b<<1)-1),pxl=new Array(),pxt=new Array(),_pxb=new Array(); -pxl[0]=0; -pxt[0]=b; -_pxb[0]=_b-1; -while(y>0){ -if(st<0){ -pxl[pxl.length]=x; -pxt[pxt.length]=y; -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -pxl[pxl.length]=x; -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -pxt[pxt.length]=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -if(_y>0){ -if(_st<0){ -_st+=_bb2*((_x<<1)+3); -_tt+=_bb4*(++_x); -_pxb[_pxb.length]=_y-1; -}else{ -if(_tt<0){ -_st+=_bb2*((_x<<1)+3)-_aa4*(_y-1); -_tt+=_bb4*(++_x)-_aa2*(((_y--)<<1)-3); -_pxb[_pxb.length]=_y-1; -}else{ -_tt-=_aa2*((_y<<1)-3); -_st-=_aa4*(--_y); -_pxb[_pxb.length-1]--; -} -} -} -} -var ox=-wod,oy=b,_oy=_pxb[0],l=pxl.length,w,h; -for(var i=0;i>1,b=(++_3c)>>1,wod=_3b&1,hod=_3c&1,hodu=hod^1,cx=_39+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),drw=true; -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -if(drw&&y>=hodu){ -this._mkOvQds(cx,cy,x,y,1,1,wod,hod); -} -drw=!drw; -} -} -function _mkRect(x,y,w,h){ -var s=this.stroke; -this._mkDiv(x,y,w,s); -this._mkDiv(x+w,y,s,h); -this._mkDiv(x,y+h,w+s,s); -this._mkDiv(x,y+s,s,h-s); -} -function _mkRectDott(x,y,w,h){ -this.drawLine(x,y,x+w,y); -this.drawLine(x+w,y,x+w,y+h); -this.drawLine(x,y+h,x+w,y+h); -this.drawLine(x,y,x,y+h); -} -function jsgFont(){ -this.PLAIN="font-weight:normal;"; -this.BOLD="font-weight:bold;"; -this.ITALIC="font-style:italic;"; -this.ITALIC_BOLD=this.ITALIC+this.BOLD; -this.BOLD_ITALIC=this.ITALIC_BOLD; -} -var Font=new jsgFont(); -function jsgStroke(){ -this.DOTTED=-1; -} -var Stroke=new jsgStroke(); -function jsGraphics(cnv,wnd){ -this.setColor=function(x){ -this.color=x.toLowerCase(); -}; -this.setStroke=function(x){ -this.stroke=x; -if(!(x+1)){ -this.drawLine=_mkLinDott; -this._mkOv=_mkOvDott; -this.drawRect=_mkRectDott; -}else{ -if(x-1>0){ -this.drawLine=_mkLin2D; -this._mkOv=_mkOv2D; -this.drawRect=_mkRect; -}else{ -this.drawLine=_mkLin; -this._mkOv=_mkOv; -this.drawRect=_mkRect; -} -} -}; -this.setPrintable=function(arg){ -this.printable=arg; -if(jg_fast){ -this._mkDiv=_mkDivIe; -this._htmRpc=arg?_htmPrtRpc:_htmRpc; -}else{ -this._mkDiv=arg?_mkDivPrt:_mkDiv; -} -}; -this.setFont=function(fam,sz,sty){ -this.ftFam=fam; -this.ftSz=sz; -this.ftSty=sty||Font.PLAIN; -}; -this.drawPolyline=this.drawPolyLine=function(x,y){ -for(var i=x.length-1;i;){ ---i; -this.drawLine(x[i],y[i],x[i+1],y[i+1]); -} -}; -this.setColor=new Function("arg","this.color = arg;"); -this.getColor=new Function("return this.color"); -this.fillRect=function(x,y,w,h){ -this._mkDiv(x,y,w,h); -}; -this.fillRectPattern=function(x,y,w,h,url){ -this.htm+="
"; -}; -this.drawHandle=function(x,y,w,h,_5f){ -this.htm+="
"; -}; -this.drawHandleBox=function(x,y,w,h,_64){ -this.htm+="
"; -}; -this.drawPolygon=function(x,y){ -this.drawPolyline(x,y); -this.drawLine(x[x.length-1],y[x.length-1],x[0],y[0]); -}; -this.drawEllipse=this.drawOval=function(x,y,w,h){ -this._mkOv(x,y,w,h); -}; -this.fillEllipse=this.fillOval=function(_6b,top,w,h){ -var a=w>>1,b=h>>1,wod=w&1,hod=h&1,cx=_6b+a,cy=top+b,x=0,y=b,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),xl,dw,dh; -if(w){ -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -xl=cx-x; -dw=(x<<1)+wod; -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -dh=oy-y; -this._mkDiv(xl,cy-oy,dw,dh); -this._mkDiv(xl,cy+y+hod,dw,dh); -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -} -} -this._mkDiv(cx-a,cy-oy,w,(oy<<1)+hod); -}; -this.fillArc=function(iL,iT,iW,iH,_74,_75){ -var a=iW>>1,b=iH>>1,iOdds=(iW&1)|((iH&1)<<16),cx=iL+a,cy=iT+b,x=0,y=b,ox=x,oy=y,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),xEndA,yEndA,xEndZ,yEndZ,iSects=(1<<(Math.floor((_74%=360)/180)<<3))|(2<<(Math.floor((_75%=360)/180)<<3))|((_74>=_75)<<16),aBndA=new Array(b+1),aBndZ=new Array(b+1); -_74*=Math.PI/180; -_75*=Math.PI/180; -xEndA=cx+Math.round(a*Math.cos(_74)); -yEndA=cy+Math.round(-b*Math.sin(_74)); -_mkLinVirt(aBndA,cx,cy,xEndA,yEndA); -xEndZ=cx+Math.round(a*Math.cos(_75)); -yEndZ=cy+Math.round(-b*Math.sin(_75)); -_mkLinVirt(aBndZ,cx,cy,xEndZ,yEndZ); -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -ox=x; -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -this._mkArcDiv(ox,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects); -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -if(y&&(aBndA[y]!=aBndA[y-1]||aBndZ[y]!=aBndZ[y-1])){ -this._mkArcDiv(x,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects); -ox=x; -oy=y; -} -} -} -} -this._mkArcDiv(x,0,oy,cx,cy,iOdds,aBndA,aBndZ,iSects); -if(iOdds>>16){ -if(iSects>>16){ -var xl=(yEndA<=cy||yEndZ>cy)?(cx-x):cx; -this._mkDiv(xl,cy,x+cx-xl+(iOdds&65535),1); -}else{ -if((iSects&1)&&yEndZ>cy){ -this._mkDiv(cx-x,cy,x,1); -} -} -} -}; -this.fillPolygon=function(_78,_79){ -var i; -var y; -var _7c,maxy; -var x1,y1; -var x2,y2; -var _7f,ind2; -var _80; -var n=_78.length; -if(!n){ -return; -} -_7c=_79[0]; -maxy=_79[0]; -for(i=1;imaxy){ -maxy=_79[i]; -} -} -for(y=_7c;y<=maxy;y++){ -var _82=new Array(); -_80=0; -for(i=0;iy2){ -y2=_79[_7f]; -y1=_79[ind2]; -x2=_78[_7f]; -x1=_78[ind2]; -}else{ -continue; -} -} -if((y>=y1)&&(yy1)&&(y<=y2)){ -_82[_80++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1); -} -} -} -_82.sort(_CompInt); -for(i=0;i<_80;i+=2){ -this._mkDiv(_82[i],y,_82[i+1]-_82[i]+1,1); -} -} -}; -this.drawString=function(txt,x,y){ -this.htm+="
"+txt+"
"; -}; -this.drawStringRect=function(txt,x,y,_89,_8a){ -this.htm+="
"+txt+"
"; -}; -this.drawImage=function(_8b,x,y,w,h,a){ -this.htm+="
"+""+"
"; -}; -this.clear=function(){ -this.htm=""; -if(this.cnv){ -this.cnv.innerHTML=""; -} -}; -this._mkOvQds=function(cx,cy,x,y,w,h,wod,hod){ -var xl=cx-x,xr=cx+x+wod-w,yt=cy-y,yb=cy+y+hod-h; -if(xr>xl+w){ -this._mkDiv(xr,yt,w,h); -this._mkDiv(xr,yb,w,h); -}else{ -w=xr-xl+w; -} -this._mkDiv(xl,yt,w,h); -this._mkDiv(xl,yb,w,h); -}; -this._mkArcDiv=function(x,y,oy,cx,cy,_9f,_a0,_a1,_a2){ -var _a3=cx+x+(_9f&65535),y2,h=oy-y,xl,xr,w; -if(!h){ -h=1; -} -x=cx-x; -if(_a2&16711680){ -y2=cy-y-h; -if(_a2&255){ -if(_a2&2){ -xl=Math.max(x,_a1[y]); -w=_a3-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -if(_a2&1){ -xr=Math.min(_a3,_a0[y]); -w=xr-x; -if(w>0){ -this._mkDiv(x,y2,w,h); -} -} -}else{ -this._mkDiv(x,y2,_a3-x,h); -} -y2=cy+y+(_9f>>16); -if(_a2&65280){ -if(_a2&256){ -xl=Math.max(x,_a0[y]); -w=_a3-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -if(_a2&512){ -xr=Math.min(_a3,_a1[y]); -w=xr-x; -if(w>0){ -this._mkDiv(x,y2,w,h); -} -} -}else{ -this._mkDiv(x,y2,_a3-x,h); -} -}else{ -if(_a2&255){ -if(_a2&2){ -xl=Math.max(x,_a1[y]); -}else{ -xl=x; -} -if(_a2&1){ -xr=Math.min(_a3,_a0[y]); -}else{ -xr=_a3; -} -y2=cy-y-h; -w=xr-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -if(_a2&65280){ -if(_a2&256){ -xl=Math.max(x,_a0[y]); -}else{ -xl=x; -} -if(_a2&512){ -xr=Math.min(_a3,_a1[y]); -}else{ -xr=_a3; -} -y2=cy+y+(_9f>>16); -w=xr-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -} -}; -this.setStroke(1); -this.setFont("verdana,geneva,helvetica,sans-serif","12px",Font.PLAIN); -this.color="#000000"; -this.htm=""; -this.wnd=wnd||window; -if(!jg_ok){ -_chkDHTM(); -} -if(jg_ok){ -if(cnv){ -if(typeof (cnv)=="string"){ -this.cont=document.all?(this.wnd.document.all[cnv]||null):document.getElementById?(this.wnd.document.getElementById(cnv)||null):null; -}else{ -if(cnv==window.document){ -this.cont=document.getElementsByTagName("body")[0]; -}else{ -this.cont=cnv; -} -} -this.cnv=this.wnd.document.createElement("div"); -this.cnv.style.fontSize=0; -this.cont.appendChild(this.cnv); -this.paint=jg_dom?_pntCnvDom:_pntCnvIe; -}else{ -this.paint=_pntDoc; -} -}else{ -this.paint=_pntN; -} -this.setPrintable(false); -} -function _mkLinVirt(_a4,x1,y1,x2,y2){ -var dx=Math.abs(x2-x1),dy=Math.abs(y2-y1),x=x1,y=y1,xIncr=(x1>x2)?-1:1,yIncr=(y1>y2)?-1:1,p,i=0; -if(dx>=dy){ -var pr=dy<<1,pru=pr-(dx<<1); -p=pr-dx; -while(dx>0){ ---dx; -if(p>0){ -_a4[i++]=x; -y+=yIncr; -p+=pru; -}else{ -p+=pr; -} -x+=xIncr; -} -}else{ -var pr=dx<<1,pru=pr-(dy<<1); -p=pr-dy; -while(dy>0){ ---dy; -y+=yIncr; -_a4[i++]=x; -if(p>0){ -x+=xIncr; -p+=pru; -}else{ -p+=pr; -} -} -} -for(var len=_a4.length,i=len-i;i;){ -_a4[len-(i--)]=x; -} -} -function _CompInt(x,y){ -return (x-y); -} - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/backend.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/backend.php deleted file mode 100755 index f6c5f3871..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/backend.php +++ /dev/null @@ -1,110 +0,0 @@ - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/config.inc.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/config.inc.php deleted file mode 100755 index ee31d49ca..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/config.inc.php +++ /dev/null @@ -1,387 +0,0 @@ - - * Package: ExtendedFileManager - * http://www.afrusoft.com/htmlarea - */ - -/* Configuration file usage: - * There are two insertModes for this filemanager. - * One is "image" and another is "link". - * So you can assign config values as below - * - * if($insertMode=="image") $IMConfig['property']=somevalueforimagemode; - * else if($insertMode=="link") $IMConfig['property']=somevalueforlinkmode; - * - * (or) you can directly as $IMConfig['property']=somevalueforbothmodes; - * - * Best of Luck :) Afru. - */ - -/* - * Getting the mode for further differentiation - */ - -if(isset($_REQUEST['mode'])) $insertMode=$_REQUEST['mode']; - if(!isset($insertMode)) $insertMode="image"; - -/** -* Default backend URL -* -* URL to use for unified backend. -* -* The ?__plugin=ExtendedFileManager& is required. -*/ - -$IMConfig['backend_url'] = "backend.php?__plugin=ExtendedFileManager&"; - -/** -* Backend Installation Directory -* -* location of backend install; these are used to link to css and js -* assets because we may have the front end installed in a different -* directory than the backend. (i.e. nothing assumes that the frontend -* and the backend are in the same directory) -*/ -$IMConfig['base_dir'] = getcwd(); -$IMConfig['base_url'] = ''; - - -/* - File system path to the directory you want to manage the images - for multiple user systems, set it dynamically. - - NOTE: This directory requires write access by PHP. That is, - PHP must be able to create files in this directory. - Able to create directories is nice, but not necessary. -*/ -$IMConfig['images_dir'] = 'demo_images'; -//You may set a different directory for the link mode; if you don't, the above setting will be used for both modes -//$IMConfig['files_dir'] = 'demo_files'; - -/* - The URL to the above path, the web browser needs to be able to see it. - Please remove scripting capabilities in this directory - for this directory (i.e. disable PHP, Perl, CGI; see .htaccess file in demo_images folder). -*/ -$IMConfig['images_url'] = str_replace( array("backend.php","manager.php"), "", $_SERVER["PHP_SELF"] ) . $IMConfig['images_dir']; -//$IMConfig['files_url'] = 'url/to/files_dir'; - -/* - Format of the Date Modified in list view. - It has to be a string understood by the PHP date() function (for possible values see http://http://php.net/manual/en/function.date.php) -*/ -$IMConfig['date_format'] = "d.m.y H:i"; -/* - Possible values: true, false - - TRUE - If PHP on the web server is in safe mode, set this to true. - SAFE MODE restrictions: directory creation will not be possible, - only the GD library can be used, other libraries require - Safe Mode to be off. - - FALSE - Set to false if PHP on the web server is not in safe mode. -*/ -$IMConfig['safe_mode'] = false; - -/* -This specifies whether any image library is available to resize and edit images.TRUE - Thumbnails will be resized by image libraries and if there is no library, default thumbnail will be shown. -FALSE - Thumbnails will be resized by browser ignoring image libraries. -*/ -$IMConfig['img_library'] = true; - - -/* -View type when the File manager is in insert image mode. -Valid values are "thumbview" and "listview". -*/ - - -if ($insertMode == 'image') - $IMConfig['view_type'] = "thumbview"; - -else if($insertMode == "link") - $IMConfig['view_type'] = "listview"; - -$IMConfig['insert_mode'] = $insertMode; - -/* - Possible values: 'GD', 'IM', or 'NetPBM' - - The image manipulation library to use, either GD or ImageMagick or NetPBM. - If you have safe mode ON, or don't have the binaries to other packages, - your choice is 'GD' only. Other packages require Safe Mode to be off. -*/ -define('IMAGE_CLASS', 'GD'); - - -/* - After defining which library to use, if it is NetPBM or IM, you need to - specify where the binary for the selected library are. And of course - your server and PHP must be able to execute them (i.e. safe mode is OFF). - GD does not require the following definition. -*/ -define('IMAGE_TRANSFORM_LIB_PATH', '/usr/bin/'); -//define('IMAGE_TRANSFORM_LIB_PATH', 'C:/"Program Files"/ImageMagick-5.5.7-Q16/'); - - -/* - The prefix for thumbnail files, something like .thumb will do. The - thumbnails files will be named as "prefix_imagefile.ext", that is, - prefix + orginal filename. -*/ -$IMConfig['thumbnail_prefix'] = 't_'; - - -/* - Thumbnail can also be stored in a directory, this directory - will be created by PHP. If PHP is in safe mode, this parameter - is ignored, you can not create directories. - - If you do not want to store thumbnails in a directory, set this - to false or empty string ''; -*/ -$IMConfig['thumbnail_dir'] = 't'; - -/** -* Resized prefix -* -* The prefix for resized files, something like .resized will do. The -* resized files will be named _x_ -* resized files are created when one changes the dimensions of an image -* in the image manager selection dialog - the image is scaled when the -* user clicks the ok button. -*/ - -$IMConfig['resized_prefix'] = '.resized'; - -// ------------------------------------------------------------------------- - -/** -* Resized Directory -* -* Resized images may also be stored in a directory, except in safe mode. -*/ - -$IMConfig['resized_dir'] = ''; - -/* - Possible values: true, false - - TRUE - Allow the user to create new sub-directories in the - $IMConfig['images_dir']/$IMConfig['files_dir']. - - FALSE - No directory creation. - - NOTE: If $IMConfig['safe_mode'] = true, this parameter - is ignored, you can not create directories -*/ -$IMConfig['allow_new_dir'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to edit image by image editor. - - FALSE - No edit icon will be displayed. - - NOTE: If $IMConfig['img_library'] = false, this parameter - is ignored, you can not edit images. -*/ -$IMConfig['allow_edit_image'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to rename files and folders. - - FALSE - No rename icon will be displayed. - -*/ -$IMConfig['allow_rename'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to perform cut/copy/paste actions. - - FALSE - No cut/copy/paste icons will be displayed. - -*/ -$IMConfig['allow_cut_copy_paste'] = true; - -/* - Possible values: true, false - - TRUE - Display color pickers for image background / border colors - - FALSE - Don't display color pickers -*/ -$IMConfig['use_color_pickers'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set alt (alternative text) attribute. - - FALSE - No input field for alt attribute will be displayed. - - NOTE: The alt attribute is _obligatory_ for images, so will be inserted - if 'images_enable_alt' is set to false -*/ -$IMConfig['images_enable_alt'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set title attribute (usually displayed when mouse is over element). - - FALSE - No input field for title attribute will be displayed. - -*/ -$IMConfig['images_enable_title'] = false; - -/* - Possible values: true, false - - TRUE - Allow the user to set align attribute. - - FALSE - No selection box for align attribute will be displayed. - -*/ -$IMConfig['images_enable_align'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set margin, padding, and border styles for the image - - FALSE - No styling input fields will be displayed. - -*/ -$IMConfig['images_enable_styling'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set target attribute for link (the window in which the link will be opened). - - FALSE - No selection box for target attribute will be displayed. - -*/ -$IMConfig['link_enable_target'] = true; -/* - Possible values: true, false - - TRUE - Allow the user to upload files. - - FALSE - No uploading allowed. -*/ -$IMConfig['allow_upload'] = true; - -/* Maximum upload file size - - Possible values: number, "max" - - number - maximum size in Kilobytes. - - "max" - the maximum allowed by the server (the value is retrieved from the server configuration). -*/ -$IMConfig['max_filesize_kb_image'] = 200; - -$IMConfig['max_filesize_kb_link'] = 5000; - -/* Maximum upload folder size in Megabytes. Use 0 to disable limit */ -$IMConfig['max_foldersize_mb'] = 0; - -/* -Allowed extensions that can be shown and allowed to upload. -Available icons are for "doc,fla,gif,gz,html,jpg,js,mov,pdf,php,png,ppt,rar,txt,xls,zip" --Changed by AFRU. -*/ - -$IMConfig['allowed_image_extensions'] = array("jpg","gif","png","bmp"); -$IMConfig['allowed_link_extensions'] = array("jpg","gif","js","php","pdf","zip","txt","psd","png","html","swf","xml","xls","doc"); - - -/* - The default thumbnail and list view icon in case thumbnails are not created and the files are of unknown. -*/ -$IMConfig['default_thumbnail'] = 'icons/def.gif'; -$IMConfig['default_listicon'] = 'icons/def_small.gif'; - - -/* -Only files with these extensions will be shown as thumbnails. All other files will be shown as icons. -*/ -$IMConfig['thumbnail_extensions'] = array("jpg", "gif", "png", "bmp"); - -/* - Thumbnail dimensions. -*/ -$IMConfig['thumbnail_width'] = 84; -$IMConfig['thumbnail_height'] = 84; - -/* - Image Editor temporary filename prefix. -*/ -$IMConfig['tmp_prefix'] = '.editor_'; - - -// Standard PHP Backend Data Passing -// if data was passed using xinha_pass_to_php_backend() we merge the items -// provided into the Config -require_once(realpath(dirname(__FILE__) . '/../../contrib/php-xinha.php')); -if($passed_data = xinha_read_passed_data()) -{ - $IMConfig = array_merge($IMConfig, $passed_data); - $IMConfig['backend_url'] .= xinha_passed_data_querystring() . '&'; -} -// Deprecated config passing, don't use this way any more! -elseif(isset($_REQUEST['backend_config'])) -{ - if(get_magic_quotes_gpc()) { - $_REQUEST['backend_config'] = stripslashes($_REQUEST['backend_config']); - } - - // Config specified from front end, check that it's valid - session_start(); - if (!array_key_exists($_REQUEST['backend_config_secret_key_location'], $_SESSION)) - die("Backend security error."); - - $secret = $_SESSION[$_REQUEST['backend_config_secret_key_location']]; - - if($_REQUEST['backend_config_hash'] !== sha1($_REQUEST['backend_config'] . $secret)) - { - die("Backend security error."); - } - - $to_merge = unserialize($_REQUEST['backend_config']); - if(!is_array($to_merge)) - { - die("Backend config syntax error."); - } - - $IMConfig = array_merge($IMConfig, $to_merge); - - // changed config settings keys in relation to ImageManager - $IMConfig['backend_url'] .= "backend_config=" . rawurlencode($_REQUEST['backend_config']) . '&'; - $IMConfig['backend_url'] .= "backend_config_hash=" . rawurlencode($_REQUEST['backend_config_hash']) . '&'; - $IMConfig['backend_url'] .= "backend_config_secret_key_location=" . rawurlencode($_REQUEST['backend_config_secret_key_location']) . '&'; - -} -if ($IMConfig['max_filesize_kb_link'] == "max") -{ - $IMConfig['max_filesize_kb_link'] = upload_max_filesize_kb(); -} - -if ($IMConfig['max_filesize_kb_image'] == "max") -{ - $IMConfig['max_filesize_kb_image'] = upload_max_filesize_kb(); -} -// END - -?> diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/.htaccess b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/.htaccess deleted file mode 100755 index 047113220..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -php_flag engine off -AddType text/html .html .htm .shtml .php .php3 .phtml .phtm .pl .py .cgi \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/bikerpeep.jpg b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/bikerpeep.jpg deleted file mode 100755 index a2e7028eb..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/bikerpeep.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/linux/linux.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/linux/linux.gif deleted file mode 100755 index 3f42d2ce6..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/linux/linux.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/wesnoth078.jpg b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/wesnoth078.jpg deleted file mode 100755 index ea37d1aea..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/wesnoth078.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editor.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editor.php deleted file mode 100755 index 3fb26260a..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editor.php +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Xinha Image Editor - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- CropCrop - ResizeResize - RotateRotate - MeasureMeasure - MarkerMarker - SaveSave -
Zoom
- -
- - -
- - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editorFrame.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editorFrame.php deleted file mode 100755 index 30fb3109d..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editorFrame.php +++ /dev/null @@ -1,84 +0,0 @@ -processImage(); - -?> - - - - - - - - - - - - -
- -isGDEditable() == -1) { ?> -
GIF format is not supported, image editing not supported.
- - - - - -
- 0 && is_file($imageInfo['fullpath'])) { ?> - alt="" id="theImage" name="theImage"> - - No Image Available - -
- - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/extended-file-manager.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/extended-file-manager.js deleted file mode 100644 index 35af2bb6c..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/extended-file-manager.js +++ /dev/null @@ -1,242 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/extended-file-manager.js */ -function ExtendedFileManager(_1){ -this.editor=_1; -var _2=_1.config; -var _3=_2.toolbar; -var _4=this; -if(_2.ExtendedFileManager.use_linker){ -_2.registerButton({id:"linkfile",tooltip:Xinha._lc("Insert File Link","ExtendedFileManager"),image:Xinha.getPluginDir("ExtendedFileManager")+"/img/ed_linkfile.gif",textMode:false,action:function(_5){ -_5._linkFile(); -}}); -_2.addToolbarElement("linkfile","createlink",1); -} -var _6=_1.config.ExtendedFileManager.backend+"__function=manager"; -if(_2.ExtendedFileManager.backend_config!=null){ -_6+="&backend_config="+encodeURIComponent(_2.ExtendedFileManager.backend_config); -_6+="&backend_config_hash="+encodeURIComponent(_2.ExtendedFileManager.backend_config_hash); -_6+="&backend_config_secret_key_location="+encodeURIComponent(_2.ExtendedFileManager.backend_config_secret_key_location); -} -if(_2.ExtendedFileManager.backend_data!=null){ -for(var i in _2.ExtendedFileManager.backend_data){ -_6+="&"+i+"="+encodeURIComponent(_2.ExtendedFileManager.backend_data[i]); -} -} -_2.ExtendedFileManager.manager=_6; -} -ExtendedFileManager._pluginInfo={name:"ExtendedFileManager",version:"1.4",developer:"Afru, Krzysztof Kotowicz, Raimund Meyer",developer_url:"http://xinha.org",license:"htmlArea"}; -Xinha.Config.prototype.ExtendedFileManager={"use_linker":true,"backend":Xinha.getPluginDir("ExtendedFileManager")+"/backend.php?__plugin=ExtendedFileManager&","backend_data":null,"backend_config":null,"backend_config_hash":null,"backend_config_secret_key_location":"Xinha:ImageManager"}; -if(typeof ImageManager=="undefined"){ -Xinha.prototype._insertImage=function(_8){ -var _9=this; -var _a={"editor":this,param:null}; -if(typeof _8=="undefined"){ -_8=this.getParentElement(); -if(_8&&!/^img$/i.test(_8.tagName)){ -_8=null; -} -} -if(_8){ -_a.param={f_url:Xinha.is_ie?_8.src:_8.getAttribute("src"),f_alt:_8.alt,f_title:_8.title,f_border:_8.style.borderWidth?_8.style.borderWidth:_8.border,f_align:_8.align,f_width:_8.width,f_height:_8.height,f_padding:_8.style.padding,f_margin:_8.style.margin,f_backgroundColor:_8.style.backgroundColor,f_borderColor:_8.style.borderColor,baseHref:_9.config.baseHref}; -_a.param.f_border=shortSize(_a.param.f_border); -_a.param.f_padding=shortSize(_a.param.f_padding); -_a.param.f_margin=shortSize(_a.param.f_margin); -_a.param.f_backgroundColor=convertToHex(_a.param.f_backgroundColor); -_a.param.f_borderColor=convertToHex(_a.param.f_borderColor); -} -Dialog(this.config.ExtendedFileManager.manager,function(_b){ -if(!_b){ -return false; -} -var _c=_8; -if(!_c){ -if(!_b.f_url){ -return false; -} -if(Xinha.is_ie){ -var _d=_9.getSelection(); -var _e=_9.createRange(_d); -_9._doc.execCommand("insertimage",false,_b.f_url); -_c=_e.parentElement(); -if(_c.tagName.toLowerCase()!="img"){ -_c=_c.previousSibling; -} -}else{ -_c=document.createElement("img"); -_c.src=_b.f_url; -_9.insertNodeAtSelection(_c); -} -}else{ -if(!_b.f_url){ -_c.parentNode.removeChild(_c); -_9.updateToolbar(); -return false; -}else{ -_c.src=_b.f_url; -} -} -_c.alt=_c.alt?_c.alt:""; -for(field in _b){ -var _f=_b[field]; -switch(field){ -case "f_alt": -_c.alt=_f; -break; -case "f_title": -_c.title=_f; -break; -case "f_border": -if(_f){ -_c.style.borderWidth=/[^0-9]/.test(_f)?_f:(_f!="")?(parseInt(_f)+"px"):""; -if(_c.style.borderWidth&&!_c.style.borderStyle){ -_c.style.borderStyle="solid"; -}else{ -if(!_c.style.borderWidth){ -_c.style.border=""; -} -} -} -break; -case "f_borderColor": -_c.style.borderColor=_f; -break; -case "f_backgroundColor": -_c.style.backgroundColor=_f; -break; -case "f_align": -_c.align=_f; -break; -case "f_width": -if(parseInt(_f)>0){ -_c.width=parseInt(_f); -} -break; -case "f_height": -if(parseInt(_f)>0){ -_c.height=parseInt(_f); -} -break; -case "f_padding": -_c.style.padding=/[^0-9]/.test(_f)?_f:(_f!="")?(parseInt(_f)+"px"):""; -break; -case "f_margin": -_c.style.margin=/[^0-9]/.test(_f)?_f:(_f!="")?(parseInt(_f)+"px"):""; -break; -} -} -},_a); -}; -} -Xinha.prototype._linkFile=function(_10){ -var _11=this; -var _12={"editor":this,param:null}; -if(typeof _10=="undefined"){ -_10=this.getParentElement(); -if(_10){ -if(/^img$/i.test(_10.tagName)){ -_10=_10.parentNode; -} -if(!/^a$/i.test(_10.tagName)){ -_10=null; -} -} -} -if(!_10){ -var sel=_11.getSelection(); -var _14=_11.createRange(sel); -var _15=0; -if(Xinha.is_ie){ -if(sel.type=="Control"){ -_15=_14.length; -}else{ -_15=_14.compareEndPoints("StartToEnd",_14); -} -}else{ -_15=_14.compareBoundaryPoints(_14.START_TO_END,_14); -} -if(_15==0){ -alert(Xinha._lc("You must select some text before making a new link.","ExtendedFileManager")); -return; -} -_12.param={f_href:"",f_title:"",f_target:"",f_usetarget:_11.config.makeLinkShowsTarget,baseHref:_11.config.baseHref}; -}else{ -_12.param={f_href:Xinha.is_ie?_10.href:_10.getAttribute("href"),f_title:_10.title,f_target:_10.target,f_usetarget:_11.config.makeLinkShowsTarget,baseHref:_11.config.baseHref}; -} -Dialog(this.config.ExtendedFileManager.manager+"&mode=link",function(_16){ -if(!_16){ -return false; -} -var a=_10; -if(!a){ -try{ -_11._doc.execCommand("createlink",false,_16.f_href); -a=_11.getParentElement(); -var sel=_11.getSelection(); -var _19=_11.createRange(sel); -if(!Xinha.is_ie){ -a=_19.startContainer; -if(!/^a$/i.test(a.tagName)){ -a=a.nextSibling; -if(a==null){ -a=_19.startContainer.parentNode; -} -} -} -} -catch(e){ -} -}else{ -var _1a=_16.f_href.trim(); -_11.selectNodeContents(a); -if(_1a==""){ -_11._doc.execCommand("unlink",false,null); -_11.updateToolbar(); -return false; -}else{ -a.href=_1a; -} -} -if(!(a&&/^a$/i.test(a.tagName))){ -return false; -} -a.target=_16.f_target.trim(); -a.title=_16.f_title.trim(); -_11.selectNodeContents(a); -_11.updateToolbar(); -},_12); -}; -function shortSize(_1b){ -if(/ /.test(_1b)){ -var _1c=_1b.split(" "); -var _1d=true; -for(var i=1;i<_1c.length;i++){ -if(_1c[0]!=_1c[i]){ -_1d=false; -break; -} -} -if(_1d){ -_1b=_1c[0]; -} -} -return _1b; -} -function convertToHex(_1f){ -if(typeof _1f=="string"&&/, /.test.color){ -_1f=_1f.replace(/, /,","); -} -if(typeof _1f=="string"&&/ /.test.color){ -var _20=_1f.split(" "); -var _21=""; -for(var i=0;i<_20.length;i++){ -_21+=Xinha._colorToRgb(_20[i]); -if(i+1<_20.length){ -_21+=" "; -} -} -return _21; -} -return Xinha._colorToRgb(_1f); -} - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def.gif deleted file mode 100755 index 2845b96ac..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def_small.gif deleted file mode 100755 index 54fd484ec..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc.gif deleted file mode 100755 index f197227e3..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc_small.gif deleted file mode 100755 index a343a3ca7..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla.gif deleted file mode 100755 index 7135f2590..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla_small.gif deleted file mode 100755 index 02b13d166..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder.gif deleted file mode 100755 index 9003f5894..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder_small.gif deleted file mode 100755 index b50e98a2e..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gif_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gif_small.gif deleted file mode 100755 index 837747334..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gif_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz.gif deleted file mode 100755 index f59ecef08..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz_small.gif deleted file mode 100755 index 639556e63..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html.gif deleted file mode 100755 index 2d54999cc..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html_small.gif deleted file mode 100755 index 2d30ebd71..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/jpg_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/jpg_small.gif deleted file mode 100755 index a6a4e78b2..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/jpg_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js.gif deleted file mode 100644 index 9ab9878f0..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js_small.gif deleted file mode 100644 index 24e14fbe8..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov.gif deleted file mode 100755 index 26b659564..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov_small.gif deleted file mode 100755 index 5a35d21e9..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf.gif deleted file mode 100755 index d3e3d55ac..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf_small.gif deleted file mode 100755 index 71e00596a..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php.gif deleted file mode 100755 index 20e563662..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php_small.gif deleted file mode 100755 index 608691f96..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/png_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/png_small.gif deleted file mode 100755 index f2684ace7..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/png_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt.gif deleted file mode 100755 index 4339292fe..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt_small.gif deleted file mode 100755 index f37bb09ef..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar.gif deleted file mode 100755 index e39549e62..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar_small.gif deleted file mode 100755 index eff38f4fd..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt.gif deleted file mode 100755 index fe76a19fe..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt_small.gif deleted file mode 100755 index 0279f9995..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls.gif deleted file mode 100755 index e99e09985..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls_small.gif deleted file mode 100755 index 347c0c36c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip.gif deleted file mode 100755 index f59ecef08..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip_small.gif deleted file mode 100755 index 639556e63..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip_small.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/images.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/images.php deleted file mode 100755 index 3084e0773..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/images.php +++ /dev/null @@ -1,391 +0,0 @@ -processUploads(); - -//process any file renames -$renameStatus=$manager->processRenames(); - -//process paste -$pasteStatus = (isset($_GET['paste'])) ? $manager->processPaste() : false; - -$refreshFile = ($manager->deleteFiles()) ? true : false; - -$refreshDir = false; -//process any directory functions -if($manager->deleteDirs() || $manager->processNewDir() || $pasteStatus || $renameStatus ) - $refreshDir = true; - - -$diskInfo=$manager->getDiskInfo(); - -//check for any sub-directory request -//check that the requested sub-directory exists -//and valid -if(isset($_REQUEST['dir'])) -{ - $path = rawurldecode($_REQUEST['dir']); - if($manager->validRelativePath($path)) - $relative = $path; -} - -$afruViewType = (isset($_REQUEST['viewtype'])) ? $afruViewType=$_REQUEST['viewtype'] : ''; - -if($afruViewType!="thumbview" && $afruViewType!="listview") -{ - $afruViewType=$IMConfig['view_type']; -} -//get the list of files and directories -$list = $manager->getFiles($relative); - - -/* ================= OUTPUT/DRAW FUNCTIONS ======================= */ - - -/** - * Draw folders and files. Changed by Afru - */ -function drawDirs_Files($list, &$manager) -{ - global $relative, $afruViewType, $IMConfig, $insertMode,$backend_url_enc; - - switch ($afruViewType) { - case 'listview': - $maxNameLength = 30; - ?> - - - - - $dir) - { ?> - - - - - - - - - $file) - { - ?> - - - - - - - - - -
NameSizeImage SizeDate Modified 
- - $maxNameLength) echo substr($dir['entry'],0,$maxNameLength)."..."; else echo $dir['entry']; - ?> - Folder - Trash - - Rename - - - Cut - Copy - -
" alt="" /> - onmouseover="showPreview('')" onmouseout="showPreview(window.parent.document.getElementById('f_url').value)" > - $maxNameLength) echo substr($entry,0,$maxNameLength)."..."; else echo $entry; - ?> - 0){ echo $file['image'][0].'x'.$file['image'][1]; } ?> - 0) { ?> - Edit - - Trash - - Rename - - - Cut - Copy - -
- $dir) - { ?> -
- <?php echo $dir['entry']; ?> - -
- $maxFolderNameLength) - echo substr($dir['entry'], 0, $maxFolderNameLength) . "..."; - else - echo $dir['entry']; ?> -
-
- Trash - - Rename - - - Cut - Copy - -
-
- $file) - { - $afruimgdimensions=$manager->checkImageSize($file['relative']); - $thisFileNameLength = $maxFileNameLength; - ?> -
- - <?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?> - -
- $thisFileNameLength + 3) echo strtolower(substr($entry,0,$thisFileNameLength))."..."; else echo $entry; - ?> -
-
- 0 ) - { ?> - Edit - - Trash - - Rename - - - Cut - Copy - - -
-
- -
No Files Found
- -
Invalid base directory: getImagesDir(); ?>
- - - - - File List - - - - - - - - - - - -isValidBase() == false) { drawErrorBase($manager); } - elseif(count($list[0]) > 0 || count($list[1]) > 0) { ?> - - - - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/1x1_transparent.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/1x1_transparent.gif deleted file mode 100755 index 35d42e808..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/1x1_transparent.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2.gif deleted file mode 100755 index 2f2ec4aaf..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2_w.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2_w.gif deleted file mode 100755 index 9b560a8c5..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2_w.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew.gif deleted file mode 100755 index 541d09bb0..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew1.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew1.gif deleted file mode 100755 index db01742d6..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew1.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp.gif deleted file mode 100755 index 36ac56fa7..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp1.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp1.gif deleted file mode 100755 index 7b7349db0..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp1.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_cancel.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_cancel.gif deleted file mode 100755 index ae9401ce6..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_cancel.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_ok.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_ok.gif deleted file mode 100755 index e8b027ca3..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_ok.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/crop.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/crop.gif deleted file mode 100755 index 8ef53b275..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/crop.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/default.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/default.gif deleted file mode 100755 index 7419c1d62..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/default.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/div.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/div.gif deleted file mode 100755 index 6d25c022a..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/div.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/dots.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/dots.gif deleted file mode 100755 index a213e5b3c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/dots.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile.gif deleted file mode 100755 index 38ac23239..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile1.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile1.gif deleted file mode 100755 index 50fde2fed..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile1.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_active.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_active.gif deleted file mode 100755 index 928c25d91..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_active.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_copy.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_copy.gif deleted file mode 100755 index 7a1456894..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_copy.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_cut.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_cut.gif deleted file mode 100755 index 3d11146d5..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_cut.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_paste.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_paste.gif deleted file mode 100755 index beea91234..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_paste.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_pencil.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_pencil.gif deleted file mode 100755 index 04fe5a275..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_pencil.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_rename.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_rename.gif deleted file mode 100755 index e061d52e0..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_rename.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_trash.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_trash.gif deleted file mode 100755 index 8754ac7e6..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_trash.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/folder.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/folder.gif deleted file mode 100755 index 9003f5894..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/folder.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/hand.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/hand.gif deleted file mode 100755 index 23c900fe7..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/hand.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/islocked2.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/islocked2.gif deleted file mode 100755 index 1dfd2ec73..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/islocked2.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/locked.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/locked.gif deleted file mode 100755 index 92472389d..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/locked.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/measure.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/measure.gif deleted file mode 100755 index 9e496db4c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/measure.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/noimages.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/noimages.gif deleted file mode 100755 index 22e6dd389..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/noimages.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/rotate.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/rotate.gif deleted file mode 100755 index cf8764f21..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/rotate.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/save.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/save.gif deleted file mode 100755 index dadb9b075..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/save.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/scale.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/scale.gif deleted file mode 100755 index e36bec39c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/scale.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/spacer.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/spacer.gif deleted file mode 100755 index fc2560981..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/spacer.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_black.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_black.gif deleted file mode 100755 index 4f362f16c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_black.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_white.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_white.gif deleted file mode 100755 index bcddeec9e..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_white.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked.gif deleted file mode 100755 index e28e7d1bf..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked2.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked2.gif deleted file mode 100755 index ce703c94c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked2.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked_empty.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked_empty.gif deleted file mode 100755 index fe4e0d4bb..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked_empty.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/de.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/de.js deleted file mode 100644 index 4cee78392..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/de.js +++ /dev/null @@ -1,119 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// translated: sven schomacker, http://www.hilope.de, mail@hilope.de -{ - "File Manager": "Dateimanager", - "Insert Image": "Bild einfügen", - "Directory": "Verzeichnis", - "Directory Up": "Aufwärts", - "New Folder": "Neues Verzeichnis erstellen", - "Trash": "Papierkorb", - "Edit": "Bearbeiten", - "Image File": "Bilddatei", - "Upload": "Hochladen", - "Width": "Breite", - "Height": "Höhe", - "Width:": "Breite:", - "Height:": "Höhe:", - "Constrain Proportions": "Proportionen beibehalten", - "Border": "Rahmen", - "Margin": "Aussenabstand", - "Padding": "Innenabstand", - "Refresh": "Aktualisieren", - "Uploading...": "Lade hoch...", - "Uploading": "Hochladen", - "Crop": "Beschneiden", - "Resize": "Größe ändern", - "Rotate": "Drehen", - "Measure": "Maße", - "Marker": "Rahmen", - "Toggle marker color" : "Farbe der Markierung umschalten", - "Save": "Speichern", - "Filename:": "Dateiname:", - "Image Format": "Bildformat:", - "Quality:": "Qualität", - "JPEG High": "JPEG hoch", - "JPEG Medium": "JPEG mittel", - "JPEG Low": "JPEG niedrig", - "File saved.": "Datei gespeichert.", - "File was not saved.": "Datei wurde nicht gespeichert.", - "Start X:": "Start X", - "Start Y:": "Start Y", - "Lock": "Feststellen", - "Flip Image": "Bild spiegeln", - "Flip Horizontal": "hor. spiegeln", - "Flip Vertical": "ver. spiegeln", - "Rotate Image": "Bild drehen", - "Rotate 180 °": "Drehung um 180°", - "Rotate 90 ° CW": "Drehung um 90° im Uhrzeigersinn", - "Rotate 90 ° CCW": "Drehung um 90° gegen Uhrzeigersinn", - "Angle:": "Winkel:", - "W:": "W:", - "Clear": "Löschen", - "Loading": "Laden", - "Invalid base directory:": "Ungültiges Basisverzeichnis:", - 'Delete file "$file"?': 'Datei "$file" löschen?', - "Please delete all files/folders inside the folder you wish to delete first.": "Bitte zuerst alle untergeordneten Ordner löschen.", - 'Delete folder "$dir"?': 'Verzeichnis "$dir" löschen?', - "Folder Name:": "Verzeichnisname", - "No Files Found": "Keine Dateien gefunden", - "Invalid folder name, please choose another folder name.": "Ungültiger Verzeichnisname - bitte neu wählen.", - "GIF format is not supported, image editing not supported.": "GIF-Format nicht unterstützt, bearbeiten nicht möglich.", - "No Image Available": "Kein Bild verfügbar", - "No Image selected.": "Kein Bild ausgewählt.", - "Description:": "Beschreibung:", - "Align": "Anordnung", - "Margin": "Aussenabstand", - "Padding": "Innenabstand", - "Border": "Rahmen", - "Color": "Farbe", - "Border Color": "Rahmenfarbe", - "Upload": "Hochladen", - "Alt": "Alt", - "File Name": "Dateiname", - "Thumbnail View": "Miniaturansicht", - "List View": "Listenansicht", - "Title (tooltip)": "Titel (Tooltip)", - "Target Window": "Zielfenster", - "Name": "Name", - "Size": "Größe", - "Date Modified": "Datum letzte Änderung", - "Total Size": "Gesamtgröße", - "Free Space": "Freier Speicher", - "Positioning of this image" : "Anordnung dieses Bildes", - "Insert File Link": "Dateilink einfügen", - "Untitled": "Unbetitelt", - 'Please enter name for new folder...': "Bitte Namen für neuen Ordner eingeben...", - "You must select some text before making a new link.": "Bitte zuerst Text markieren.", - "Folder is not empty. Please delete all Files and Subfolders inside.": "Verzeichnis ist nicht leer. Bitte zuerst alle Unterordner und Dateien löschen.", - "Image Size": "Bildgröße", - "Other" : "Andere...", - "Rename": "Umbenennen", - "Please enter new name for this file...": "Bitte neuen Namen für diese Datei eingeben...", - "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": "Umbenennen nicht möglich. Evtl. Dateiname schon vorhanden oder keine Schreibrechte.", - "Cancelled rename.": "Umbenennen abgebrochen.", - 'File "$file" successfully uploaded.': 'Datei "$file" erfolgreich hochgeladen.', - "Cannot upload. Maximum folder size reached. Delete unwanted files and try again.":"Die maximale Ordnergröße ist erreicht. Bitte löschen Sie Dateien, die Sie nicht mehr benötigen.", - "Maximum file size [$max_size KB] exceeded.":"Maximale Dateigröße [$max_size KB] überschritten.", - "Cannot upload $extension Files. Permission denied.": "$extension Dateien dürfen nicht hochgeladen werden.", - "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.":"Konnte Datei nicht hochladen.\nEntweder die maximale Dateigröße [$max_size KB] ist überschritten\noder das Verzeichnis hat keine Schreibrechte.", - "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "Max. Ordergröße: $max_foldersize_mb MB, noch frei: $free_space", - "Please enter new name for this folder...":"Bitte neuen Namen für diesen Ordner eingeben...", - - "Cut":"Ausschneiden", - "Copy":"Kopieren", - "Paste":"Einfügen", - - 'Copy "$file" from "$dir" here': '"$file" aus Ordner "$dir" hierher kopieren', - 'Copy folder "$file" from "$dir" here' : '"Ordner $file" aus "$dir" hierher kopieren', - 'Move "$file" from "$dir" here':'"$file" aus Ordner "$dir" hierher verschieben', - 'Move folder "$file" from "$dir" here':'Ordner "$file" aus "$dir" hierher verschieben', - - "Source file/folder not found.":"Quelldatei/-ordner nicht gefunden", - "Paste failed.\nMaybe folder doesn't have write permission.": "Einfügen fehlgeschlagen.\nMöglicherweise hat der Ordner keine Schreibberechtigung.", - "Could not create destination folder.":"Konnte Zielordner nicht erstellen.", - "Destination file/folder already exists.":"Zieldatei/-ordner existiert bereits", - "File pasted OK.": "File pasted OK.", - - "Filesize:" : "Dateigröße:" -}; diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/es.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/es.js deleted file mode 100644 index d7d609a46..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/es.js +++ /dev/null @@ -1,70 +0,0 @@ -// I18N constants -// LANG: "es", ENCODING: UTF-8 -// translated: michael Hauptmnn (mhauptma73) , http://www.azahost.com/, miguel@azalorea.com -{ - "Image Manager": "Editor de imágenes", - "Insert Image": "insertar imagen", - "Directory": "Directorio", - "Directory Up": "Directorio superior", - "New Folder": "Crear directorio", - "Trash": "Basura", - "Edit": "editar", - "Image File": "Fichero", - "Upload": "Subir", - "Width": "Ancho", - "Height": "Alto", - "Width:": "Ancho:", - "Height:": "Alto:", - "Constrain Proportions": "Proporcional", - "Border": "Borde", - "V Space": "espacio vertical", - "H Space": "espacio horizontal", - "Refresh": "Actualizar", - "Uploading...": "Subir...", - "Crop": "Recortar", - "Resize": "Cambiar tamaño", - "Rotate": "Girar", - "Measure": "Dimensiones", - "Marker": "Marcador", - "Save": "Guardar", - "Filename:": "Nombre del fichero:", - "Image Format": "Formato:", - "Quality:": "Calidad", - "JPEG High": "JPEG alto", - "JPEG Medium": "JPEG medio", - "JPEG Low": "JPEG bajo", - "File saved.": "Fichero guardado.", - "File was not saved.": "el fichero no ha sido guardado.", - "Start X:": "Inicio X", - "Start Y:": "Inicio Y", - "Lock": "Bloquear", - "Flip Image": "invertir imagen", - "Flip Horizontal": "invertir horizontalmente", - "Flip Vertical": "invertir verticalmente", - "Rotate Image": "Girar imagen", - "Rotate 180 °": "Girar 180º", - "Rotate 90 ° CW": "Girar 90º sentido reloj", - "Rotate 90 ° CCW": "Girar 90º sentido contrareloj", - "Angle:": "Ángulo:", - "W:": "B:", - "Clear": "Eliminar", - "Loading": "Cargar", - "Invalid base directory:": "Directorio de inicio inválido:", - "Delete file?": "¿Borrar fichero?", - "Please delete all files/folders inside the folder you wish to delete first.": "Primero tiene que borrar todoas los ficheros de este directorio.", - "Delete folder?": "¿Borrar directorio?", - "Folder Name:": "Nombre del directorio:", - "No Images Found": "No se ha encontrado imagen", - "Invalid folder name, please choose another folder name.": "Nombre de directorio inválido... por favor elija otro nombre.", - "GIF format is not supported, image editing not supported.": "No hay soporte para imágenes en formato GIF.", - "No Image Available": "No hay imagen", - "No Image selected.": "No ha seleccionado imagen.", - "Description:": "Descripción:", - "Align:": "Alineado:", - "Description:": "Descripción:", - "Margin:": "Margen exterior:", - "Padding:": "Margen interior:", - "Border:": "Borde:", - "Color:": "Color:", - "Upload:": "Subir:" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/fr.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/fr.js deleted file mode 100644 index f4f4a5679..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/fr.js +++ /dev/null @@ -1,117 +0,0 @@ -// LANG: "fr", ENCODING: UTF-8 -// translated: Kevin Huppert - Créabilis, http://www.creabilis.com, kevin.huppert@worldonline.fr -{ - "File Manager": "Gestionnaire de fichiers", - "Insert Image": "Insérer une image", - "Directory": "Répertoire", - "Directory Up": "Remonter", - "New Folder": "Nouveau dossier", - "Trash": "Corbeille", - "Edit": "Modifier", - "Image File": "Fichier image", - "Upload": "Envoyer", - "Width": "Largeur", - "Height": "Hauteur", - "Width:": "Largeur:", - "Height:": "Hauteur:", - "Constrain Proportions": "Maintenir les proportions", - "Border": "Bordure", - "Margin": "Marge", - "Padding": "Marge intérieure", - "Refresh": "Actualiser", - "Uploading...": "Envoi en cours...", - "Uploading": "Envoi", - "Crop": "Recadrer", - "Resize": "Redimen.", - "Rotate": "Pivoter", - "Measure": "Règle", - "Marker": "Marqueur", - "Toggle marker color" : "Changer la couleur du marqueur", - "Save": "Enregistrer", - "Filename:": "Nom du fichier:", - "Image Format": "Format d\'image:", - "Quality:": "Qualité:", - "JPEG High": "JPEG haut", - "JPEG Medium": "JPEG moyen", - "JPEG Low": "JPEG bas", - "File saved.": "Fichier enregistré.", - "File was not saved.": "Le fichier n\'a pas été enregistré.", - "Start X:": "Départ X", - "Start Y:": "Départ Y", - "Lock": "Verrouiller", - "Flip Image": "Symétrie", - "Flip Horizontal": "Symétrie hor.", - "Flip Vertical": "Symétrie ver.", - "Rotate Image": "Pivoter l\'image", - "Rotate 180 °": "Rotation à 180°", - "Rotate 90 ° CW": "Rotation à 90° horaire", - "Rotate 90 ° CCW": "Rotation à 90° antihoraire", - "Angle:": "Angle:", - "W:": "W:", - "Clear": "Effacer", - "Loading": "Chargement", - "Invalid base directory:": "Dossier racine invalide:", - 'Delete file "$file"?': 'Effacer le fichier "$file" ?', - "Please delete all files/folders inside the folder you wish to delete first.": "Effacez s\'il vous plaît tous les fichiers/dossiers dans le dossier que vous souhaitez effacer d\'abord.", - 'Delete folder "$dir"?': 'Effacer le dossier "$dir" ?', - "Folder Name:": "Nom du dossier:", - "No Files Found": "Aucun fichier", - "Invalid folder name, please choose another folder name.": "Nom de dossier invalide - choisissez un autre nomd de dossier.", - "GIF format is not supported, image editing not supported.": "Le format GIF n\'est pas supporté, édition d\'image impossible.", - "No Image Available": "Aucune image disponible", - "No Image selected.": "Aucune image sélectionnée.", - "Description:": "Description:", - "Align": "Alignement", - "Margin": "Marge", - "Padding": "Marge intérieure", - "Border": "Bordure", - "Color": "Couleur", - "Border Color": "Couleur de la bordure", - "Upload": "Envoyer", - "Alt": "Alt", - "File Name": "Nom du fichier", - "Thumbnail View": "Vue miniatures", - "List View": "Vue liste", - "Title (tooltip)": "Tooltip", - "Target Window": "Fenêtre cible", - "Name": "Nom", - "Size": "Taille", - "Date Modified": "Date de modification", - "Total Size": "Taille totale", - "Free Space": "Espace libre", - "Positioning of this image" : "Position de cette image", - "Insert File Link": "Insérer un lien vers fichier", - "Untitled": "Sans titre", - 'Please enter name for new folder...': "Entrez un nom pour le nouveau dossier...", - "You must select some text before making a new link.": "Vous devez sélectionner du texte avant de faire un nouveau lien.", - "Folder is not empty. Please delete all Files and Subfolders inside.": "Le dossier n\'est pas vide. Effacez tous les fichiers et sous-dossiers qu\'il contient.", - "Image Size": "Dimensions de l\'image", - "Other" : "Autre...", - "Rename": "Renommer", - "Please enter new name for this file...": "Entrez un nouveau nom pour ce fichier...", - "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": "Impossible de renommer le fichier. \n Un fichier de même nom existe déjà ou l\'écriture est impossible.", - "Cancelled rename.": "Renommage annulé.", - 'File "$file" successfully uploaded.': 'Fichier "$file" envoyé.', - "Cannot upload. Maximum folder size reached. Delete unwanted files and try again.":"La taille maximale pour le dossier est atteinte. Vous devez effacer des fichiers pour libérer de la place", - "Maximum file size [$max_size KB] exceeded.":"Taille de fichier [$max_size Ko] dépassée.", - "Cannot upload $extension Files. Permission denied.": "Impossible d\'envoyer des fichiers $extension.", - "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.":"Impossible d'envoyer le fichier.\nSoit la taille maximale [$max_size Ko] est dépassée\nsoit le dossier ne possède pas les droits d\'écriture.", - "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "Taille maximale: $max_foldersize_mb Mo, libre: $free_space", - "Please enter new name for this folder...":"Entrez un nouveau nom pour ce dossier...", - - "Cut":"Couper", - "Copy":"Copier", - "Paste":"Coller", - - 'Copy "$file" from "$dir" here': 'Copier "$file" du dossier "$dir" ici', - 'Copy folder "$file" from "$dir" here' : 'Copier le dossier "$file" de "$dir" ici', - 'Move "$file" from "$dir" here':'Déplacer "$file" du dossier "$dir" ici', - 'Move folder "$file" from "$dir" here':'Déplacer le dossier "$file" de "$dir" ici', - - "Source file/folder not found.":"Dossier ou fichier source introuvable.", - "Paste failed.\nMaybe folder doesn't have write permission.": "Echec lors du coller.\nLe dossier n\'à peut être pas les droits d\'écriture.", - "Could not create destination folder.":"Impossible de créer le dossier de destination.", - "Destination file/folder already exists.":"Fichier/dossier déjà existant.", - "File pasted OK.": "Fichier correctement collé.", - "Filesize:" : "Taille du fichier:" -}; diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/ja.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/ja.js deleted file mode 100644 index 84ef26b0c..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/ja.js +++ /dev/null @@ -1,118 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "File Manager": "ファイルマネージャ", - "Insert Image": "画像の挿入", - "Directory": "ディレクトリ", - "Directory Up": "親ディレクトリへ", - "New Folder": "新規フォルダ", - "Trash": "削除", - "Edit": "編集", - "Image File": "画像ファイル", - "Upload": "アップロード", - "Width": "幅", - "Height": "高さ", - "Width:": "幅:", - "Height:": "高さ:", - "Constrain Proportions": "縦横比を固定", - "Border": "ボーダー", - "Margin": "間隔", - "Padding": "余白", - "Refresh": "更新", - "Uploading...": "アップロード中...", - "Uploading": "アップロード中", - "Crop": "切り抜き", - "Resize": "サイズ変更", - "Rotate": "回転", - "Measure": "計測", - "Marker": "マーカー", - "Save": "保存", - "Filename:": "ファイル名:", - "Image Format": "画像形式", - "Quality:": "画質:", - "JPEG High": "JPEG 高画質", - "JPEG Medium": "JPEG 標準", - "JPEG Low": "JPEG 低画質", - "File saved.": "ファイルを保存しました。", - "File was not saved.": "ファイルを保存できませんでした。", - "Start X:": "開始 X", - "Start Y:": "開始 Y", - "Lock": "ロック", - "Flip Image": "画像を反転", - "Flip Horizontal": "左右反転", - "Flip Vertical": "上下反転", - "Rotate Image": "画像を回転", - "Rotate 180 °": "180°", - "Rotate 90 ° CW": "90° 時計回り", - "Rotate 90 ° CCW": "90° 反時計回り", - "Angle:": "角度:", - "W:": "W:", - "Clear": "クリア", - "Loading": "ロード中", - "Invalid base directory:": "無効なディレクトリ:", - 'Delete file "$file"?': 'ファイル "$file" を削除しますか?', - "Please delete all files/folders inside the folder you wish to delete first.": "削除したいフォルダ内のファイルとフォルダを全て削除しておいてください。", - 'Delete folder "$dir"?': 'フォルダ "$dir" を削除しますか?', - "Folder Name:": "フォルダ名:", - "No Files Found": "ファイルがありません", - "Invalid folder name, please choose another folder name.": "無効なフォルダ名です。別のフォルダ名を選んでください。", - "GIF format is not supported, image editing not supported.": "GIF形式はサポートされていないため、画像編集できません。", - "No Image Available": "画像がありません", - "No Image selected.": "画像が選択されていません。", - "Description:": "詳細:", - "Align": "行揃え", - "Description:": "説明:", - "Margin:": "間隔:", - "Padding:": "余白:", - "Border:": "境界線:", - "Color:": "色:", - "Border Color:": "境界色:", - "Upload:": "アップロード:", - "Alt": "Alt", - "Alt": "Alt", - "File Name": "ファイル名", - "Thumbnail View": "サムネール表示", - "List View": "一覧表示", - "Title (tooltip)": "タイトル", - "Target Window": "ターゲット", - "Name": "名前", - "Size": "サイズ", - "Date Modified": "更新日", - "Total Size": "合計サイズ", - "Free Space": "空き容量", - "Positioning of this image" : "この画像の配置", - "Insert File Link": "ファイルへのリンクを挿入", - "Untitled": "無題", - 'Please enter name for new folder...': "新規フォルダの名前を入力してください...", - "You must select some text before making a new link.": "リンクを作成するにはテキストを選択する必要があります。", - "Folder is not empty. Please delete all Files and Subfolders inside.": "フォルダは空ではありません。中のファイルとサブフォルダをすべて削除してください。", - "Image Size": "画像サイズ", - "Other" : "その他", - "Rename": "名前の変更", - "Please enter new name for this file...": "ファイルの新しい名前を入力してください...", - "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": - "ファイル名を変更できません。同名のファイルが存在するか、\nフォルダに書き込み権限がありません。", - "Cancelled rename.": "名前変更を中止しました。", - 'File "$file" successfully uploaded.': 'ファイル "$file" のアップロードに成功しました。', - "Cannot upload. Maximum folder size reached. Delete unwanted files and try again.":"アップロードできません。フォルダ容量の上限に達しました。不要なファイルを削除して、再試行してください。", - "Maximum file size [$max_size KB] exceeded.":"ファイルサイズ上限 [$max_size KB] を超えています。", - "Cannot upload $extension Files. Permission denied.": "$extension ファイルをアップロードできません。操作は禁止されています。", - "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.":"ファイルをアップロードできません。\nファイルサイズ上限 [$max_size KB] を超えているか、\nフォルダに書き込み権限がありません。", - "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "合計サイズ: $max_foldersize_mb MB, 空き容量: $free_space", - "Please enter new name for this folder...":"このフォルダの新しい名前を入力してください...", - - "Cut":"切り取り", - "Copy":"コピー", - "Paste":"貼り付け", - - 'Copy "$file" from "$dir" here': '"$file" を "$dir" からここにコピー', - 'Copy folder "$file" from "$dir" here' : 'フォルダ "$file" を "$dir" からここにコピー', - 'Move "$file" from "$dir" here':'"$file" を "$dir" からここに移動', - 'Move folder "$file" from "$dir" here':'フォルダ "$file" を "$dir" からここに移動', - - "Source file/folder not found.":"転送元ファイル/フォルダが見つかりません。", - "Paste failed.\nMaybe folder doesn't have write permission.": "貼り付けに失敗しました。\nフォルダに書き込み権限がない可能性があります。", - "Could not create destination folder.":"転送先フォルダを作成できませんでした。", - "Destination file/folder already exists.":"転送先ファイル/フォルダはすでに存在します。", - "File pasted OK.": "ファイルの貼り付けに成功しました。" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nb.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nb.js deleted file mode 100644 index b6fad4894..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nb.js +++ /dev/null @@ -1,110 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.easycms.no/, kim@easycms.no -{ - "File Manager": "Filbehandler", - "Insert Image": "Sett inn bilde", - "Directory": "Mappe", - "Directory Up": "Opp et nivå", - "New Folder": "Ny mappe", - "Trash": "Søppel", - "Edit": "Rediger", - "Image File": "Bildefil", - "Upload": "Last opp", - "Upload:": "Last opp:", - "Width": "Bredde", - "Height": "Høyde", - "Constrain Proportions": "Beholde proposjoner", - "Border": "Ramme", - "Margin": "Marg", - "Padding": "Innvendig marg", - "Refresh": "Oppfrisk side", - "Uploading...": "Laster opp...", - "Uploading": "Laster opp", - "Crop": "Beskjær", - "Resize": "Endre størrelse", - "Rotate": "Roter", - "Measure": "Mål", - "Marker": "Markør", - "Save": "Lagre", - "Filename:": "Filnavn:", - "Image Format": "Bildeformat:", - "Quality:": "Kvalitet", - "JPEG High": "JPEG høy", - "JPEG Medium": "JPEG middels", - "JPEG Low": "JPEG lav", - "File saved.": "Fil er lagret.", - "File was not saved.": "Filen ble ikke lagret.", - "Start X:": "Start X", - "Start Y:": "Start Y", - "Lock": "Lås", - "Flip Image": "Vend bilde", - "Flip Horizontal": "Vend horisontal", - "Flip Vertical": "Vend vertikal", - "Rotate Image": "Roter bilde", - "Rotate 180 °": "Roter 180°", - "Rotate 90 ° CW": "Roter 90° med klokka", - "Rotate 90 ° CCW": "Roter 90° mot klokka", - "Angle:": "Vinkel:", - "W:": "L:", - "Clear": "Tøm", - "Loading": "Laster", - "Invalid base directory:": "Ugyldig sti til mappe:", - 'Delete file "$file"?': "$file\n\nSlette fil?", - "Please delete all files/folders inside the folder you wish to delete first.": "Vennligst slett alle filer og mapper i mappen du ønsker å slette først!", - 'Delete folder "$dir"?': "$dir\n\nSlette mappe?", - "Folder Name:": "Mappe navn", - "No Files Found": "Ingen filer funnet", - "Invalid folder name, please choose another folder name.": "Ugyldig mappenavn, vennligst velg et annet mappenavn", - "GIF format is not supported, image editing not supported.": "GIF format er ikke støttet og bilderedigering er derfor ikke tilgjengelig.", - "No Image Available": "Inget bilde tilgjengelig.", - "No Image selected.": "Inget bilde valgt.", - "Description:": "Beskrivelse:", - "Align": "Juster", - "Color:": "Farge:", - "Border Color:": "Ramme farge:", - "Alt": "Alt", - "File Name": "Filnavn", - "Thumbnail View": "Miniatyrbilde", - "List View": "Liste", - "Title (tooltip)": "Tittel (tooltip)", - "Target Window": "Mål", - "Name": "Navn", - "Size": "Størrelse", - "Date Modified": "Siste endret", - "Total Size": "Total størrelse", - "Free Space": "Ledig plass", - "Positioning of this image" : "Bildepossisjon", - "Insert File Link": "Sett inn lenke til fil", - "Untitled": "Uten navn", - 'Please enter name for new folder...': "Skriv inn navn for ny mappe...", - "You must select some text before making a new link.": "Du må velge noe tekst før du kan lage en ny lenke.", - "Folder is not empty. Please delete all Files and Subfolders inside.": "Mappen er ikke tom. Du må slette alle filer og mapper i mappen først.", - "Image Size": "Bilde størrelse", - "Other" : "Andre...", - "Rename": "Nytt navn", - "Please enter new name for this file...": "Vennligst skriv inn nytt navn for denne fil...", - "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": "Kan ikke omdøpe fil. En fil har allerede samme navn eller\nmappen har ikke skriverettigheter.", - "Cancelled rename.": "Omdøping av filnavn avbrutt.", - 'File "$file" successfully uploaded.': 'File "$file" successfully uploaded.', - "Cannot upload. Maximum folder size reached. Delete unwanted files and try again.":"Cannot upload. Maximum folder size reached. Delete unwanted files and try again.", - "Maximum file size [$max_size KB] exceeded.":"Maximum file size [$max_size KB] exceeded.", - "Cannot upload $extension Files. Permission denied.": "Cannot upload $extension Files. Permission denied.", - "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.":"Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.", - "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "Total Size : $max_foldersize_mb MB, Free Space: $free_space", - "Please enter new name for this folder...":"Please enter new name for this folder...", - - "Cut":"Cut", - "Copy":"Copy", - "Paste":"Paste", - - 'Copy "$file" from "$dir" here': 'Copy "$file" from "$dir" here', - 'Copy folder "$file" from "$dir" here' : 'Copy folder "$file" from "$dir" here', - 'Move "$file" from "$dir" here':'Move "$file" from "$dir" here', - 'Move folder "$file" from "$dir" here':'Move folder "$file" from "$dir" here', - - "Source file/folder not found.":"Source file/folder not found.", - "Paste failed.\nMaybe folder doesn't have write permission.": "Paste failed.\nMaybe folder doesn't have write permission.", - "Could not create destination folder.":"Could not create destination folder.", - "Destination file/folder already exists.":"Destination file/folder already exists.", - "File pasted OK.": "File pasted OK." \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nl.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nl.js deleted file mode 100644 index 704798d86..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nl.js +++ /dev/null @@ -1,116 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "File Manager": "Bestandsbeheer", - "Insert Image": "Beeld invoegen", - "Directory": "Map", - "Directory Up": "Bovenliggende map", - "New Folder": "Nieuw map", - "Trash": "Prullenbak", - "Edit": "Bewerken", - "Image File": "Beeldbestand", - "Upload": "Upload", - "Upload:": "Upload:", - "Width": "Breed", - "Height": "Hoog", - "Constrain Proportions": "Proportie behouden", - "Border": "Kader", - "Margin": "Inspringen", - "Padding": "Uitvullen", - "Refresh": "Vernieuwen", - "Uploading...": "Uploaden...", - "Uploading": "Uploaden", - "Crop": "Uitsneden", - "Resize": "Formaat wijzigen", - "Rotate": "Draaien", - "Measure": "Opmeten", - "Marker": "Markeren", - "Save": "Opslaan", - "Filename:": "Bestandsnaam:", - "Image Format": "Beeldformaat:", - "Quality:": "Kwaliteit", - "JPEG High": "JPEG hoog", - "JPEG Medium": "JPEG midden", - "JPEG Low": "JPEG laag", - "File saved.": "Bestand opgeslagen.", - "File was not saved.": "Bestand niet opgeslagen.", - "Start X:": "Start X", - "Start Y:": "Start Y", - "Lock": "Op-slot", - "Flip Image": "Beeld spiegelen", - "Flip Horizontal": "hor. spiegelen", - "Flip Vertical": "ver. spiegelen", - "Rotate Image": "Beeld draaien", - "Rotate 180 °": "Draai 180° om", - "Rotate 90 ° CW": "Draai rechts om 90°", - "Rotate 90 ° CCW": "Draai links om 90°", - "Angle:": "Hoek:", - "W:": "W:", - "Clear": "Wissen", - "Loading": "Laden", - "Invalid base directory:": "Ongeldig pad:", - 'Delete file "$file"?': 'Bestand "$file" verwijderen?', - "Please delete all files/folders inside the folder you wish to delete first.": "Vewijder alle onderliggende bestanden/mappen eerst.", - 'Delete folder "$dir"?': 'Wis map "$dir"?', - "Folder Name:": "Map naam", - "No Files Found": "Geen bestaand gevonden", - "Invalid folder name, please choose another folder name.": "Ongeldig map naam, kies een andere naam s.v.p..", - "GIF format is not supported, image editing not supported.": "GIF-format niet ondersteund, beeldbewerking niet ondersteund.", - "No Image Available": "Geen beeld beschikbaar", - "No Image selected.": "Geen beeld geselecteerd.", - "Description:": "Beschrijving:", - "Align": "Uitlijnen", - "Description:": "Beschrijving:", - "Margin": "Inspringen", - "Padding": "Uitvullen", - "Border": "Kader", - "Color:": "Kleur:", - "Border Color:": "Kaderkleur:", - "Upload:": "Upload:", - "Alt": "Alt", - "Alt": "Alt", - "File Name": "Bestandsnaam", - "Thumbnail View": "Miniaturen", - "List View": "Lijst", - "Title (tooltip)": "Titel (tooltip)", - "Target Window": "Doel venster", - "Name": "Naam", - "Size": "Grootte", - "Date Modified": "Datum aangepast", - "Total Size": "Totaalgrootte", - "Free Space": "Vrije ruimte", - "Positioning of this image" : "Uitlijnen van dit beeld", - "Insert File Link": "Hypelink van bestandinvoegen", - "Untitled": "Geen titel", - 'Please enter name for new folder...': "Naam van nieuwe map...", - "You must select some text before making a new link.": "Eerst tekst selecteren.", - "Folder is not empty. Please delete all Files and Subfolders inside.": "Map is niet leeg. Verwijder eerst alle bestanden en onderliggendemappen.", - "Image Size": "Beeld afmetingen", - "Other" : "Andere...", - "Rename": "Naam wijzigen", - "Please enter new name for this file...": "Nieuwe bestandsnaam...", - "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": "Hernoemen niet mogelijk. Bestand bestaat al of\nmap heeft geen schrijf toestemming.", - "Cancelled rename.": "Hernoemen geannuleerd.", - 'File "$file" successfully uploaded.': '"$file" bestand upload voltooid.', - "Cannot upload. Maximum folder size reached.": "Uploaden is niet mogelijk. De doel map is vol.", - "Maximum file size [$max_size KB] exceeded.": "Maximale bestandgrootte [$max_size KB] overschreden.", - "Cannot upload $extension Files. Permission denied.": "Het is niet mogelijk om $extension bestanden te uploaden.", - "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.": "Bestands upload niet mogelijk.\nMaximale bestandsgrootte [$max_size KB] overtreden\nof de map heeft geen schrijf toestemming.", - "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "Totaalgrootte: $max_foldersize_mb MB, nog vrij: $free_space", - "Please enter new name for this folder...":"Geef een nieuwe naam voor deze map...", - - "Cut":"Knippen", - "Copy":"Kopiëren", - "Paste":"Plakken", - - 'Copy "$file" from "$dir" here': 'Kopieer "$file" van "$dir" naar', - 'Copy folder "$file" from "$dir" here' : 'Kopieer map "$file" van "$dir" naar', - 'Move "$file" from "$dir" here':'Verplaats "$file" van "$dir" naar', - 'Move folder "$file" from "$dir" here':'Verplaats map "$file" van "$dir" naar', - - "Source file/folder not found.":"Bron bestand/map niet gevonden.", - "Paste failed.\nMaybe folder doesn't have write permission.": "Plakken mislukt..\nDe map heeft mogelijk niet de juiste schrijfrechten.", - "Could not create destination folder.":"Bestemmings map kon niet worden gemaakt..", - "Destination file/folder already exists.":"Bestemmings bestand/map bestaat al." -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pl.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pl.js deleted file mode 100644 index af529266f..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pl.js +++ /dev/null @@ -1,110 +0,0 @@ -// I18N constants -// LANG: "pl", ENCODING: UTF-8 -// translated: Krzysztof Kotowicz, http://www.web.eskot.pl, koto@webworkers.pl -{ - "File Manager": "Menedżer plików", - "Insert Image": "Wstaw obrazek", - "Directory": "Katalog", - "Directory Up": "Katalog wyżej", - "New Folder": "Nowy katalog", - "Trash": "Usuń", - "Edit": "Edytuj", - "Image File": "Plik obrazka", - "Upload": "Wgraj", - "Width": "Szerokość", - "Height": "Wysokość", - "Width:": "Szerokość:", - "Height:": "Wysokość:", - "Constrain Proportions": "Zachowaj proporcje", - "Border": "Ramka", - "Margin": "Odstęp", - "Padding": "Wcięcie", - "Refresh": "Odśwież", - "Uploading...": "Wgrywanie...", - "Uploading": "Wgrywam", - "Crop": "Przytnij", - "Resize": "Przeskaluj", - "Rotate": "Obróć", - "Measure": "Zmierz", - "Marker": "Zaznacz", - "Save": "Zapisz", - "Filename:": "Nazwa pliku:", - "Image Format": "Format pliku:", - "Quality:": "Jakość", - "JPEG High": "JPEG wysoka", - "JPEG Medium": "JPEG średnia", - "JPEG Low": "JPEG niska", - "File saved.": "Zapisano plik.", - "File was not saved.": "Nie zapisano pliku.", - "Start X:": "Początek X:", - "Start Y:": "Początek Y:", - "Lock": "Zablokuj", - "Flip Image": "Odwróć", - "Flip Horizontal": "Odwróć poziomo", - "Flip Vertical": "Odwróć pionowo", - "Rotate Image": "Obróć", - "Rotate 180 °": "Obróć 180°", - "Rotate 90 ° CW": "Obróć 90° w prawo", - "Rotate 90 ° CCW": "Obróć 90° w lewo", - "Angle:": "Kąt:", - "W:": "L:", - "Clear": "Wyczyść", - "Loading": "Ładowanie", - "Invalid base directory:": "Nieprawidłowy katalog bazowy:", - 'Delete file "$file"?': "$file\n\nUsunąć plik?", - "Please delete all files/folders inside the folder you wish to delete first.": "Najpierw usuń wszystkie pliki i podkatalogi katalogu.", - 'Delete folder "$dir"?': "$dir\n\nUsunąć katalog ?", - "No Files Found": "Nie znaleziono plików", - "Invalid folder name, please choose another folder name.": "Nieprawidłowa nazwa katalogu, wybierz inną.", - "GIF format is not supported, image editing not supported.": "Brak obsługi plików GIF, edycja jest niemożliwa.", - "No Image Available": "Obrazek niedostępny", - "No Image selected.": "Nie zaznaczono obrazka.", - "Align": "Wyrównanie", - "Color": "Kolor", - "Border Color": "Kolor ramki", - "Alt": "Alt", - "File Name": "Nazwa pliku", - "Thumbnail View": "Miniaturki", - "List View": "Lista", - "Title (tooltip)": "Tytuł", - "Target Window": "Docelowe okno", - "Name": "Nazwa", - "Size": "Rozmiar", - "Date Modified": "Data ost.modyf.", - "Total Size": "Miejsce na serwerze", - "Free Space": "Pozostało", - "Positioning of this image" : "Wyrównanie tego obrazka na stronie", - "Insert File Link": "Wstaw odnośnik do pliku na serwerze", - "Untitled": "Bez_nazwy", - 'Please enter name for new folder...': "Podaj nazwę nowego folderu...", - "You must select some text before making a new link.": "Zaznacz tekst przed dodaniem odnośnika.", - "Folder is not empty. Please delete all Files and Subfolders inside.": "Folder nie jest pusty. Najpierw usuń wszystkie pliki i podfoldery tego folderu.", - "Image Size": "Wymiary", - "Other" : "Inne...", - "Rename": "Zmień nazwę", - "Please enter new name for this file...": "Podaj nową nazwę dla tego pliku...", - "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": "Nie mogłem zmienić nazwy pliku. Plik o nowej nazwie już istnieje\nlub prak praw zapisu do katalogu.", - "Cancelled rename.": "Anulowano zmianę nazwy pliku.", - 'File "$file" successfully uploaded.': 'Plik "$file" wgrano na serwer.', - "Cannot upload. Maximum folder size reached. Delete unwanted files and try again.":"Wgrywanie nie powiodło się.\n\nPrzekroczono dozwolony limit miejsca. Usuń niechciane pliki i spróbuj ponownie.", - "Maximum file size [$max_size KB] exceeded.":"Wgrywanie nie powiodło się.\n\nPrzekroczono maksymalny rozmiar pliku [$max_size KB].", - "Cannot upload $extension Files. Permission denied.": "Nie można było wgrać pliku.\n\nNiedozwolone rozszerzenie pliku [$extension].", - "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.":"Wgrywanie nie powiodło się.\n\nPrzekroczono maksymalny rozmiar pliku [$max_size KB] lub nie ma ustawionych praw zapisu do folderu.", - "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "Dostępny limit: $max_foldersize_mb MB, Wolne: $free_space", - "Please enter new name for this folder...":"Podaj nową nazwę dla tego folderu...", - - "Cut":"Wytnij", - "Copy":"Kopiuj", - "Paste":"Wklej", - - 'Copy "$file" from "$dir" here': 'Skopiuj "$file" z "$dir" tutaj', - 'Copy folder "$file" from "$dir" here' : 'Skopiuj folder "$file" z "$dir" tutaj', - 'Move "$file" from "$dir" here':'Przenieś "$file" z "$dir" tutaj', - 'Move folder "$file" from "$dir" here':'Przenieś folder "$file" z "$dir" tutaj', - - "Source file/folder not found.":"Nie znaleziono pliku/folderu źródłowego.", - "Paste failed.\nMaybe folder doesn't have write permission.": "Wklejenie nie powiodło się.\nPrawdopodobnie nie masz praw zapisu w tym folderze.", - "Could not create destination folder.":"Nie można było utworzyć folderu docelowego.", - "Destination file/folder already exists.":"Plik/folder docelowy już istnieje.", - "File pasted OK.": "Wklejono plik." -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pt_br.js deleted file mode 100644 index 66ef7c192..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pt_br.js +++ /dev/null @@ -1,102 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - ">List View": ">Lista", - ">Thumbnail View": ">Miniaturas", - "A:": "A:", - "Absbottom": "Inferior absoluto", - "Absmiddle": "Meio absoluto", - "Align": "Alinhamento", - "Alt": "Alt", - "Angle:": "Angulo:", - "Baseline": "Linha de base", - "Border": "Borda", - "Border Color": "Côr da Borda", - "Bottom": "Inferior", - "Cancel": "Cancelar", - "Clear": "Limpar", - "Color": "Côr", - "Constrain Proportions": "Manter Proporcionalidade", - "Copy": "Copiar", - "Crop": "Recortar", - "Cut": "Cortar", - "Directory": "Diretório", - "Directory Up": "Diretório Acima", - "Edit": "Editar", - "File List": "Lista de Arquivos", - "File Manager": "Gerenciador de Arquivos", - "Filename:": "Nome do Arquivo:", - "Flip Horizontal": "Espelhar Horizontalmente", - "Flip Image": "Espelhar Imagem", - "Flip Vertical": "Espelhar Verticalmente", - "Folder": "Pasta", - "GIF format is not supported, image editing not supported.": "Formato GIF não é suportado, não é possível editar imagem.", - "H:": "A:", - "Height": "Altura", - "Height:": "Altura:", - "Image Editor": "Editor de Imagem", - "Image Format": "Formato da Imagem", - "Image Selection": "Seleção de Imagem", - "Insert File Link": "Inserir Link de Arquivo", - "Invalid base directory:": "Diretório base inválido", - "JPEG High": "JPEG Alto", - "JPEG Low": "JPEG Baixo", - "JPEG Medium": "JPEG Médio", - "Left": "Esquerda", - "Loading": "Carregando", - "Lock": "Travar", - "Margin": "Margem", - "Marker": "Marcar", - "Maximum folder size limit reached. Upload disabled.": "Atingido o limite máximo da pasta. Envio desativado.", - "Measure": "Medida:", - "Middle": "Meio", - "New Folder": "Nova Pasta", - "New window (_blank)": "Nova janela (_blank)", - "No Files Found": "Nenhum Arquivo Encontrado", - "No Image Available": "Nenhuma Imagem Disponível", - "None (use implicit)": "Nenhum (uso implícito)", - "Not set": "Não definido", - "Padding": "Espaçamento Interno", - "Please enter value": "Por favor, entre o valor", - "Positioning of this image": "Posicionamento desta imagem", - "Quality:": "Qualidade:", - "Refresh": "Atualizar", - "Rename": "Renomear", - "Resize": "Redimencionar", - "Right": "Direita(o)", - "Rotate": "Rotacionar", - "Rotate 180 °": "Rotacionar 180 °", - "Rotate 90 ° CCW": "Rotacionar 90 ° anti-horário", - "Rotate 90 ° CW": "Rotacionar 90 ° horário", - "Rotate Image": "Rotacionar Imagem", - "Same frame (_self)": "Mesma frame (_self)", - "Save": "Gravar", - "Start X:": "Início X:", - "Start Y:": "Início Y", - "Target Window": "Janela Destino", - "Texttop": "Texto no topo", - "Title (tooltip)": "Título (tooltip)", - "Top": "Topo", - "Top frame (_top)": "Frame do topo (_top)", - "Trash": "Lixo", - "Upload": "Enviar", - "W:": "L:", - "Width": "Largura", - "Width:": "Largura:", - "X:": "X:", - "Y:": "Y:", - "You must select some text before making a new link.": "Você precisa selecionar um texto antes de criar um novo link." -} diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/manager.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/manager.php deleted file mode 100755 index 998e6c6ca..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/manager.php +++ /dev/null @@ -1,285 +0,0 @@ -getDirs(); - - // calculate number of table rows to span for the preview cell - $num_rows = 4; // filename & upload & disk info message & width+margin - - if ($insertMode=='image') - { - if ($IMConfig['images_enable_styling'] === false) - { - $hidden_fields[] = 'f_margin'; - $hidden_fields[] = 'f_padding'; - $hidden_fields[] = 'f_border'; - $hidden_fields[] = 'f_backgroundColor'; - $hidden_fields[] = 'f_borderColor'; - $num_rows +=2; - } - else if ($IMConfig['use_color_pickers'] === false) - { - $hidden_fields[] = 'f_backgroundColor'; - $hidden_fields[] = 'f_borderColor'; - $num_rows +=2; - } - - if ($IMConfig['images_enable_align'] === false) - { - $hidden_fields[] = 'f_align'; - } - if ($IMConfig['images_enable_alt']) - { - $num_rows++; - } - else - { - $hidden_fields[] = 'f_alt'; - } - if ($IMConfig['images_enable_title']) - { - $num_rows++; - } - else - { - $hidden_fields[] = 'f_title'; - } - } - - if ($insertMode == 'link') - { - if ($IMConfig['link_enable_target'] === false) - { - $hidden_fields[] = 'f_target'; - } - $num_rows +=2; - } -?> - - - - Insert <?php echo ($insertMode == 'image' ? 'Image' : 'File Link') ?> - - - - - - - - - - - -
Insert
-
- - - - -
File Manager - - - - - -
- - - - - Directory Up - - - - New Folder - - - - -
-
Loading...
- -
-
- -
- - - - - - - - - - - - - - - - - - -getImagesDir()) > ($IMConfig['max_foldersize_mb']*1048576)) -{ ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -

- -
Maximum folder size limit reached. Upload disabled. - - - - - -
-( max.)
-
"; ?>
Constrained Proportions - - -
- -
- Color - -
- - Border Color
- - -
-
- - - -
-
-
- - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/prompt.html b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/prompt.html deleted file mode 100755 index ffe6784d3..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/prompt.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - -
Please enter value
-
-
- - -
-
-
- - -
-
- - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/resizer.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/resizer.php deleted file mode 100755 index 13ee6c382..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/resizer.php +++ /dev/null @@ -1,83 +0,0 @@ -&height=[&to=/relative/path/to/newimage.jpg] - * relative to the base_dir given in config.inc.php - * This is pretty much just thumbs.php with some mods, I'm too lazy to do it properly - * @author $Author:ray $ - * @version $Id:resizer.php 922 2007-12-30 14:35:46Z ray $ - * @package ImageManager - */ - -require_once('config.inc.php'); -require_once('Classes/ExtendedFileManager.php'); -require_once('../ImageManager/Classes/Thumbnail.php'); - -function js_fail($message) { echo 'alert(\'ha ' . $message . '\'); false'; exit; } -function js_success($resultFile) { echo '\'' . $resultFile . '\''; exit; } - -//check for img parameter in the url -if(!isset($_GET['img']) || !isset($_GET['width']) || !isset($_GET['height'])) -{ - js_fail('Missing parameter.'); -} - -$manager = new ExtendedFileManager($IMConfig); - -//get the image and the full path to the image -$image = $_GET['img']; -$fullpath = Files::makeFile($manager->getImagesDir(),$image); - -//not a file, so exit -if(!is_file($fullpath)) -{ - js_fail("File {$fullpath} does not exist."); -} - -$imgInfo = @getImageSize($fullpath); - -//Not an image, bail out. -if(!is_array($imgInfo)) -{ - js_fail("File {$fullpath} is not an image."); -} - -if(!isset($_GET['to'])) -{ - $resized = $manager->getResizedName($fullpath,$_GET['width'],$_GET['height']); - $_GET['to'] = $manager->getResizedName($image,$_GET['width'],$_GET['height'], FALSE); -} -else -{ - $resized = Files::makeFile($manager->getImagesDir(),$_GET['to']); -} - -// Check to see if it already exists -if(is_file($resized)) -{ - // And is newer - if(filemtime($resized) >= filemtime($fullpath)) - { - js_success($_GET['to']); - } -} - - - -// resize (thumbnailer will do this for us just fine) -$thumbnailer = new Thumbnail($_GET['width'],$_GET['height']); -$thumbnailer->proportional = FALSE; -$thumbnailer->createThumbnail($fullpath, $resized); - -// did it work? -if(is_file($resized)) -{ - js_success($_GET['to']); -} -else -{ - js_fail("Resize Failed."); -} -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/thumbs.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/thumbs.php deleted file mode 100755 index 849bb192e..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/thumbs.php +++ /dev/null @@ -1,85 +0,0 @@ -getImagesDir(),$image); - -//not a file, so exit -if(!is_file($fullpath)) - exit(); - -$imgInfo = @getImageSize($fullpath); - -//Not an image, send default thumbnail -if(!is_array($imgInfo)) -{ - //show the default image, otherwise we quit! - $default = $manager->getDefaultThumb(); - if($default) - { - header('Location: '.$default); - exit(); - } -} -//if the image is less than the thumbnail dimensions -//send the original image as thumbnail -if ($imgInfo[0] <= $IMConfig['thumbnail_width'] - && $imgInfo[1] <= $IMConfig['thumbnail_height']) - { - header('Location: '.$manager->getFileURL($image)); - exit(); - } - -//Check for thumbnails -$thumbnail = $manager->getThumbName($fullpath); -if(is_file($thumbnail)) -{ - //if the thumbnail is newer, send it - if(filemtime($thumbnail) >= filemtime($fullpath)) - { - header('Location: '.$manager->getThumbURL($image)); - exit(); - } -} - -//creating thumbnails -$thumbnailer = new Thumbnail($IMConfig['thumbnail_width'],$IMConfig['thumbnail_height']); -$thumbnailer->createThumbnail($fullpath, $thumbnail); - -//Check for NEW thumbnails -if(is_file($thumbnail)) -{ - //send the new thumbnail - header('Location: '.$manager->getThumbURL($image)); - exit(); -} -else -{ - //show the default image, otherwise we quit! - $default = $manager->getDefaultThumb(); - if($default) - header('Location: '.$default); -} -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Filter/filter.js b/ccm-core/web/assets/xinha/plugins/Filter/filter.js deleted file mode 100644 index 08685b07e..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/filter.js +++ /dev/null @@ -1,46 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Filter/filter.js */ -function Filter(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"filter",tooltip:this._lc("Filter"),image:_1.imgURL("ed_filter.gif","Filter"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -if(!_2.Filters){ -_2.Filters=["Paragraph","Word"]; -} -for(var i=0;i<_1.config.Filters.length;i++){ -_3.add(_1.config.Filters[i]); -} -_2.addToolbarElement("filter","removeformat",1); -} -Filter._pluginInfo={name:"Filter",version:"1.0",developer:"Udo Schmal (gocher)",developer_url:"",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath-NeueMedien",license:"htmlArea"}; -Filter.prototype.add=function(_6){ -if(eval("typeof "+_6)=="undefined"){ -var _7=Xinha.getPluginDir("Filter")+"/filters/"+_6+".js"; -var _8=document.getElementsByTagName("head")[0]; -var _9=Xinha.is_ie?"onreadystatechange":"onload"; -var _a=document.createElement("script"); -_a.type="text/javascript"; -_a.src=_7; -_a[_9]=function(){ -if(Xinha.is_ie&&!/loaded|complete/.test(window.event.srcElement.readyState)){ -return; -} -}; -_8.appendChild(_a); -} -}; -Filter.prototype._lc=function(_b){ -return Xinha._lc(_b,"Filter"); -}; -Filter.prototype.buttonPress=function(_c){ -var _d=_c.getInnerHTML(); -for(var i=0;i<_c.config.Filters.length;i++){ -_d=eval(_c.config.Filters[i])(_d); -} -_c.setHTML(_d); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Filter/filters/paragraph.js b/ccm-core/web/assets/xinha/plugins/Filter/filters/paragraph.js deleted file mode 100644 index 0edb322fd..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/filters/paragraph.js +++ /dev/null @@ -1,10 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Filter/filters/paragraph.js */ -Paragraph=function(_1){ -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p\s*>/gi,""); -_1=_1.trim(); -return _1; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Filter/filters/word.js b/ccm-core/web/assets/xinha/plugins/Filter/filters/word.js deleted file mode 100644 index e114b568a..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/filters/word.js +++ /dev/null @@ -1,30 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Filter/filters/word.js */ -Word=function(_1){ -_1=_1.replace(//gi,""); -_1=_1.replace(//gi,""); -_1=_1.replace(/<\/?\s*HTML[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*BODY[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*META[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*SPAN[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*FONT[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*IFRAME[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*STYLE[^>]*>(.|[\n\r\t])*<\/\s*STYLE\s*>/gi,""); -_1=_1.replace(/<\s*TITLE[^>]*>(.|[\n\r\t])*<\/\s*TITLE\s*>/gi,""); -_1=_1.replace(/<\s*SCRIPT[^>]*>[^\0]*<\/\s*SCRIPT\s*>/gi,""); -_1=_1.replace(/<\s*HEAD[^>]*>(.|[\n\r\t])*<\/\s*HEAD\s*>/gi,""); -_1=_1.replace(/<\s*(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\\?\?xml[^>]*>/gi,""); -_1=_1.replace(/<\/?\w+:[^>]*>/gi,""); -_1=_1.replace(/ /," "); -_1=_1.replace(/<\s*p[^>]*><\s*br\s*\/?>\s*<\/\s*p[^>]*>/gi,"
"); -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p[^>]*>/gi,"
"); -_1=_1.replace(/(\s*
\s*)*$/,""); -_1=_1.trim(); -return _1; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Filter/img/ed_filter.gif b/ccm-core/web/assets/xinha/plugins/Filter/img/ed_filter.gif deleted file mode 100755 index 53180a80b..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Filter/img/ed_filter.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Filter/lang/ja.js b/ccm-core/web/assets/xinha/plugins/Filter/lang/ja.js deleted file mode 100644 index 4ff9439eb..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/lang/ja.js +++ /dev/null @@ -1,5 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Filter": "フィルター" -}; diff --git a/ccm-core/web/assets/xinha/plugins/Filter/lang/nl.js b/ccm-core/web/assets/xinha/plugins/Filter/lang/nl.js deleted file mode 100644 index eaf9cfe55..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/lang/nl.js +++ /dev/null @@ -1,6 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Filter": "Filter" -}; diff --git a/ccm-core/web/assets/xinha/plugins/Filter/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/Filter/lang/pt_br.js deleted file mode 100644 index f650e4872..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/lang/pt_br.js +++ /dev/null @@ -1,18 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Filter": "Filtro" -}; diff --git a/ccm-core/web/assets/xinha/plugins/FindReplace/FindReplace.js b/ccm-core/web/assets/xinha/plugins/FindReplace/FindReplace.js new file mode 100644 index 000000000..065e68390 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/FindReplace/FindReplace.js @@ -0,0 +1,42 @@ +/*---------------------------------------*\ + Find and Replace Plugin for HTMLArea-3.0 + ----------------------------------------- + author: Cau guanabara + e-mail: caugb@ibest.com.br +\*---------------------------------------*/ + +function FindReplace(editor) { +this.editor = editor; +var cfg = editor.config; +var self = this; +cfg.registerButton("FR-findreplace", this._lc("Find and Replace"), + editor.imgURL("ed_find.gif", "FindReplace"), false, + function(editor) { self.buttonPress(editor); }); +cfg.addToolbarElement(["FR-findreplace","separator"], ["formatblock","fontsize","fontname"], -1); +} + +FindReplace.prototype.buttonPress = function(editor) { +FindReplace.editor = editor; +var sel = editor.getSelectedHTML(); + if(/\w/.test(sel)) { + sel = sel.replace(/<[^>]*>/g,""); + sel = sel.replace(/ /g,""); + } +var param = /\w/.test(sel) ? {fr_pattern: sel} : null; +editor._popupDialog("plugin://FindReplace/find_replace", null, param); +}; + +FindReplace._pluginInfo = { + name : "FindReplace", + version : "1.0 - beta", + developer : "Cau Guanabara", + developer_url : "mailto:caugb@ibest.com.br", + c_owner : "Cau Guanabara", + sponsor : "Independent production", + sponsor_url : "http://www.netflash.com.br/gb/HA3-rc1/examples/find-replace.html", + license : "htmlArea" +}; + +FindReplace.prototype._lc = function(string) { + return Xinha._lc(string, 'FindReplace'); +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FindReplace/find-replace.js b/ccm-core/web/assets/xinha/plugins/FindReplace/find-replace.js deleted file mode 100644 index 925c5a77a..000000000 --- a/ccm-core/web/assets/xinha/plugins/FindReplace/find-replace.js +++ /dev/null @@ -1,27 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FindReplace/find-replace.js */ -function FindReplace(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton("FR-findreplace",this._lc("Find and Replace"),_1.imgURL("ed_find.gif","FindReplace"),false,function(_4){ -_3.buttonPress(_4); -}); -_2.addToolbarElement(["FR-findreplace","separator"],["formatblock","fontsize","fontname"],-1); -} -FindReplace.prototype.buttonPress=function(_5){ -FindReplace.editor=_5; -var _6=_5.getSelectedHTML(); -if(/\w/.test(_6)){ -_6=_6.replace(/<[^>]*>/g,""); -_6=_6.replace(/ /g,""); -} -var _7=/\w/.test(_6)?{fr_pattern:_6}:null; -_5._popupDialog("plugin://FindReplace/find_replace",null,_7); -}; -FindReplace._pluginInfo={name:"FindReplace",version:"1.0 - beta",developer:"Cau Guanabara",developer_url:"mailto:caugb@ibest.com.br",c_owner:"Cau Guanabara",sponsor:"Independent production",sponsor_url:"http://www.netflash.com.br/gb/HA3-rc1/examples/find-replace.html",license:"htmlArea"}; -FindReplace.prototype._lc=function(_8){ -return Xinha._lc(_8,"FindReplace"); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js b/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js index a3ac2b9e9..fc6708d36 100644 --- a/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js +++ b/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js @@ -1,147 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FindReplace/fr_engine.js */ -var FindReplace=window.opener.FindReplace; -var editor=FindReplace.editor; -var is_mo=window.opener.Xinha.is_gecko; -var tosearch=""; -var pater=null; -var buffer=null; -var matches=0; -var replaces=0; -var fr_spans=new Array(); -function _lc(_1){ -return (window.opener.Xinha._lc(_1,"FindReplace")); -} -function execSearch(_2){ -var _3=editor._doc.body.innerHTML; -if(buffer==null){ -buffer=_3; -} -if(_2["fr_pattern"]!=tosearch){ -if(tosearch!=""){ -clearDoc(); -} -tosearch=_2["fr_pattern"]; -} -if(matches==0){ -er=_2["fr_words"]?"/(?!<[^>]*)(\\b"+_2["fr_pattern"]+"\\b)(?![^<]*>)/g":"/(?!<[^>]*)("+_2["fr_pattern"]+")(?![^<]*>)/g"; -if(!_2["fr_matchcase"]){ -er+="i"; -} -pater=eval(er); -var _4=""; -var _5=""; -var _6=_3.replace(pater,_4+"$1"+_5); -editor.setHTML(_6); -var _7=editor._doc.body.getElementsByTagName("span"); -for(var i=0;i<_7.length;i++){ -if(/^frmark/.test(_7[i].id)){ -fr_spans.push(_7[i]); -} -} -} -spanWalker(_2["fr_pattern"],_2["fr_replacement"],_2["fr_replaceall"]); -} -function spanWalker(_9,_a,_b){ -var _c=false; -clearMarks(); -for(var i=matches;i=fr_spans.length-1); -if(_f||!_c){ -var _10=_lc("Done")+":\n\n"; -if(matches>0){ -if(matches==1){ -_10+=matches+" "+_lc("found item"); -}else{ -_10+=matches+" "+_lc("found items"); -} -if(replaces>0){ -if(replaces==1){ -_10+=",\n"+replaces+" "+_lc("replaced item"); -}else{ -_10+=",\n"+replaces+" "+_lc("replaced items"); -} -} -hiliteAll(); -disab("fr_hiliteall",false); -}else{ -_10+="\""+_9+"\" "+_lc("not found"); -} -alert(_10+"."); -} -} -function clearDoc(){ -var doc=editor._doc.body.innerHTML; -var er=/(]*id=.?frmark[^>]*>)([^<>]*)(<\/span>)/gi; -editor._doc.body.innerHTML=doc.replace(er,"$2"); -pater=null; -tosearch=""; -fr_spans=new Array(); -matches=0; -replaces=0; -disab("fr_hiliteall,fr_clear",true); -} -function clearMarks(){ -var _13=editor._doc.body.getElementsByTagName("span"); -for(var i=0;i<_13.length;i++){ -var elm=_13[i]; -if(/^frmark/.test(elm.id)){ -var _16=editor._doc.getElementById(elm.id).style; -_16.backgroundColor=""; -_16.color=""; -_16.fontWeight=""; -} -} -} -function hiliteAll(){ -var _17=editor._doc.body.getElementsByTagName("span"); -for(var i=0;i<_17.length;i++){ -var elm=_17[i]; -if(/^frmark/.test(elm.id)){ -var _1a=editor._doc.getElementById(elm.id).style; -_1a.backgroundColor="highlight"; -_1a.color="white"; -_1a.fontWeight="bold"; -} -} -} -function resetContents(){ -if(buffer==null){ -return; -} -var _1b=editor._doc.body.innerHTML; -editor._doc.body.innerHTML=buffer; -buffer=_1b; -} -function disab(_1c,_1d){ -var _1e=_1c.split(/[,; ]+/); -for(var i=0;i<_1e.length;i++){ -document.getElementById(_1e[i]).disabled=_1d; -} -} - +var FindReplace=window.opener.FindReplace;var editor=FindReplace.editor;var is_mo=window.opener.Xinha.is_gecko;var tosearch="";var pater=null;var buffer=null;var matches=0;var replaces=0;var fr_spans=new Array();function _lc(a){return(window.opener.Xinha._lc(a,"FindReplace"))}function execSearch(params){var ihtml=editor._doc.body.innerHTML;if(buffer==null){buffer=ihtml}if(params.fr_pattern!=tosearch){if(tosearch!=""){clearDoc()}tosearch=params.fr_pattern}if(matches==0){er=params.fr_words?"/(?!<[^>]*)(\\b"+params.fr_pattern+"\\b)(?![^<]*>)/g":"/(?!<[^>]*)("+params.fr_pattern+")(?![^<]*>)/g";if(!params.fr_matchcase){er+="i"}pater=eval(er);var tago="";var tagc="";var newHtml=ihtml.replace(pater,tago+"$1"+tagc);editor.setHTML(newHtml);var getallspans=editor._doc.body.getElementsByTagName("span");for(var i=0;i=fr_spans.length-1);if(f||!g){var e=_lc("Done")+":\n\n";if(matches>0){if(matches==1){e+=matches+" "+_lc("found item")}else{e+=matches+" "+_lc("found items")}if(replaces>0){if(replaces==1){e+=",\n"+replaces+" "+_lc("replaced item")}else{e+=",\n"+replaces+" "+_lc("replaced items")}}hiliteAll();disab("fr_hiliteall",false)}else{e+='"'+a+'" '+_lc("not found")}alert(e+".")}}function clearDoc(){var a=editor._doc.body.innerHTML;var b=/(]*id=.?frmark[^>]*>)([^<>]*)(<\/span>)/gi;editor._doc.body.innerHTML=a.replace(b,"$2");pater=null;tosearch="";fr_spans=new Array();matches=0;replaces=0;disab("fr_hiliteall,fr_clear",true)}function clearMarks(){var d=editor._doc.body.getElementsByTagName("span");for(var b=0;b
Options - + Whole words only
- + Case sensitive search
@@ -137,7 +137,7 @@ letter-spacing: 2px; alert(_lc('Inform a replacement word')); return false; } - clearDoc();"> + clearDoc();" value="on"> Substitute all occurrences @@ -159,4 +159,4 @@ letter-spacing: 2px; - \ No newline at end of file + diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/README b/ccm-core/web/assets/xinha/plugins/FormOperations/README deleted file mode 100755 index d816c67e2..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/README +++ /dev/null @@ -1,32 +0,0 @@ -Form Operations Plugin ----------------------- - -Usage: - 1. Follow the standard procedure for loading a plugin. - 2. You may configure the plugin by setting the following configuration variables, or leave them as the defaults. - - xinha_config.FormOperations.multiple_field_format - = 'php' - this will cause checkbox and "multiple" select fields to have [] - appended to thier field names silently - = 'unmodified' - field names will not be silently modified - - xinha_config.FormOperations.allow_edit_form - = true - the user will be able to edit the action, and method of forms - = false - neither action, nor method is editable - - xinha_config.FormOperations.default_form_action - = 'whatever you want' - the default form action to set when inserting a form. The standard one is a php file in the Form Operations directory which will email the form post to enquiries@ - - xinha_config.FormOperations.default_form_html - = '
whatever you want here
' - the default html to insert when inserting a form. The standard one is a basic contact form. If you would like to specify an external file which contains the HTML for the form, you may do so via - = HTMLArea._geturlcontent('http://absolute/url/to/file.html') - see default_form.html for a suitable example, pay attention to the form tag. - - - diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/default_form.html b/ccm-core/web/assets/xinha/plugins/FormOperations/default_form.html deleted file mode 100755 index 9e7d4e12a..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/default_form.html +++ /dev/null @@ -1,36 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Contact Us
Your name:
Your email:
Message Subject:
What are your hobbies? - Marbles
- Conkers
- Jacks -
Message Body:
- -
-    -
\ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/form-operations.js b/ccm-core/web/assets/xinha/plugins/FormOperations/form-operations.js deleted file mode 100644 index 199d93b6c..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/form-operations.js +++ /dev/null @@ -1,435 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FormOperations/form-operations.js */ -Xinha.Config.prototype.FormOperations={"multiple_field_format":"php","allow_edit_form":false,"default_form_action":Xinha.getPluginDir("FormOperations")+"/formmail.php","default_form_html":Xinha._geturlcontent(Xinha.getPluginDir("FormOperations")+"/default_form.html")}; -FormOperations._pluginInfo={name:"FormOperations",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"}; -function FormOperations(_1){ -this.editor=_1; -this.panel=false; -this.html=false; -this.ready=false; -this.activeElement=null; -this._preparePanel(); -_1.config.pageStyleSheets.push(Xinha.getPluginDir("FormOperations")+"/iframe.css"); -var _2=["separator","insert_form","insert_text_field","insert_textarea_field","insert_select_field","insert_cb_field","insert_rb_field","insert_button"]; -this.editor.config.toolbar.push(_2); -function pasteAndSelect(_3){ -var id=Xinha.uniq("fo"); -_3=_3.replace(/^<([^ \/>]+)/i,"<$1 id=\""+id+"\""); -_1.insertHTML(_3); -var el=_1._doc.getElementById(id); -el.setAttribute("id",""); -_1.selectNodeContents(el); -_1.updateToolbar(); -return el; -} -var _6=_1.imgURL("buttons.gif","FormOperations"); -FormOperations.prototype._lc=function(_7){ -return Xinha._lc(_7,"FormOperations"); -}; -this.editor.config.btnList.insert_form=[this._lc("Insert a Form."),[_6,0,0],false,function(){ -var _8=null; -if(_1.config.FormOperations.default_form_html){ -_8=pasteAndSelect(_1.config.FormOperations.default_form_html); -}else{ -_8=pasteAndSelect("
 
"); -} -if(_1.config.FormOperations.default_form_action&&!_8.action){ -_8.action=_1.config.FormOperations.default_form_action; -} -}]; -this.editor.config.btnList.insert_text_field=[this._lc("Insert a text, password or hidden field."),[_6,1,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_textarea_field=[this._lc("Insert a multi-line text field."),[_6,2,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_select_field=[this._lc("Insert a select field."),[_6,3,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_cb_field=[this._lc("Insert a check box."),[_6,4,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_rb_field=[this._lc("Insert a radio button."),[_6,5,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_button=[this._lc("Insert a submit/reset button."),[_6,6,0],false,function(){ -pasteAndSelect(""); -},"form"]; -} -FormOperations.prototype.onGenerate=function(){ -if(Xinha.is_gecko){ -var _9=this.editor; -var _a=this.editor._doc; -Xinha._addEvents(_a,["mousemove"],function(_b){ -return _9._editorEvent(_b); -}); -} -}; -FormOperations.prototype._preparePanel=function(){ -var fo=this; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("FormOperations")+"/panel.html",function(_d){ -fo.html=_d; -fo._preparePanel(); -}); -return false; -} -if(typeof Xinha.Dialog=="undefined"){ -Xinha._loadback(_editor_url+"modules/Dialogs/inline-dialog.js",function(){ -fo._preparePanel(); -}); -return false; -} -if(typeof Xinha.PanelDialog=="undefined"){ -Xinha._loadback(_editor_url+"modules/Dialogs/panel-dialog.js",function(){ -fo._preparePanel(); -}); -return false; -} -this.panel=new Xinha.PanelDialog(this.editor,"bottom",this.html,"FormOperations"); -this.panel.hide(); -this.ready=true; -}; -FormOperations.prototype.onUpdateToolbar=function(){ -if(!this.ready){ -return true; -} -var _e=this.editor._activeElement(this.editor._getSelection()); -if(_e!=null){ -if(_e==this.activeElement){ -return true; -} -var _f=_e.tagName.toLowerCase(); -this.hideAll(); -if(_f==="form"){ -if(this.editor.config.FormOperations.allow_edit_form){ -this.showForm(_e); -}else{ -this.panel.hide(); -this.activeElement=null; -this.panel.hide(); -return true; -} -}else{ -if(this.editor.config.FormOperations.allow_edit_form&&typeof _e.form!="undefined"&&_e.form){ -this.showForm(_e.form); -} -switch(_f){ -case "form": -this.showForm(_e); -break; -case "input": -switch(_e.getAttribute("type").toLowerCase()){ -case "text": -case "password": -case "hidden": -this.showText(_e); -break; -case "radio": -case "checkbox": -this.showCbRd(_e); -break; -case "submit": -case "reset": -case "button": -this.showButton(_e); -break; -} -break; -case "textarea": -this.showTextarea(_e); -break; -case "select": -this.showSelect(_e); -break; -default: -this.activeElement=null; -this.panel.hide(); -return true; -} -} -this.panel.show(); -this.activeElement=_e; -return true; -}else{ -this.activeElement=null; -this.panel.hide(); -return true; -} -}; -FormOperations.prototype.hideAll=function(){ -this.panel.getElementById("fs_form").style.display="none"; -this.panel.getElementById("fs_text").style.display="none"; -this.panel.getElementById("fs_textarea").style.display="none"; -this.panel.getElementById("fs_select").style.display="none"; -this.panel.getElementById("fs_cbrd").style.display="none"; -this.panel.getElementById("fs_button").style.display="none"; -}; -FormOperations.prototype.showForm=function(_10){ -this.panel.getElementById("fs_form").style.display=""; -var _11={"action":_10.action,"method":_10.method.toUpperCase()}; -this.panel.setValues(_11); -var f=_10; -this.panel.getElementById("action").onkeyup=function(){ -f.action=this.value; -}; -this.panel.getElementById("method").onchange=function(){ -f.method=this.options[this.selectedIndex].value; -}; -}; -FormOperations.prototype.showText=function(_13){ -this.panel.getElementById("fs_text").style.display=""; -var _14={"text_name":this.deformatName(_13,_13.name),"text_value":_13.value,"text_type":_13.type.toLowerCase(),"text_width":_13.style.width?parseFloat(_13.style.width.replace(/[^0-9.]/,"")):"","text_width_units":_13.style.width?_13.style.width.replace(/[0-9.]/,"").toLowerCase():"ex","text_maxlength":_13.maxlength?_13.maxlength:""}; -this.panel.setValues(_14); -var i=_13; -var fo=this; -this.panel.getElementById("text_name").onkeyup=function(){ -i.name=fo.formatName(i,this.value); -}; -this.panel.getElementById("text_value").onkeyup=function(){ -i.value=this.value; -}; -this.panel.getElementById("text_type").onchange=function(){ -if(!Xinha.is_ie){ -i.type=this.options[this.selectedIndex].value; -}else{ -var _17=fo.editor._doc.createElement("div"); -if(!/type=/.test(i.outerHTML)){ -_17.innerHTML=i.outerHTML.replace(/0?_2f.size:1),"select_height_units":_2f.style.height?_2f.style.height.replace(/[0-9.]/,"").toLowerCase():"items"}; -this.panel.setValues(_30); -var i=_2f; -var fo=this; -this.panel.getElementById("select_name").onkeyup=function(){ -i.name=fo.formatName(i,this.value); -}; -this.panel.getElementById("select_multiple").onclick=function(){ -i.multiple=this.checked; -}; -var w=this.panel.getElementById("select_width"); -var wu=this.panel.getElementById("select_width_units"); -this.panel.getElementById("select_width").onkeyup=this.panel.getElementById("select_width_units").onchange=function(){ -if(!w.value||isNaN(parseFloat(w.value))){ -i.style.width=""; -} -i.style.width=parseFloat(w.value)+wu.options[wu.selectedIndex].value; -}; -var h=this.panel.getElementById("select_height"); -var hu=this.panel.getElementById("select_height_units"); -this.panel.getElementById("select_height").onkeyup=this.panel.getElementById("select_height_units").onchange=function(){ -if(!h.value||isNaN(parseFloat(h.value))){ -i.style.height=""; -return; -} -if(hu.selectedIndex==0){ -i.style.height=""; -i.size=parseInt(h.value); -}else{ -i.style.height=parseFloat(h.value)+hu.options[hu.selectedIndex].value; -} -}; -var _37=this.panel.getElementById("select_options"); -this.arrayToOpts(this.optsToArray(_2f.options),_37.options); -this.panel.getElementById("add_option").onclick=function(){ -var txt=prompt(Xinha._lc("Enter the name for new option.","FormOperations")); -if(txt==null){ -return; -} -var _39=new Option(txt); -var _3a=fo.optsToArray(_37.options); -if(_37.selectedIndex>=0){ -_3a.splice(_37.selectedIndex,0,_39); -}else{ -_3a.push(_39); -} -fo.arrayToOpts(_3a,_2f.options); -fo.arrayToOpts(_3a,_37.options); -}; -this.panel.getElementById("del_option").onclick=function(){ -var _3b=fo.optsToArray(_37.options); -var _3c=[]; -for(var i=0;i<_3b.length;i++){ -if(_3b[i].selected){ -continue; -} -_3c.push(_3b[i]); -} -fo.arrayToOpts(_3c,_2f.options); -fo.arrayToOpts(_3c,_37.options); -}; -this.panel.getElementById("up_option").onclick=function(){ -if(!(_37.selectedIndex>0)){ -return; -} -var _3e=fo.optsToArray(_37.options); -var _3f=_3e.splice(_37.selectedIndex,1).pop(); -_3e.splice(_37.selectedIndex-1,0,_3f); -fo.arrayToOpts(_3e,_2f.options); -fo.arrayToOpts(_3e,_37.options); -}; -this.panel.getElementById("down_option").onclick=function(){ -if(_37.selectedIndex==_37.options.length-1){ -return; -} -var _40=fo.optsToArray(_37.options); -var _41=_40.splice(_37.selectedIndex,1).pop(); -_40.splice(_37.selectedIndex+1,0,_41); -fo.arrayToOpts(_40,_2f.options); -fo.arrayToOpts(_40,_37.options); -}; -this.panel.getElementById("select_options").onchange=function(){ -fo.arrayToOpts(fo.optsToArray(_37.options),_2f.options); -}; -}; -FormOperations.prototype.optsToArray=function(o){ -var a=[]; -for(var i=0;i=0;i--){ -o[i]=null; -} -for(var i=0;i'; - - $emailfield = NULL; - $subjectfield = NULL; - $namefield = NULL; - - $when_done_goto = isset($_REQUEST['when_done_goto']) ? $_REQUEST['when_done_goto'] : NULL; - - if($_POST) - { - unset($_POST['when_done_goto']); - $message = ''; - $longestKey = 0; - foreach(array_keys($_POST) as $key) - { - $longestKey = max(strlen($key), $longestKey); - } - $longestKey = max($longestKey, 15); - - foreach($_POST as $Var => $Val) - { - if(!$emailfield) - { - if(preg_match('/(^|\s)e-?mail(\s|$)/i', $Var)) - { - $emailfield = $Var; - } - } - - if(!$subjectfield) - { - if(preg_match('/(^|\s)subject(\s|$)/i', $Var)) - { - $subjectfield = $Var; - } - } - - if(!$namefield) - { - if(preg_match('/(^|\s)from(\s|$)/i', $Var) || preg_match('/(^|\s)name(\s|$)/i', $Var)) - { - $namefield = $Var; - } - } - - if(is_array($Val)) - { - $Val = implode(', ', $Val); - } - - $message .= $Var; - if(strlen($Var) < $longestKey) - { - $message .= str_repeat('.', $longestKey - strlen($Var)); - } - $message .= ':'; - if((64 - max(strlen($Var), $longestKey) < strlen($Val)) || preg_match('/\r?\n/', $Val)) - { - $message .= "\r\n "; - $message .= preg_replace('/\r?\n/', "\r\n ", wordwrap($Val, 62)); - } - else - { - $message .= ' ' . $Val . "\r\n"; - } - } - - $subject = $subjectfield ? $_POST[$subjectfield] : 'Enquiry'; - $email = $emailfield ? $_POST[$emailfield] : $send_to; - if($namefield) - { - $from = $_POST[$namefield] . ' <' . $email . '>'; - } - else - { - $from = 'Website Visitor' . ' <' . $email . '>'; - } - - mail($send_to, $subject, $message, "From: $from"); - - if(!$when_done_goto) - { - ?> - Message Sent

Message Sent

- diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/iframe.css b/ccm-core/web/assets/xinha/plugins/FormOperations/iframe.css deleted file mode 100755 index 2ee1dceff..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/iframe.css +++ /dev/null @@ -1 +0,0 @@ -form { border: 1px red dotted; } \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/img/buttons.gif b/ccm-core/web/assets/xinha/plugins/FormOperations/img/buttons.gif deleted file mode 100755 index f414171a3..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/FormOperations/img/buttons.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/de.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/de.js deleted file mode 100644 index 1ae24c45c..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/de.js +++ /dev/null @@ -1,12 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// translated: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "Insert a Form.": "Email Form einfügen.", - "Insert a text, password or hidden field.": "Passwort oder unsichtbares Feld einfügen.", - "Insert a multi-line text field.": "Mehrzeiliges Textfeld einfügen.", - "Insert a select field.": "Auswahlfeld einfügen.", - "Insert a check box.": "Häkchenfeld einfügen", - "Insert a radio button.": "Optionsfeld einfügen", - "Insert a submit/reset button.": "Senden/zurücksetzen Schaltfläche" -}; diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/fr.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/fr.js deleted file mode 100644 index a02208e92..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/fr.js +++ /dev/null @@ -1,11 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Insert a Form.": "Insérer un formulaire", - "Insert a text, password or hidden field.": "Insérer un texte, un mot de passe ou un champ invisible", - "Insert a multi-line text field.": "Insérer un champ texte à lignes multiples", - "Insert a select field.": "Insérer une boite de sélection", - "Insert a check box.": "Insérer une case à cocher", - "Insert a radio button.": "Insérer un bouton radio", - "Insert a submit/reset button.": "Insérer un bouton de soumission/annulation" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/ja.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/ja.js deleted file mode 100644 index d716a4a51..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/ja.js +++ /dev/null @@ -1,51 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Insert a Form.": "フォームを挿入", - "Insert a text, password or hidden field.": "テキスト/パスワード/非表示フィールドを挿入", - "Insert a multi-line text field.": "複数行テキストフィールドを挿入", - "Insert a select field.": "選択リストを挿入", - "Insert a check box.": "チェックボックスを挿入", - "Insert a radio button.": "ラジオボタンを挿入", - "Insert a submit/reset button.": "送信/リセットボタンを挿入", - "Form Editor": "フォームエディタ", - "Form": "フォーム", - "Text Field": "テキストフィールド", - "Check Box/Radio Button": "チェックボックス/ラジオボタン", - "Button": "ボタン", - "Multi-line Field": "複数行フィールド", - "Drop-Down/List Field": "ドロップダウン/リスト", - "Action:": "アクション:", - "Method:": "メソッド:", - "Name:": "名前:", - "Type:": "タイプ:", - "Label:": "ラベル:", - "Value:": "値:", - "Width:": "幅:", - "Height:": "高さ:", - "Initial Value:": "初期値:", - "Initial Value": "初期値", - "Max Length:": "最大長:", - "Selected by default:": "デフォルト選択:", - "May Choose Multiple:": "複数選択可能:", - "Options": "選択肢", - "POST": "POST", - "GET": "GET", - 'Check Box ("Select Many")': "チェックボックス(複数選択)", - 'Radio Button ("Select One")': "ラジオボタン(単一選択)", - "normal text field": "標準テキストフィールド", - "password": "パスワード", - "hidden field": "非表示フィールド", - "Submit": "送信", - "Reset": "リセット", - "chars": "文字", - "px": "ピクセル", - "%": "%", - "items": "項目", - "Add": "追加", - "Delete": "削除", - "Move Up": "上へ", - "Move Down": "下へ", - "Tip: Check boxes (select many) and radio buttons (select one only) that are choices for a single question should have the same Name to work correctly.": "ヒント:ひとつの質問について、複数のチェックボックス(複数選択)、または複数のラジオボタン(単一選択)がある場合、すべてに同じ名前を付けなければ正しく機能しません。", - "Enter the name for new option.": "新しい選択肢に名前をつけてください。" -}; diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nb.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nb.js deleted file mode 100644 index 9a47a66c7..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nb.js +++ /dev/null @@ -1,12 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Insert a Form.": "Sett inn skjema", - "Insert a text, password or hidden field.": "Sett inn formfelt", - "Insert a multi-line text field.": "Sett inn tekstfelt med flere linjer", - "Insert a select field.": "Sett inn valgboks/ netrekksboks", - "Insert a check box.": "Hakeboks", - "Insert a radio button.": "Sett inn en radioknapp", - "Insert a submit/reset button.": "Sett inn send-/nullstill knapp for skjemaet" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nl.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nl.js deleted file mode 100644 index 375afe423..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nl.js +++ /dev/null @@ -1,12 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Insert a Form.": "Formulier invoegen", - "Insert a text, password or hidden field.": "Tekst, wachtwoord of verborgen veld invoegen", - "Insert a multi-line text field.": "Een tekstveld met meerdere lijnen invoegen", - "Insert a select field.": "Een selectielijst invoegen", - "Insert a check box.": "Een checkbox invoegen", - "Insert a radio button.": "Een radio knop invoegen", - "Insert a submit/reset button.": "Een verzend/wis knop invoegen" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/pt_br.js deleted file mode 100644 index bc3ac5ab9..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/pt_br.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Enter the name for new option.": "Entre com o nome para nova opção", - "Form Editor": "Editor de Formulários", - "Insert a Form.": "Inserir um Formulário.", - "Insert a check box.": "Inserir uma caixa de opção", - "Insert a multi-line text field.": "Inserir um texto multi-linha.", - "Insert a radio button.": "Inserir um campo de escolha", - "Insert a select field.": "Inserir seleção.", - "Insert a submit/reset button.": "Inserir um botão de envio/reset", - "Insert a text, password or hidden field.": "Inserir um texto, senha ou campo escondido." -} diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/panel.html b/ccm-core/web/assets/xinha/plugins/FormOperations/panel.html deleted file mode 100755 index 661b77547..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/panel.html +++ /dev/null @@ -1,213 +0,0 @@ -
-

Form Editor

-
- Form - - - - - - - - -
-
- -
- Text Field - - - - - - - - - - - - - - - - - - - - -
Name: - -   
Type: - - Initial Value: - -
Width: - - - Max Length: - -
-
- -
- Check Box/Radio Button - - - - - - - - - - - - - - - - -
Name: - - Value: - -
Type: - - Selected by default:
-

- Tip: Check boxes (select many) and radio buttons (select one only) that are choices for a single question should have the same Name to work correctly. -

-
-
- -
- Button - - - - - - - - - - - - - -
Name: - - Label: - -
Type: - -   
-
- - -
- Multi-line Field - - - - - - - - - - - - - - - - - - - -
Name:Initial Value
Width: - - -
Height: - - -
-
- -
- Drop-Down/List Field - - - - - - - - - - - - - - - - - - - - - -
Name: - - Options
May Choose Multiple: - - - - - -
- -
- -
- -
Width: - - -
Height: - - -
-
-
\ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Forms/forms.css b/ccm-core/web/assets/xinha/plugins/Forms/forms.css deleted file mode 100755 index ba0fca64d..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/forms.css +++ /dev/null @@ -1,3 +0,0 @@ -form { - border: 1px dotted red; -} diff --git a/ccm-core/web/assets/xinha/plugins/Forms/forms.js b/ccm-core/web/assets/xinha/plugins/Forms/forms.js deleted file mode 100644 index fdcdfb72e..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/forms.js +++ /dev/null @@ -1,349 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Forms/forms.js */ -function Forms(_1){ -this.editor=_1; -var _2=_1.config; -var bl=Forms.btnList; -var _4=this; -var _5=["linebreak"]; -for(var i=0;i"); -} -} -},_13); -}else{ -var _1a=""; -if(typeof _10=="undefined"){ -_10=_e.getParentElement(); -var tag=_10.tagName.toLowerCase(); -if(_10&&(tag=="legend")){ -_10=_10.parentElement; -tag=_10.tagName.toLowerCase(); -} -if(_10&&!(tag=="textarea"||tag=="select"||tag=="input"||tag=="label"||tag=="fieldset")){ -_10=null; -} -} -if(_10){ -_14=_10.tagName.toLowerCase(); -_13.f_name=_10.name; -_1a=_10.tagName; -if(_14=="input"){ -_13.f_type=_10.type; -_14=_10.type; -} -switch(_14){ -case "textarea": -_13.f_cols=_10.cols; -_13.f_rows=_10.rows; -_13.f_text=_10.innerHTML; -_13.f_wrap=_10.getAttribute("wrap"); -_13.f_readOnly=_10.getAttribute("readOnly"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "select": -_13.f_size=parseInt(_10.size); -_13.f_multiple=_10.getAttribute("multiple"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -var _1c=new Array(); -for(var i=0;i<=_10.options.length-1;i++){ -_1c[i]=new optionValues(_10.options[i].text,_10.options[i].value); -} -_13.f_options=_1c; -break; -case "text": -case "password": -_13.f_value=_10.value; -_13.f_size=_10.size; -_13.f_maxLength=_10.maxLength; -_13.f_readOnly=_10.getAttribute("readOnly"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "hidden": -_13.f_value=_10.value; -break; -case "submit": -case "reset": -_13.f_value=_10.value; -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "checkbox": -case "radio": -_13.f_value=_10.value; -_13.f_checked=_10.checked; -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "button": -_13.f_value=_10.value; -_13.f_onclick=_10.getAttribute("onclick"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "image": -_13.f_value=_10.value; -_13.f_src=_10.src; -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "file": -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "label": -_13.f_text=_10.innerHTML; -_13.f_for=_10.getAttribute("for"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "fieldset": -if(_10.firstChild.tagName.toLowerCase()=="legend"){ -_13.f_text=_10.firstChild.innerHTML; -}else{ -_13.f_text=""; -} -break; -} -}else{ -_13.f_name=""; -switch(_f){ -case "textarea": -case "select": -case "label": -case "fieldset": -_1a=_f; -break; -default: -_1a="input"; -_13.f_type=_f; -break; -} -_13.f_options=""; -_13.f_cols="20"; -_13.f_rows="4"; -_13.f_multiple="false"; -_13.f_value=""; -_13.f_size=""; -_13.f_maxLength=""; -_13.f_checked=""; -_13.f_src=""; -_13.f_onclick=""; -_13.f_wrap=""; -_13.f_readOnly="false"; -_13.f_disabled="false"; -_13.f_tabindex=""; -_13.f_accesskey=""; -_13.f_for=""; -_13.f_text=""; -_13.f_legend=""; -} -_e._popupDialog("plugin://Forms/"+_1a+".html",function(_1e){ -if(_1e){ -if(_1e["f_cols"]){ -if(isNaN(parseInt(_1e["f_cols"],10))||parseInt(_1e["f_cols"],10)<=0){ -_1e["f_cols"]=""; -} -} -if(_1e["f_rows"]){ -if(isNaN(parseInt(_1e["f_rows"],10))||parseInt(_1e["f_rows"],10)<=0){ -_1e["f_rows"]=""; -} -} -if(_1e["f_size"]){ -if(isNaN(parseInt(_1e["f_size"],10))||parseInt(_1e["f_size"],10)<=0){ -_1e["f_size"]=""; -} -} -if(_1e["f_maxlength"]){ -if(isNaN(parseInt(_1e["f_maxLength"],10))||parseInt(_1e["f_maxLength"],10)<=0){ -_1e["f_maxLength"]=""; -} -} -if(_10){ -for(field in _1e){ -if((field=="f_text")||(field=="f_options")||(field=="f_onclick")||(field=="f_checked")){ -continue; -} -if(_1e[field]!=""){ -_10.setAttribute(field.substring(2,20),_1e[field]); -}else{ -_10.removeAttribute(field.substring(2,20)); -} -} -if(_14=="textarea"){ -_10.innerHTML=_1e["f_text"]; -}else{ -if(_14=="select"){ -_10.options.length=0; -var _1f=_1e["f_options"]; -for(i=0;i<=_1f.length-1;i++){ -_10.options[i]=new Option(_1f[i].text,_1f[i].value); -} -}else{ -if(_14=="label"){ -_10.innerHTML=_1e["f_text"]; -}else{ -if(_14=="fieldset"){ -if(_13.f_text!=""){ -if(_10.firstChild.tagName.toLowerCase()=="legend"){ -_10.firstChild.innerHTML=_1e["f_text"]; -} -}else{ -} -}else{ -if((_14=="checkbox")||(_14=="radio")){ -if(_1e["f_checked"]!=""){ -_10.checked=true; -}else{ -_10.checked=false; -} -}else{ -if(_1e["f_onclick"]){ -_10.onclick=""; -if(_1e["f_onclick"]!=""){ -_10.onclick=_1e["f_onclick"]; -} -} -} -} -} -} -} -}else{ -var _20=""; -for(field in _1e){ -if(!_1e[field]){ -continue; -} -if((_1e[field]=="")||(field=="f_text")||(field=="f_options")){ -continue; -} -_20+=" "+field.substring(2,20)+"=\""+_1e[field]+"\""; -} -if(_14=="textarea"){ -_20=""+_1e["f_text"]+""; -}else{ -if(_14=="select"){ -_20=""; -var _1f=_1e["f_options"]; -for(i=0;i<=_1f.length-1;i++){ -_20+=""; -} -_20+=""; -}else{ -if(_14=="label"){ -_20=""+_1e["f_text"]+""; -}else{ -if(_14=="fieldset"){ -_20=""; -if(_1e["f_legend"]!=""){ -_20+=""+_1e["f_text"]+""; -} -_20+="
"; -}else{ -_20=""; -} -} -} -} -_e.insertHTML(_20); -} -} -},_13); -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_button.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_button.gif deleted file mode 100755 index cfa4e7d71..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_button.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_checkbox.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_checkbox.gif deleted file mode 100755 index ea7affae5..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_checkbox.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_fieldset.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_fieldset.gif deleted file mode 100755 index af358e53a..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_fieldset.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_file.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_file.gif deleted file mode 100755 index 7f61ce137..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_file.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_form.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_form.gif deleted file mode 100755 index a2c293e53..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_form.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_hidden.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_hidden.gif deleted file mode 100755 index 26b325de6..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_hidden.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_image.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_image.gif deleted file mode 100755 index 3c8c88ece..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_image.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_label.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_label.gif deleted file mode 100755 index f93fce7df..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_label.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_password.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_password.gif deleted file mode 100755 index a799218fd..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_password.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_radio.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_radio.gif deleted file mode 100755 index 5b72ef6e8..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_radio.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_reset.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_reset.gif deleted file mode 100755 index 68fee8e22..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_reset.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_select.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_select.gif deleted file mode 100755 index 3ea59f5c9..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_select.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_submit.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_submit.gif deleted file mode 100755 index 0b12a19a0..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_submit.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_text.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_text.gif deleted file mode 100755 index fb8159c01..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_text.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_textarea.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_textarea.gif deleted file mode 100755 index c2c874a1c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_textarea.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/lang/ja.js b/ccm-core/web/assets/xinha/plugins/Forms/lang/ja.js deleted file mode 100644 index 05409f3ff..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/lang/ja.js +++ /dev/null @@ -1,86 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Form": "フォーム", - "Textarea": "テキストエリア", - "Selection Field": "選択肢フィールド", - "Checkbox": "チェックボックス", - "Radio Button": "ラジオボタン", - "Text Field": "テキストフィールド", - "Password Field": "パスワードフィールド", - "File Field": "ファイルフィールド", - "Submit Button": "送信ボタン", - "Reset Button": "リセットボタン", - "Image Button": "画像ボタン", - "Button": "ボタン", - "Hidden Field": "非表示フィールド", - "Label": "ラベル", - "Field Set": "フィールドセット", - "Form Element: INPUT": "フォーム要素: INPUT", - "Form Element: SELECT": "フォーム要素: SELECT", - "Form Element: TEXTAREA": "フォーム要素: TEXTAREA", - "Form Element: LABEL": "フォーム要素: LABEL", - "Form Element: FIELDSET": "フォーム要素: FIELDSET", - "Form Name:": "フォーム名:", - "Form handler script": "フォーム処理スクリプト", - "Action URL:": "アクションURL:", - "Method:": "メソッド:", - "Post": "POST", - "Get": "GET", - "Encoding:": "エンコード:", - "HTML-Form to CGI (default)": "HTMLフォームからCGIへ(デフォルト)", - "multipart Form Data (File-Upload)": "マルチパート(ファイルアップロード用)", - "Target Frame:": "ターゲット:", - "Name/ID:": "名前/ID:", - "Value:": "値:", - "Disabled": "無効", - "Checked": "チェック済み", - "Tab Index:": "タブ順序:", - "Access Key:": "アクセスキー:", - "Read Only": "読み取り専用", - "Dimensions": "大きさ", - "Size:": "サイズ:", - "Max length:": "最大長:", - "Button Script": "ボタンスクリプト", - "'onClick'=": "'onClick'=", - "Image source": "画像ソース", - "Image URL:": "画像URL:", - "Multiple Select": "複数選択", - "Options": "選択肢", - "Lable:": "ラベル:", - "Move Up": "上へ", - "Move Down": "下へ", - "Delete": "削除", - "Add": "追加", - "Columns:": "列数:", - "Rows:": "行数:", - "Wrap Mode:": "折り返し:", - "Off": "オフ", - "Soft": "ソフト", - "Hard": "ハード", - "Physical": "物理的", - "Virtual": "仮想", - "normal": "標準", - "nowrap": "折り返しなし", - "pre": "フォーマット済み", - "Initial Text:": "初期テキスト:", - "Text:": "テキスト:", - "For Control:": "制御対象:", - "Legend:": "グループ名:", - "Cancel": "中止", - "Name": "名前", - "Name of the form input": "フォーム入力の名前", - "Value of the form input": "フォーム入力の値", - "Size of text box in characters": "文字数によるテキストボックスの大きさ", - "Maximum number of characters accepted": "入力可能な最大文字数", - "Javascript for button click": "ボタンクリック時のJavaScritp", - "URL of image": "画像のURL", - "Name of the form select": "", - "name of the textarea": "テキストエリアの名前", - "Width in number of characters": "文字数による幅", - "Height in number of rows": "行数による高さ", - "Default text (optional)": "テキスト初期値(オプション)", - "You must enter the form name": "フォーム名が必要です", - "You must enter a Name": "名前が必要です", - "Please enter a Label": "ラベルを入力してください" -}; diff --git a/ccm-core/web/assets/xinha/plugins/Forms/lang/nl.js b/ccm-core/web/assets/xinha/plugins/Forms/lang/nl.js deleted file mode 100644 index fc5c58286..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/lang/nl.js +++ /dev/null @@ -1,87 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Form": "Formulier", - "Textarea": "Tekstgebied", - "Selection Field": "Selectielijst", - "Checkbox": "Checkbox", - "Radio Button": "Radio knop", - "Text Field": "Tekstveld", - "Password Field": "Wachtwoordveld", - "File Field": "Bestandsveld", - "Submit Button": "Verzend knop", - "Reset Button": "Wis knop", - "Image Button": "Afbeelding knop", - "Button": "Knop", - "Hidden Field": "Verborgen veld", - "Label": "Label", - "Field Set": "Veldset", - "Form Element: INPUT": "Formulier element: INPUT", - "Form Element: SELECT": "Formulier element: SELECT", - "Form Element: TEXTAREA": "Formulier element: TEXTAREA", - "Form Element: LABEL": "Formulier element: LABEL", - "Form Element: FIELDSET": "Formulier element: FIELDSET", - "Form Name:": "Formulier naame:", - "Form handler script": "Formulier script", - "Action URL:": "Actie URL:", - "Method:": "Methode:", - "Post": "POST", - "Get": "GET", - "Encoding:": "Encodering:", - "HTML-Form to CGI (default)": "HTML formulier naar CGI (standaard)", - "multipart Form Data (File-Upload)": "Multipart formulier data(Bestands upload)", - "Target Frame:": "Doel venster:", - "Name/ID:": "Naam/ID:", - "Value:": "Waarde:", - "Disabled": "Uitgeschakeld", - "Checked": "Checked", - "Tab Index:": "Tab volgorde:", - "Access Key:": "Toegangs toets:", - "Read Only": "Alleen lezen", - "Dimensions": "Dimenties", - "Size:": "Grootte:", - "Max length:": "Maximale lengte:", - "Button Script": "Knop script", - "'onClick'=": "'onClick'=", - "Image source": "Afbeelding bron", - "Image URL:": "Afbeelding URL:", - "Multiple Select": "Meerdere selectie mogelijkheden", - "Options": "Opties", - "Lable:": "Label:", - "Move Up": "Omhoog", - "Move Down": "Omlaag", - "Delete": "Verwijderen", - "Add": "Toevoegen", - "Columns:": "Kolommen:", - "Rows:": "Rijen:", - "Wrap Mode:": "Terugloop:", - "Off": "Uit", - "Soft": "Zacht", - "Hard": "Hard", - "Physical": "Fysiek", - "Virtual": "Virtueel", - "normal": "normaal", - "nowrap": "geen terugloop", - "pre": "pre", - "Initial Text:": "Start tekst:", - "Text:": "Tekst:", - "For Control:": "Voor controle:", - "Legend:": "Legend:", - "Cancel": "Annuleren", - "Name": "Naame", - "Name of the form input": "Naam van formulier invoer", - "Value of the form input": "Waarde van formulier invoer", - "Size of text box in characters": "Grootte van tekstveld in tekens", - "Maximum number of characters accepted": "Maximaal aantal tekens toegestaan", - "Javascript for button click": "Knop klik met JavaScript", - "URL of image": "Afbeelding URL", - "Name of the form select": "Naam van formulier select", - "name of the textarea": "Naam van tekst gebied", - "Width in number of characters": "Breedte in aantal tekens", - "Height in number of rows": "Hoogte in aantal tekens", - "Default text (optional)": "Standaard tekst (optioneel)", - "You must enter the form name": "Voer een formulier Naam in", - "You must enter a Name": "Voer een Naam in", - "Please enter a Label": "Voer een Label in" -}; diff --git a/ccm-core/web/assets/xinha/plugins/Forms/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/Forms/lang/pt_br.js deleted file mode 100644 index 640bf61d4..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/lang/pt_br.js +++ /dev/null @@ -1,83 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Access Key:": "Tecla de Acesso:", - "Action URL:": "Ação - URL:", - "Button Script": "Script de Botão", - "Cancel": "Cancelar", - "Checked": "Definido", - "Columns:": "Colunas:", - "Default text (optional)": "Texto padrão (opcional)", - "Dimensions": "Dimensões", - "Disabled": "Desativado", - "Encoding:": "Codificação:", - "For Control:": "Para Controle:", - "Form": "Formulário", - "Form Element: FIELDSET": "Elemento do formulário: FIELDSET", - "Form Element: INPUT": "Elemento do formulário: INPUT", - "Form Element: LABEL": "Elemento do formulário: LABEL", - "Form Element: SELECT": "Elemento do formulário: SELECT", - "Form Element: TEXTAREA": "Elemento do formulário: TEXTAREA", - "Form Name:": "Nome do Formulário:", - "Form handler script": "Script do Formulário", - "HTML-Form to CGI (default)": "Formulário para CGI (padrão)", - "Hard": "Difícil", - "Height in number of rows": "Altura em número de linhas", - "Image URL:": "URL da imagem:", - "Image source": "Imagem de Origem", - "Initial Text:": "Texto Inicial:", - "Insert/Edit Form": "Inserir/Editar Formulário", - "Insert/Edit Form Element FIELDSET": "Inserir/Editar Elemento FIELDSET", - "Insert/Edit Form Element INPUT": "Inserir/Editar Elemento INPUT", - "Insert/Edit Form Element LABEL": "Inserir/Editar Elemento LABEL", - "Insert/Edit Form Element SELECT": "Inserir/Editar Elemento SELECT", - "Insert/Edit Form Element TEXTAREA": "Inserir/Editar Elemento TEXTAREA", - "Javascript for button click": "Javascript para botão de clicar", - "Label:": "Etiqueta:", - "Legend:": "Legenda:", - "Max length:": "Comprimento Máx.:", - "Maximum number of characters accepted": "Máximo número de caracteres aceitos", - "Method:": "Método:", - "Name": "Nome", - "Name of the form input": "Nome do formulário de entrada", - "Name of the form select": "Nome do formulário de seleção", - "Name/ID:": "Nome/ID:", - "OK": "OK", - "Off": "Desligado", - "Options": "Opções", - "Physical": "Físico", - "Please enter a Label": "Por favor, entre uma Etiqueta", - "Post": "Post", - "Read Only": "Somente Leitura", - "Rows:": "Linhas:", - "Size of text box in characters": "Tamanho da caixa de texto em caracteres", - "Size:": "Tamanho:", - "Soft": "Fácil", - "Tab Index:": "Ordem de Tabulação:", - "Target Frame:": "Frame de destino:", - "Text:": "Texto:", - "URL of image": "URL da imagem", - "Value of the form input": "Valor do formulário de entrada", - "Value:": "Valor:", - "Virtual": "Virtual", - "Width in number of characters": "Largura em número de caracteres", - "Wrap Mode:": "Modo de quebras:", - "You must enter a Name": "Você precisa entrar com um Nome", - "multipart Form Data (File-Upload)": "Formulário de dados multipart (Enviar arquivo)", - "name of the textarea": "nome da área de texto", - "normal": "normal", - "nowrap": "sem quebras" -} diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/fieldset.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/fieldset.html deleted file mode 100755 index 2f38d4d88..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/fieldset.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Insert/Edit Form Element FIELDSET - - - - - - - -
Form Element: FIELDSET
-
-
Legend:
- -

-

- - -
-
- - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/form.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/form.html deleted file mode 100755 index daf377f1a..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/form.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - Insert/Edit Form - - - - - - - -
Form
-
-
Form Name:
- -

- -

- Form handler script -
-
Action URL:
- -

-

Method:
- -
-
Encoding:
- -

-

Target Frame:
- -

-

- -
- - -
-
- - - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/input.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/input.html deleted file mode 100755 index 59b9cd928..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/input.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - Insert/Edit Form Element INPUT - - - - - - - - -
-
-
Name/ID:
- -

-

Value:
- -

-

Disabled
- -

- -

-
Checked
- -

-

- -
Tab Index:
- -

-

Access Key:
- -

- -

-
Read Only
- -

- -

- Dimensions -
-
Size:
- -
-
Max length:
- -
-
-
-
-
- Button Script -
-
'onClick'=
- -
-
-
-
-
- Image source -
-
Image URL:
- -
-
-
-
- - -
-
- - - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/label.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/label.html deleted file mode 100755 index ada1e8e12..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/label.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - Insert/Edit Form Element LABEL - - - - - - - -
Form Element: LABEL
-
-
Text:
- -

-

For Control:
- -

-

Access Key:
- -

-

- - -
-
- - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/select.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/select.html deleted file mode 100755 index 89fc53ae2..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/select.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - Insert/Edit Form Element SELECT - - - - - - - -
Form Element: SELECT
-
-
Name/ID:
- -

-

Size:
- -

-

Multiple Select
- -

-

Disabled
- -

-

Tab Index:
- -

-

-
- Options - - - - - -
- - -
-
- -
-
- - - - - - - - -
Label:Value:
-
-
- - -
-
- - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/textarea.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/textarea.html deleted file mode 100755 index f59125122..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/textarea.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - Insert/Edit Form Element TEXTAREA - - - - - - - -
Form Element: TEXTAREA
-
-
Name/ID:
- -

-

- Dimensions -
Columns:
- -

-

Rows:
- -

-

-
-
Wrap Mode:
- -

-

Read Only
- -

-

Disabled
- -

-

Tab Index:
- -

-

Access Key:
- -

- -

Initial Text:
- -
- - -
-
- - - diff --git a/ccm-core/web/assets/xinha/plugins/FullPage/FullPage.js b/ccm-core/web/assets/xinha/plugins/FullPage/FullPage.js new file mode 100644 index 000000000..83f3e48bd --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/FullPage/FullPage.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function FullPage(c){this.editor=c;var a=c.config;a.fullPage=true;var b=this;a.registerButton("FP-docprop",this._lc("Document properties"),c.imgURL("docprop.gif","FullPage"),false,function(d,e){b.buttonPress(d,e)});a.addToolbarElement(["separator","FP-docprop"],"separator",-1)}FullPage._pluginInfo={name:"FullPage",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"Thycotic Software Ltd.",sponsor_url:"http://thycotic.com",license:"htmlArea"};FullPage.prototype._lc=function(a){return Xinha._lc(a,"FullPage")};FullPage.prototype.buttonPress=function(b,a){var q=this;switch(a){case"FP-docprop":var j=b._doc;var m=j.getElementsByTagName("link");var l="";var p="";var e="";var k="";var c="";for(var d=m.length;--d>=0;){var g=m[d];if(/stylesheet/i.test(g.rel)){if(/alternate/i.test(g.rel)){p=g.href}else{l=g.href}}}var f=j.getElementsByTagName("meta");for(var d=f.length;--d>=0;){var o=f[d];if(/content-type/i.test(o.httpEquiv)){r=/^text\/html; *charset=(.*)$/i.exec(o.content);c=r[1]}else{if((/keywords/i.test(o.name))||(/keywords/i.test(o.id))){e=o.content}else{if((/description/i.test(o.name))||(/description/i.test(o.id))){k=o.content}}}}var h=j.getElementsByTagName("title")[0];h=h?h.innerHTML:"";var n={f_doctype:b.doctype,f_title:h,f_body_bgcolor:Xinha._colorToRgb(j.body.style.backgroundColor),f_body_fgcolor:Xinha._colorToRgb(j.body.style.color),f_base_style:l,f_alt_style:p,f_charset:c,f_keywords:e,f_description:k,editor:b};b._popupDialog("plugin://FullPage/docprop",function(i){q.setDocProp(i)},n);break}};FullPage.prototype.setDocProp=function(l){var j="";var u=this.editor._doc;var d=u.getElementsByTagName("head")[0];var b=u.getElementsByTagName("link");var a=u.getElementsByTagName("meta");var m=null;var o=null;var c=null;var f=null;var g=null;var p=null;for(var n=b.length;--n>=0;){var e=b[n];if(/stylesheet/i.test(e.rel)){if(/alternate/i.test(e.rel)){o=e}else{m=e}}}for(var n=a.length;--n>=0;){var h=a[n];if(/content-type/i.test(h.httpEquiv)){r=/^text\/html; *charset=(.*)$/i.exec(h.content);c=r[1];f=h}else{if((/keywords/i.test(h.name))||(/keywords/i.test(h.id))){g=h}else{if((/description/i.test(h.name))||(/description/i.test(h.id))){p=h}}}}function k(v){var i=u.createElement("link");i.rel=v?"alternate stylesheet":"stylesheet";d.appendChild(i);return i}function q(i,v,w){var x=u.createElement("meta");if(i!=""){x.httpEquiv=i}if(v!=""){x.name=v}if(v!=""){x.id=v}x.content=w;d.appendChild(x);return x}if(!m&&l.f_base_style){m=k(false)}if(l.f_base_style){m.href=l.f_base_style}else{if(m){d.removeChild(m)}}if(!o&&l.f_alt_style){o=k(true)}if(l.f_alt_style){o.href=l.f_alt_style}else{if(o){d.removeChild(o)}}if(f){d.removeChild(f);f=null}if(!f&&l.f_charset){f=q("Content-Type","","text/html; charset="+l.f_charset)}if(!g&&l.f_keywords){g=q("","keywords",l.f_keywords)}else{if(l.f_keywords){g.content=l.f_keywords}else{if(g){d.removeChild(g)}}}if(!p&&l.f_description){p=q("","description",l.f_description)}else{if(l.f_description){p.content=l.f_description}else{if(p){d.removeChild(p)}}}for(var n in l){var t=l[n];switch(n){case"f_title":var s=u.getElementsByTagName("title")[0];if(!s){s=u.createElement("title");d.appendChild(s)}else{while(node=s.lastChild){s.removeChild(node)}}if(!Xinha.is_ie){s.appendChild(u.createTextNode(t))}else{u.title=t}break;case"f_doctype":this.editor.setDoctype(t);break;case"f_body_bgcolor":u.body.style.backgroundColor=t;break;case"f_body_fgcolor":u.body.style.color=t;break}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FullPage/full-page.js b/ccm-core/web/assets/xinha/plugins/FullPage/full-page.js deleted file mode 100644 index 826f12d92..000000000 --- a/ccm-core/web/assets/xinha/plugins/FullPage/full-page.js +++ /dev/null @@ -1,203 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FullPage/full-page.js */ -function FullPage(_1){ -this.editor=_1; -var _2=_1.config; -_2.fullPage=true; -var _3=this; -_2.registerButton("FP-docprop",this._lc("Document properties"),_1.imgURL("docprop.gif","FullPage"),false,function(_4,id){ -_3.buttonPress(_4,id); -}); -_2.addToolbarElement(["separator","FP-docprop"],"separator",-1); -} -FullPage._pluginInfo={name:"FullPage",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"Thycotic Software Ltd.",sponsor_url:"http://thycotic.com",license:"htmlArea"}; -FullPage.prototype._lc=function(_6){ -return Xinha._lc(_6,"FullPage"); -}; -FullPage.prototype.buttonPress=function(_7,id){ -var _9=this; -switch(id){ -case "FP-docprop": -var _a=_7._doc; -var _b=_a.getElementsByTagName("link"); -var _c=""; -var _d=""; -var _e=""; -var _f=""; -var _10=""; -for(var i=_b.length;--i>=0;){ -var _12=_b[i]; -if(/stylesheet/i.test(_12.rel)){ -if(/alternate/i.test(_12.rel)){ -_d=_12.href; -}else{ -_c=_12.href; -} -} -} -var _13=_a.getElementsByTagName("meta"); -for(var i=_13.length;--i>=0;){ -var _14=_13[i]; -if(/content-type/i.test(_14.httpEquiv)){ -r=/^text\/html; *charset=(.*)$/i.exec(_14.content); -_10=r[1]; -}else{ -if((/keywords/i.test(_14.name))||(/keywords/i.test(_14.id))){ -_e=_14.content; -}else{ -if((/description/i.test(_14.name))||(/description/i.test(_14.id))){ -_f=_14.content; -} -} -} -} -var _15=_a.getElementsByTagName("title")[0]; -_15=_15?_15.innerHTML:""; -var _16={f_doctype:_7.doctype,f_title:_15,f_body_bgcolor:Xinha._colorToRgb(_a.body.style.backgroundColor),f_body_fgcolor:Xinha._colorToRgb(_a.body.style.color),f_base_style:_c,f_alt_style:_d,f_charset:_10,f_keywords:_e,f_description:_f,editor:_7}; -_7._popupDialog("plugin://FullPage/docprop",function(_17){ -_9.setDocProp(_17); -},_16); -break; -} -}; -FullPage.prototype.setDocProp=function(_18){ -var txt=""; -var doc=this.editor._doc; -var _1b=doc.getElementsByTagName("head")[0]; -var _1c=doc.getElementsByTagName("link"); -var _1d=doc.getElementsByTagName("meta"); -var _1e=null; -var _1f=null; -var _20=null; -var _21=null; -var _22=null; -var _23=null; -for(var i=_1c.length;--i>=0;){ -var _25=_1c[i]; -if(/stylesheet/i.test(_25.rel)){ -if(/alternate/i.test(_25.rel)){ -_1f=_25; -}else{ -_1e=_25; -} -} -} -for(var i=_1d.length;--i>=0;){ -var _26=_1d[i]; -if(/content-type/i.test(_26.httpEquiv)){ -r=/^text\/html; *charset=(.*)$/i.exec(_26.content); -_20=r[1]; -_21=_26; -}else{ -if((/keywords/i.test(_26.name))||(/keywords/i.test(_26.id))){ -_22=_26; -}else{ -if((/description/i.test(_26.name))||(/description/i.test(_26.id))){ -_23=_26; -} -} -} -} -function createLink(alt){ -var _28=doc.createElement("link"); -_28.rel=alt?"alternate stylesheet":"stylesheet"; -_1b.appendChild(_28); -return _28; -} -function createMeta(_29,_2a,_2b){ -var _2c=doc.createElement("meta"); -if(_29!=""){ -_2c.httpEquiv=_29; -} -if(_2a!=""){ -_2c.name=_2a; -} -if(_2a!=""){ -_2c.id=_2a; -} -_2c.content=_2b; -_1b.appendChild(_2c); -return _2c; -} -if(!_1e&&_18.f_base_style){ -_1e=createLink(false); -} -if(_18.f_base_style){ -_1e.href=_18.f_base_style; -}else{ -if(_1e){ -_1b.removeChild(_1e); -} -} -if(!_1f&&_18.f_alt_style){ -_1f=createLink(true); -} -if(_18.f_alt_style){ -_1f.href=_18.f_alt_style; -}else{ -if(_1f){ -_1b.removeChild(_1f); -} -} -if(_21){ -_1b.removeChild(_21); -_21=null; -} -if(!_21&&_18.f_charset){ -_21=createMeta("Content-Type","","text/html; charset="+_18.f_charset); -} -if(!_22&&_18.f_keywords){ -_22=createMeta("","keywords",_18.f_keywords); -}else{ -if(_18.f_keywords){ -_22.content=_18.f_keywords; -}else{ -if(_22){ -_1b.removeChild(_22); -} -} -} -if(!_23&&_18.f_description){ -_23=createMeta("","description",_18.f_description); -}else{ -if(_18.f_description){ -_23.content=_18.f_description; -}else{ -if(_23){ -_1b.removeChild(_23); -} -} -} -for(var i in _18){ -var val=_18[i]; -switch(i){ -case "f_title": -var _2e=doc.getElementsByTagName("title")[0]; -if(!_2e){ -_2e=doc.createElement("title"); -_1b.appendChild(_2e); -}else{ -while(node=_2e.lastChild){ -_2e.removeChild(node); -} -} -if(!Xinha.is_ie){ -_2e.appendChild(doc.createTextNode(val)); -}else{ -doc.title=val; -} -break; -case "f_doctype": -this.editor.setDoctype(val); -break; -case "f_body_bgcolor": -doc.body.style.backgroundColor=val; -break; -case "f_body_fgcolor": -doc.body.style.color=val; -break; -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/GenericPlugin/GenericPlugin.js b/ccm-core/web/assets/xinha/plugins/GenericPlugin/GenericPlugin.js new file mode 100644 index 000000000..ab25512de --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/GenericPlugin/GenericPlugin.js @@ -0,0 +1,100 @@ +/*------------------------------------------*\ + GenericPlugin for Xinha + _______________________ + + Democase for plugin event handlers +\*------------------------------------------*/ + +GenericPlugin._pluginInfo = { + name : "GenericPlugin", + version : "1.0", + developer : "Xinha Developer Team", + developer_url : "http://xinha.org", + sponsor : "", + sponsor_url : "", + license : "htmlArea" +} +function GenericPlugin(editor) +{ + this.editor = editor; +} + +GenericPlugin.prototype.onGenerate = function () +{ + +} +GenericPlugin.prototype.onGenerateOnce = function () +{ + +} +GenericPlugin.prototype.inwardHtml = function(html) +{ + return html; +} +GenericPlugin.prototype.outwardHtml = function(html) +{ + return html; +} +GenericPlugin.prototype.onUpdateToolbar = function () +{ + return false; +} + +GenericPlugin.prototype.onExecCommand = function ( cmdID, UI, param ) +{ + return false; +} + +GenericPlugin.prototype.onKeyPress = function ( event ) +{ + return false; +} + +GenericPlugin.prototype.onMouseDown = function ( event ) +{ + return false; +} + +GenericPlugin.prototype.onBeforeSubmit = function () +{ + return false; +} + +GenericPlugin.prototype.onBeforeUnload = function () +{ + return false; +} + +GenericPlugin.prototype.onBeforeResize = function (width, height) +{ + return false; +} +GenericPlugin.prototype.onResize = function (width, height) +{ + return false; +} +/** + * + * @param {String} action one of 'add', 'remove', 'hide', 'show', 'multi_hide', 'multi_show' + * @param {DOMNode|Array} panel either the panel itself or an array like ['left','right','top','bottom'] + */ +GenericPlugin.prototype.onPanelChange = function (action, panel) +{ + return false; +} +/** + * + * @param {String} mode either 'textmode' or 'wysiwyg' + */ +GenericPlugin.prototype.onMode = function (mode) +{ + return false; +} +/** + * + * @param {String} mode either 'textmode' or 'wysiwyg' + */ +GenericPlugin.prototype.onBeforeMode = function (mode) +{ + return false; +} diff --git a/ccm-core/web/assets/xinha/plugins/GenericPlugin/generic-plugin.js b/ccm-core/web/assets/xinha/plugins/GenericPlugin/generic-plugin.js deleted file mode 100644 index c07f64099..000000000 --- a/ccm-core/web/assets/xinha/plugins/GenericPlugin/generic-plugin.js +++ /dev/null @@ -1,51 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/GenericPlugin/generic-plugin.js */ -GenericPlugin._pluginInfo={name:"GenericPlugin",version:"1.0",developer:"Xinha Developer Team",developer_url:"http://xinha.org",sponsor:"",sponsor_url:"",license:"htmlArea"}; -function GenericPlugin(_1){ -this.editor=_1; -} -GenericPlugin.prototype.onGenerate=function(){ -}; -GenericPlugin.prototype.onGenerateOnce=function(){ -}; -GenericPlugin.prototype.inwardHtml=function(_2){ -return _2; -}; -GenericPlugin.prototype.outwardHtml=function(_3){ -return _3; -}; -GenericPlugin.prototype.onUpdateToolbar=function(){ -return false; -}; -GenericPlugin.prototype.onExecCommand=function(_4,UI,_6){ -return false; -}; -GenericPlugin.prototype.onKeyPress=function(_7){ -return false; -}; -GenericPlugin.prototype.onMouseDown=function(_8){ -return false; -}; -GenericPlugin.prototype.onBeforeSubmit=function(){ -return false; -}; -GenericPlugin.prototype.onBeforeUnload=function(){ -return false; -}; -GenericPlugin.prototype.onBeforeResize=function(_9,_a){ -return false; -}; -GenericPlugin.prototype.onResize=function(_b,_c){ -return false; -}; -GenericPlugin.prototype.onPanelChange=function(_d,_e){ -return false; -}; -GenericPlugin.prototype.onMode=function(_f){ -return false; -}; -GenericPlugin.prototype.onBeforeMode=function(_10){ -return false; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/GetHtml/GetHtml.js b/ccm-core/web/assets/xinha/plugins/GetHtml/GetHtml.js new file mode 100644 index 000000000..7418f8557 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/GetHtml/GetHtml.js @@ -0,0 +1,17 @@ +/** + Implemented now as GetHtmlImplementation plugin in modules/GetHtml/TransformInnerHTML.js + */ + +function GetHtml(editor) { + editor.config.getHtmlMethod = "TransformInnerHTML"; +} + +GetHtml._pluginInfo = { + name : "GetHtml", + version : "1.0", + developer : "Nelson Bright", + developer_url : "http://www.brightworkweb.com/", + sponsor : "", + sponsor_url : "", + license : "htmlArea" +}; diff --git a/ccm-core/web/assets/xinha/plugins/GetHtml/get-html.js b/ccm-core/web/assets/xinha/plugins/GetHtml/get-html.js deleted file mode 100644 index e218a67fd..000000000 --- a/ccm-core/web/assets/xinha/plugins/GetHtml/get-html.js +++ /dev/null @@ -1,8 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/GetHtml/get-html.js */ -function GetHtml(_1){ -_1.config.getHtmlMethod="TransformInnerHTML"; -} -GetHtml._pluginInfo={name:"GetHtml",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",sponsor:"",sponsor_url:"",license:"htmlArea"}; - diff --git a/ccm-core/web/assets/xinha/plugins/HorizontalRule/HorizontalRule.js b/ccm-core/web/assets/xinha/plugins/HorizontalRule/HorizontalRule.js new file mode 100644 index 000000000..b181d479a --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/HorizontalRule/HorizontalRule.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +HorizontalRule._pluginInfo={name:"HorizontalRule",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",c_owner:"Nelson Bright",sponsor:"BrightWork, Inc.",sponsor_url:"http://www.brightworkweb.com/",license:"htmlArea"};function HorizontalRule(d){this.editor=d;var b=d.config;var a=b.toolbar;var c=this;b.registerButton({id:"edithorizontalrule",tooltip:this._lc("Insert/edit horizontal rule"),image:[_editor_url+"images/ed_buttons_main.gif",6,0],textMode:false,action:function(e){c.buttonPress(e)}});b.addToolbarElement("edithorizontalrule","inserthorizontalrule",0)}HorizontalRule.prototype._lc=function(a){return Xinha._lc(a,"HorizontalRule")};HorizontalRule.prototype.buttonPress=function(a){this.editor=a;this._editHorizontalRule()};HorizontalRule.prototype._editHorizontalRule=function(d){editor=this.editor;var c=editor._getSelection();var b=editor._createRange(c);var e=null;if(typeof d=="undefined"){d=editor.getParentElement();if(d&&!/^hr$/i.test(d.tagName)){d=null}}if(d){var a=d.style.width||d.width;e={f_size:parseInt(d.style.height,10)||d.size,f_widthUnit:(/(%|px)$/.test(a))?RegExp.$1:"px",f_width:parseInt(a,10),f_color:Xinha._colorToRgb(d.style.backgroundColor)||d.color,f_align:d.style.textAlign||d.align,f_noshade:(parseInt(d.style.borderWidth,10)==0)||d.noShade}}editor._popupDialog("plugin://HorizontalRule/edit_horizontal_rule.html",function(j){if(!j){return false}var g=d;if(!g){var f=editor._doc.createElement("hr");for(var i in j){var h=j[i];if(h==""){continue}switch(i){case"f_width":if(j.f_widthUnit=="%"){f.style.width=h+"%"}else{f.style.width=h+"px"}break;case"f_size":f.style.height=h+"px";break;case"f_align":f.style.textAlign=h;switch(h){case"left":f.style.marginLeft="0";break;case"right":f.style.marginRight="0";break;case"center":f.style.marginLeft="auto";f.style.marginRight="auto";break}break;case"f_color":f.style.backgroundColor=h;break;case"f_noshade":f.style.border="0";break}}if(Xinha.is_gecko){editor.execCommand("inserthtml",false,Xinha.getOuterHTML(f))}else{editor.insertNodeAtSelection(f)}}else{for(var i in j){var h=j[i];switch(i){case"f_width":if(j.f_widthUnit=="%"){g.style.width=h+"%"}else{g.style.width=h+"px"}break;case"f_size":g.style.height=h+"px";break;case"f_align":g.style.textAlign=h;switch(h){case"left":g.style.marginLeft="0";g.style.marginRight=null;break;case"right":g.style.marginRight="0";g.style.marginLeft=null;break;case"center":g.style.marginLeft="auto";g.style.marginRight="auto";break}break;case"f_color":g.style.backgroundColor=h;break;case"f_noshade":break}g.style.border=(j.f_noshade)?"0":null}}},e)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HorizontalRule/horizontal-rule.js b/ccm-core/web/assets/xinha/plugins/HorizontalRule/horizontal-rule.js deleted file mode 100644 index 9e08c8b46..000000000 --- a/ccm-core/web/assets/xinha/plugins/HorizontalRule/horizontal-rule.js +++ /dev/null @@ -1,130 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/HorizontalRule/horizontal-rule.js */ -HorizontalRule._pluginInfo={name:"HorizontalRule",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",c_owner:"Nelson Bright",sponsor:"BrightWork, Inc.",sponsor_url:"http://www.brightworkweb.com/",license:"htmlArea"}; -function HorizontalRule(_1){ -this.editor=_1; -var _2=_1.config; -var _3=_2.toolbar; -var _4=this; -_2.registerButton({id:"edithorizontalrule",tooltip:this._lc("Insert/edit horizontal rule"),image:[_editor_url+"images/ed_buttons_main.gif",6,0],textMode:false,action:function(_5){ -_4.buttonPress(_5); -}}); -_2.addToolbarElement("edithorizontalrule","inserthorizontalrule",0); -} -HorizontalRule.prototype._lc=function(_6){ -return Xinha._lc(_6,"HorizontalRule"); -}; -HorizontalRule.prototype.buttonPress=function(_7){ -this.editor=_7; -this._editHorizontalRule(); -}; -HorizontalRule.prototype._editHorizontalRule=function(_8){ -editor=this.editor; -var _9=editor._getSelection(); -var _a=editor._createRange(_9); -var _b=null; -if(typeof _8=="undefined"){ -_8=editor.getParentElement(); -if(_8&&!/^hr$/i.test(_8.tagName)){ -_8=null; -} -} -if(_8){ -var _c=_8.style.width||_8.width; -_b={f_size:parseInt(_8.style.height,10)||_8.size,f_widthUnit:(/(%|px)$/.test(_c))?RegExp.$1:"px",f_width:parseInt(_c,10),f_color:Xinha._colorToRgb(_8.style.backgroundColor)||_8.color,f_align:_8.style.textAlign||_8.align,f_noshade:(parseInt(_8.style.borderWidth,10)==0)||_8.noShade}; -} -editor._popupDialog("plugin://HorizontalRule/edit_horizontal_rule.html",function(_d){ -if(!_d){ -return false; -} -var hr=_8; -if(!hr){ -var _f=editor._doc.createElement("hr"); -for(var _10 in _d){ -var _11=_d[_10]; -if(_11==""){ -continue; -} -switch(_10){ -case "f_width": -if(_d["f_widthUnit"]=="%"){ -_f.style.width=_11+"%"; -}else{ -_f.style.width=_11+"px"; -} -break; -case "f_size": -_f.style.height=_11+"px"; -break; -case "f_align": -_f.style.textAlign=_11; -switch(_11){ -case "left": -_f.style.marginLeft="0"; -break; -case "right": -_f.style.marginRight="0"; -break; -case "center": -_f.style.marginLeft="auto"; -_f.style.marginRight="auto"; -break; -} -break; -case "f_color": -_f.style.backgroundColor=_11; -break; -case "f_noshade": -_f.style.border="0"; -break; -} -} -if(Xinha.is_gecko){ -editor.execCommand("inserthtml",false,Xinha.getOuterHTML(_f)); -}else{ -editor.insertNodeAtSelection(_f); -} -}else{ -for(var _10 in _d){ -var _11=_d[_10]; -switch(_10){ -case "f_width": -if(_d["f_widthUnit"]=="%"){ -hr.style.width=_11+"%"; -}else{ -hr.style.width=_11+"px"; -} -break; -case "f_size": -hr.style.height=_11+"px"; -break; -case "f_align": -hr.style.textAlign=_11; -switch(_11){ -case "left": -hr.style.marginLeft="0"; -hr.style.marginRight=null; -break; -case "right": -hr.style.marginRight="0"; -hr.style.marginLeft=null; -break; -case "center": -hr.style.marginLeft="auto"; -hr.style.marginRight="auto"; -break; -} -break; -case "f_color": -hr.style.backgroundColor=_11; -break; -case "f_noshade": -break; -} -hr.style.border=(_d["f_noshade"])?"0":null; -} -} -},_b); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/HtmlEntities/HtmlEntities.js b/ccm-core/web/assets/xinha/plugins/HtmlEntities/HtmlEntities.js new file mode 100644 index 000000000..144536f14 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/HtmlEntities/HtmlEntities.js @@ -0,0 +1,51 @@ +/*------------------------------------------*\ +HtmlEntities for Xinha +____________________ + +Intended to faciliate the use of special characters with ISO 8 bit encodings. + +Using the conversion map provided by mharrisonline in ticket #127 + +If you want to adjust the list, e.g. to except the characters that are available in the used charset, +edit Entities.js. +You may save it under a different name using the xinha_config.HtmlEntities.EntitiesFile variable + +ISO-8859-1 preset is default, set + + xinha_config.HtmlEntities.Encoding = null; + +if you want all special characters to be converted or want to load a custom file +\*------------------------------------------*/ + +function HtmlEntities(editor) { + this.editor = editor; +} + +HtmlEntities._pluginInfo = { + name : "HtmlEntities", + version : "1.0", + developer : "Raimund Meyer", + developer_url : "http://x-webservice.net", + c_owner : "Xinha community", + sponsor : "", + sponsor_url : "", + license : "HTMLArea" +} +Xinha.Config.prototype.HtmlEntities = +{ + Encoding : 'iso-8859-1', + EntitiesFile : Xinha.getPluginDir("HtmlEntities") + "/Entities.js" +} +HtmlEntities.prototype.onGenerate = function() { + var e = this.editor; + var url = (e.config.HtmlEntities.Encoding) ? Xinha.getPluginDir("HtmlEntities") + "/"+e.config.HtmlEntities.Encoding+".js" : e.config.HtmlEntities.EntitiesFile; + var callback = function (getback) { + var specialReplacements = e.config.specialReplacements; + eval("var replacements =" + getback); + for (var i in replacements) + { + specialReplacements[i] = replacements[i]; + } + } + Xinha._getback(url,callback); +} diff --git a/ccm-core/web/assets/xinha/plugins/HtmlEntities/html-entities.js b/ccm-core/web/assets/xinha/plugins/HtmlEntities/html-entities.js deleted file mode 100644 index 470058620..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlEntities/html-entities.js +++ /dev/null @@ -1,21 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/HtmlEntities/html-entities.js */ -function HtmlEntities(_1){ -this.editor=_1; -} -HtmlEntities._pluginInfo={name:"HtmlEntities",version:"1.0",developer:"Raimund Meyer",developer_url:"http://rheinauf.de",c_owner:"Xinha community",sponsor:"",sponsor_url:"",license:"Creative Commons Attribution-ShareAlike License"}; -Xinha.Config.prototype.HtmlEntities={Encoding:"iso-8859-1",EntitiesFile:Xinha.getPluginDir("HtmlEntities")+"/Entities.js"}; -HtmlEntities.prototype.onGenerate=function(){ -var e=this.editor; -var _3=(e.config.HtmlEntities.Encoding)?Xinha.getPluginDir("HtmlEntities")+"/"+e.config.HtmlEntities.Encoding+".js":e.config.HtmlEntities.EntitiesFile; -var _4=function(_5){ -var _6=e.config.specialReplacements; -eval("var replacements ="+_5); -for(var i in replacements){ -_6[i]=replacements[i]; -} -}; -Xinha._getback(_3,_4); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/README b/ccm-core/web/assets/xinha/plugins/HtmlTidy/README deleted file mode 100755 index a3e19f2c8..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/README +++ /dev/null @@ -1,104 +0,0 @@ -// Plugin for htmlArea to run code through the server's HTML Tidy -// By Adam Wright, for The University of Western Australia -// -// Email: zeno@ucc.gu.uwa.edu.au -// Homepage: http://blog.hipikat.org/ -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -// -// Version: 0.5 -// Released to the outside world: 04/03/04 - - -HtmlTidy is a plugin for the popular cross-browser TTY WYSIWYG editor, -htmlArea (http://www.interactivetools.com/products/htmlarea/). HtmlTidy -basically queries HTML Tidy (http://tidy.sourceforge.net/) on the -server side, getting it to make-html-nice, instead of relying on masses -of javascript, which the client would have to download. - -Hi, this is a quick explanation of how to install HtmlTidy. Much better -documentation is probably required, and you're welcome to write it :) - - -* The HtmlTidy directory you should have found this file in should - include the following: - - - README - This file, providing help installing the plugin. - - - html-tidy-config.cfg - This file contains the configuration options HTML Tidy uses to - clean html, and can be modified to suit your organizations - requirements. - - - html-tidy-logic.php - This is the php script, which is queried with dirty html and is - responsible for invoking HTML Tidy, getting nice new html and - returning it to the client. - - - html-tidy.js - The main htmlArea plugin, providing functionality to tidy html - through the htmlArea interface. - - - htmlarea.js.onmode_event.diff - At the time of publishing, an extra event handler was required - inside the main htmlarea.js file. htmlarea.js may be patched - against this file to make the changes reuquired, but be aware - that the event handler may either now be in the core or - htmlarea.js may have changed enough to invalidate the patch. - - UPDATE: now it exists in the official htmlarea.js; applying - this patch is thus no longer necessary. - - - img/html-tidy.gif - The HtmlTidy icon, for the htmlArea toolbar. Created by Dan - Petty for The University of Western Australia. - - - lang/en.js - English language file. Add your own language files here and - please contribute back into the htmlArea community! - - The HtmlArea directory should be extracted to your htmlarea/plugins/ - directory. - - -* Make sure the onMode event handler mentioned above, regarding - htmlarea.js.onmode_event.diff, exists in your htmlarea.js - - -* html-tidy-logic.php should be executable, and your web server should - be configured to execute php scripts in the directory - html-tidy-logic.php exists in. - - -* HTML Tidy needs to be installed on your server, and 'tidy' should be - an alias to it, lying in the PATH known to the user executing such - web scripts. - - -* In your htmlArea configuration, do something like this: - - HTMLArea.loadPlugin("HtmlTidy"); - - editor = new HTMLArea("doc"); - editor.registerPlugin("HtmlTidy"); - - -* Then, in your htmlArea toolbar configuration, use: - - - "HT-html-tidy" - This will create the 'tidy broom' icon on the toolbar, which - will attempt to tidy html source when clicked, and; - - - "HT-auto-tidy" - This will create an "Auto Tidy" / "Don't Tidy" dropdown, to - select whether the source should be tidied automatically when - entering source view. On by default, if you'd like it otherwise - you can do so programatically after generating the toolbar :) - (Or just hack it to be otherwise...) - - -Thank you. - -Any bugs you find can be emailed to zeno@ucc.gu.uwa.edu.au diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-config.cfg b/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-config.cfg deleted file mode 100755 index 761699276..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-config.cfg +++ /dev/null @@ -1,29 +0,0 @@ -// Default configuration file for the htmlArea, HtmlTidy plugin -// By Adam Wright, for The University of Western Australia -// -// Evertything you always wanted to know about HTML Tidy * -// can be found at http://tidy.sourceforge.net/, and a -// quick reference to the configuration options exists at -// http://tidy.sourceforge.net/docs/quickref.html -// -// * But were afraid to ask -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -word-2000: yes -clean: yes -drop-font-tags: no -doctype: auto -drop-empty-paras: yes -drop-proprietary-attributes: yes -enclose-block-text: yes -enclose-text: yes -escape-cdata: yes -logical-emphasis: yes -indent: auto -indent-spaces: 2 -break-before-br: yes -output-xhtml: yes - -force-output: yes diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-logic.php b/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-logic.php deleted file mode 100755 index c457e0fee..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-logic.php +++ /dev/null @@ -1,79 +0,0 @@ - array("pipe", "r"), - 1 => array("pipe", "w") - ); - $process = @proc_open("tidy -utf8 -config {$cwd}html-tidy-config.cfg", $descriptorspec, $pipes); - - - // Make sure the program started and we got the hooks... - // Either way, get some source code into $source - if (is_resource($process)) { - - // Feed untidy source into the stdin - fwrite($pipes[0], $source); - fclose($pipes[0]); - - // Read clean source out to the browser - while (!feof($pipes[1])) { - //echo fgets($pipes[1], 1024); - $newsrc .= fgets($pipes[1], 1024); - } - fclose($pipes[1]); - - // Clean up after ourselves - proc_close($process); - - } else { - /* Use tidy if it's available from PECL */ - if( function_exists('tidy_parse_string') ) - { - $tempsrc = tidy_parse_string($source); - tidy_clean_repair(); - $newsrc = tidy_get_output(); - } - else - { - // Better give them back what they came with, so they don't lose it all... - $newsrc = "\n" .$source. "\n"; - } - } - - // Split our source into an array by lines - $srcLines = preg_split("/\n/",$newsrc,-1,PREG_SPLIT_NO_EMPTY); - - // Get only the lines between the body tags - $startLn = 0; - while ( strpos( $srcLines[$startLn++], ' -var ns=""; - -editor.setHTML(ns); - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy.js deleted file mode 100644 index e34e3251e..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy.js +++ /dev/null @@ -1,72 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/HtmlTidy/html-tidy.js */ -function HtmlTidy(_1){ -this.editor=_1; -var _2=_1.config; -var bl=HtmlTidy.btnList; -var _4=this; -this.onMode=this.__onMode; -var _5=[]; -for(var i=0;i -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Auto-Tidy": "Auto-Tidy", - "Don't Tidy": "Sem Tidy", - "HTML Tidy": "HTML Tidy", - "Tidy failed. Check your HTML for syntax errors.": "Tidy falhou. Verifique erros de sintaxe em seu HTML." -} diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php index e7e60544b..1bc9730b7 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php @@ -1,333 +1,333 @@ -read())) - { - if ($entry != '.' && $entry != '..') - { - $obj = Files::fixPath($folder).$entry; - //var_dump($obj); - if (is_file($obj)) - { - $deleted &= Files::delFile($obj); - } - else if(is_dir($obj)) - { - $deleted &= Files::delFolder($obj, $recursive); - } - - } - } - $d->close(); - - } - - //$folder= $folder.'/thumbs'; - //var_dump($folder); - if(is_dir($folder)) - $deleted &= rmdir($folder); - else - $deleted &= false; - - Return $deleted; - } - - /** - * Append a / to the path if required. - * @param string $path the path - * @return string path with trailing / - */ - function fixPath($path) - { - //append a slash to the path if it doesn't exists. - if(!(substr($path,-1) == '/')) - $path .= '/'; - Return $path; - } - - /** - * Concat two paths together. Basically $pathA+$pathB - * @param string $pathA path one - * @param string $pathB path two - * @return string a trailing slash combinded path. - */ - function makePath($pathA, $pathB) - { - $pathA = Files::fixPath($pathA); - if(substr($pathB,0,1)=='/') - $pathB = substr($pathB,1); - Return Files::fixPath($pathA.$pathB); - } - - /** - * Similar to makePath, but the second parameter - * is not only a path, it may contain say a file ending. - * @param string $pathA the leading path - * @param string $pathB the ending path with file - * @return string combined file path. - */ - function makeFile($pathA, $pathB) - { - $pathA = Files::fixPath($pathA); - if(substr($pathB,0,1)=='/') - $pathB = substr($pathB,1); - - Return $pathA.$pathB; - } - - - /** - * Format the file size, limits to Mb. - * @param int $size the raw filesize - * @return string formated file size. - */ - function formatSize($size) - { - if($size < 1024) - return $size.' bytes'; - else if($size >= 1024 && $size < 1024*1024) - return sprintf('%01.2f',$size/1024.0).' KB'; - else - return sprintf('%01.2f',$size/(1024.0*1024)).' MB'; - } - - /** - * Returns size of a directory, with all file & subdirectory - * sizes added up - * @param string dir path - * @return int - */ - function dirSize($dirName = '.') - { - $dir = dir($dirName); - $size = 0; - - while ($file = $dir->read()) { - if ($file != '.' && $file != '..') - { - if (is_dir("$dirName$file")) - { - $size += Files::dirSize($dirName . '/' . $file); - } - else - { - $size += filesize($dirName . '/' . $file); - } - } - } - $dir->close(); - return $size; - } - - /** - * Renames file, preserving its directory and extension - * @param string $oldPath path to the old existing file - * @param string new filename (just the name, without path or extension) - * @author Krzysztof Kotowicz - */ - function renameFile($oldPath, $newName) { - - if(!(file_exists($oldPath) && is_file($oldPath))) - return FILE_ERROR_NO_SOURCE; - - $oldFileParts = pathinfo($oldPath); - - $newPath = $oldFileParts['dirname'] . '/' - . $newName - . (!empty($oldFileParts['extension']) ? '.' . $oldFileParts['extension'] : ''); - - if (file_exists($newPath)) - return false; - - if (!rename($oldPath, $newPath)) - return FILE_ERROR_COPY_FAILED; - - } - - function rename ($oldPath,$newPath) - { - if(!(is_dir($oldPath) || is_file($oldPath))) - return FILE_ERROR_NO_SOURCE; - - if (file_exists($newPath)) - return FILE_ERROR_DST_DIR_EXIST; - - $ret = rename($oldPath, $newPath); - if (!$ret) - return FILE_ERROR_COPY_FAILED; - else return FILE_COPY_OK; - } - - /** - * copy a directory and all subdirectories and files (recursive) - * @author SBoisvert at Don'tSpamMe dot Bryxal dot ca (adapted from php.net) - * @author Raimund Meyer - * @param string base path - * @param string source directory - * @param string destination directory - * @param bool overwrite existing files - * - * @return mixed bool true on pass, number on fail - */ - function copyDir($basePath, $source, $dest, $overwrite = false) - { - if(!is_dir($basePath . $dest)) - { - if (!@mkdir($basePath . $dest)) return FILE_ERROR_DST_DIR_FAILED; - } - if($handle = opendir($basePath . $source)) - { // if the folder exploration is sucsessful, continue - while( ($file = readdir($handle)) !== false) - { // as long as storing the next file to $file is successful, continue - if($file != '.' && $file != '..') - { - $path = $source . '/' . $file; - if(is_file($basePath . $path)) - { - /*if(!is_file($basePath . $dest . '/' . $file) || $overwrite) - { - if(!@copy($basePath . $path, $basePath . $dest . '/' . $file)) - { - return FILE_ERROR_COPY_FAILED; - } - }*/ - Files::copyFile($basePath . $path, $basePath . $dest . '/', $file, true); - } - elseif(is_dir($basePath . $path)) - { - if(!is_dir($basePath . $dest . '/' . $file)) - { - mkdir($basePath . $dest . '/' . $file); // make subdirectory before subdirectory is copied - Files::copyDir($basePath, $path, $dest . '/' . $file, $overwrite); //recurse! - } - } - } - } - closedir($handle); - } - return true; - } -} - -?> +read())) + { + if ($entry != '.' && $entry != '..') + { + $obj = Files::fixPath($folder).$entry; + //var_dump($obj); + if (is_file($obj)) + { + $deleted &= Files::delFile($obj); + } + else if(is_dir($obj)) + { + $deleted &= Files::delFolder($obj, $recursive); + } + + } + } + $d->close(); + + } + + //$folder= $folder.'/thumbs'; + //var_dump($folder); + if(is_dir($folder)) + $deleted &= rmdir($folder); + else + $deleted &= false; + + Return $deleted; + } + + /** + * Append a / to the path if required. + * @param string $path the path + * @return string path with trailing / + */ + function fixPath($path) + { + //append a slash to the path if it doesn't exists. + if(!(substr($path,-1) == '/')) + $path .= '/'; + Return $path; + } + + /** + * Concat two paths together. Basically $pathA+$pathB + * @param string $pathA path one + * @param string $pathB path two + * @return string a trailing slash combinded path. + */ + function makePath($pathA, $pathB) + { + $pathA = Files::fixPath($pathA); + if(substr($pathB,0,1)=='/') + $pathB = substr($pathB,1); + Return Files::fixPath($pathA.$pathB); + } + + /** + * Similar to makePath, but the second parameter + * is not only a path, it may contain say a file ending. + * @param string $pathA the leading path + * @param string $pathB the ending path with file + * @return string combined file path. + */ + function makeFile($pathA, $pathB) + { + $pathA = Files::fixPath($pathA); + if(substr($pathB,0,1)=='/') + $pathB = substr($pathB,1); + + Return $pathA.$pathB; + } + + + /** + * Format the file size, limits to Mb. + * @param int $size the raw filesize + * @return string formated file size. + */ + function formatSize($size) + { + if($size < 1024) + return $size.' bytes'; + else if($size >= 1024 && $size < 1024*1024) + return sprintf('%01.2f',$size/1024.0).' KB'; + else + return sprintf('%01.2f',$size/(1024.0*1024)).' MB'; + } + + /** + * Returns size of a directory, with all file & subdirectory + * sizes added up + * @param string dir path + * @return int + */ + function dirSize($dirName = '.') + { + $dir = dir($dirName); + $size = 0; + + while ($file = $dir->read()) { + if ($file != '.' && $file != '..') + { + if (is_dir("$dirName$file")) + { + $size += Files::dirSize($dirName . '/' . $file); + } + else + { + $size += filesize($dirName . '/' . $file); + } + } + } + $dir->close(); + return $size; + } + + /** + * Renames file, preserving its directory and extension + * @param string $oldPath path to the old existing file + * @param string new filename (just the name, without path or extension) + * @author Krzysztof Kotowicz + */ + function renameFile($oldPath, $newName) { + + if(!(file_exists($oldPath) && is_file($oldPath))) + return FILE_ERROR_NO_SOURCE; + + $oldFileParts = pathinfo($oldPath); + + $newPath = $oldFileParts['dirname'] . '/' + . $newName + . (!empty($oldFileParts['extension']) ? '.' . $oldFileParts['extension'] : ''); + + if (file_exists($newPath)) + return false; + + if (!rename($oldPath, $newPath)) + return FILE_ERROR_COPY_FAILED; + + } + + function rename ($oldPath,$newPath) + { + if(!(is_dir($oldPath) || is_file($oldPath))) + return FILE_ERROR_NO_SOURCE; + + if (file_exists($newPath)) + return FILE_ERROR_DST_DIR_EXIST; + + $ret = rename($oldPath, $newPath); + if (!$ret) + return FILE_ERROR_COPY_FAILED; + else return FILE_COPY_OK; + } + + /** + * copy a directory and all subdirectories and files (recursive) + * @author SBoisvert at Don'tSpamMe dot Bryxal dot ca (adapted from php.net) + * @author Raimund Meyer + * @param string base path + * @param string source directory + * @param string destination directory + * @param bool overwrite existing files + * + * @return mixed bool true on pass, number on fail + */ + function copyDir($basePath, $source, $dest, $overwrite = false) + { + if(!is_dir($basePath . $dest)) + { + if (!@mkdir($basePath . $dest)) return FILE_ERROR_DST_DIR_FAILED; + } + if($handle = opendir($basePath . $source)) + { // if the folder exploration is sucsessful, continue + while( ($file = readdir($handle)) !== false) + { // as long as storing the next file to $file is successful, continue + if($file != '.' && $file != '..') + { + $path = $source . '/' . $file; + if(is_file($basePath . $path)) + { + /*if(!is_file($basePath . $dest . '/' . $file) || $overwrite) + { + if(!@copy($basePath . $path, $basePath . $dest . '/' . $file)) + { + return FILE_ERROR_COPY_FAILED; + } + }*/ + Files::copyFile($basePath . $path, $basePath . $dest . '/', $file, true); + } + elseif(is_dir($basePath . $path)) + { + if(!is_dir($basePath . $dest . '/' . $file)) + { + mkdir($basePath . $dest . '/' . $file); // make subdirectory before subdirectory is copied + Files::copyDir($basePath, $path, $dest . '/' . $file, $overwrite); //recurse! + } + } + } + } + closedir($handle); + } + return true; + } +} + +?> diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Flickr.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Flickr.php new file mode 100644 index 000000000..169553499 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Flickr.php @@ -0,0 +1,188 @@ + $v) + { + $flickr .= "&{$k}=".rawurlencode($v); + } + + $feed = file_get_contents($flickr); + if($feed) + { + $feed = json_decode($feed, true); + if(!$feed || !isset($feed['stat']) || ($feed['stat'] != 'ok')) + { + print_r($params); + trigger_error($feed['message'], E_USER_ERROR); + return FALSE; + } + } + else + { + trigger_error('Null response from Flickr', E_USER_ERROR); + } + + return $feed; +} + +function flickr_get_licenses() +{ + static $lics; + + if(!$lics) + { + if(0 && isset($_SESSION['flickr_licenses'])) + { + $lics = $_SESSION['flickr_licenses']; + return $lics; + } + + $lics = array(); + $x = flickr_request('flickr.photos.licenses.getInfo'); + $x = $x['licenses']['license']; + foreach($x as $l) + { + // Add out own descriptive "usage" text + switch($l['url']) + { + case 'http://creativecommons.org/licenses/by/2.0/': + case 'http://creativecommons.org/licenses/by-sa/2.0/': + $l['usage'] = 'Attribution Required'; + break; + + case 'http://creativecommons.org/licenses/by-nd/2.0/': + $l['usage'] = 'Attribution Required, No Modifications'; + break; + + case 'http://creativecommons.org/licenses/by-nc-nd/2.0/': + $l['usage'] = 'Non Commercial ONLY, Attribution Required, No Modifications'; + break; + + case 'http://creativecommons.org/licenses/by-nc/2.0/': + case 'http://creativecommons.org/licenses/by-nc-sa/2.0/': + $l['usage'] = 'Non Commercial ONLY, Attribution Required'; + break; + + default: + $l['usage'] = 'Use ONLY Permitted With Written Permission'; + break; + } + + // And our own identifier + switch($l['url']) + { + case 'http://creativecommons.org/licenses/by/2.0/': + $l['x-id'] = 'cc2'; + break; + + case 'http://creativecommons.org/licenses/by-sa/2.0/': + $l['x-id'] = 'ccsa2'; + break; + + case 'http://creativecommons.org/licenses/by-nd/2.0/': + $l['x-id'] = 'ccnd2'; + break; + + case 'http://creativecommons.org/licenses/by-nc-nd/2.0/': + $l['x-id'] = 'ccncnd2'; + break; + + case 'http://creativecommons.org/licenses/by-nc/2.0/': + $l['x-id'] = 'ccnc2'; + break; + + case 'http://creativecommons.org/licenses/by-nc-sa/2.0/': + $l['x-id'] = 'ccncsa2'; + break; + + default: + $l['x-id'] = ''; + break; + } + + $lics[$l['id']] = $l; + } + + $_SESSION['flickr_licenses'] = $lics; + } + + return $lics; +} + +function flickr_get_license_id_by_usage() +{ + $lics = flickr_get_licenses(); + $use = array(); + foreach($lics as $lic) + { + if(!isset($use[$lic['usage']])) + { + $use[$lic['usage']] = $lic['id']; + } + else + { + $use[$lic['usage']] .= "," . $lic['id']; + } + } + + return $use; +} + +function flickr_is_default_license($licIDs) +{ + global $IMConfig; + $lics = flickr_get_licenses(); + foreach($lics as $lic) + { + if($lic['url'] == $IMConfig['Flickr']['Default License']) + { + if(in_array($lic['id'], explode(',', $licIDs))) return TRUE; + } + } + + return FALSE; +} + +function flickr_get_default_usage_id() +{ + $usages = flickr_get_license_id_by_usage(); + foreach($usages as $usage => $id) + { + if(flickr_is_default_license($id)) return $id; + } + + return 0; +} + +function flickr_get_user_id($NameOrEmail) +{ + if(preg_match('/@/', $NameOrEmail)) + { + $d = flickr_request('flickr.people.findByEmail', array('find_email' => $NameOrEmail)); + if($d) + { + return $d['user']['id']; + } + } + else + { + $d = flickr_request('flickr.people.findByUsername', array('username' => $NameOrEmail)); + if($d) + { + return $d['user']['id']; + } + } +} + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php index 1cb5272a5..0df8c99eb 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php @@ -259,6 +259,13 @@ class ImageEditor if($type=='gif' && $ext != 'gif') Return $base.'.gif'; + // Ensure type is in acceptable image types + $valid_extensions = $this->manager->config['allowed_image_extensions']; + if(!in_array($ext, $valid_extensions)) + { + return $base . ".".strtolower($type ? $type : 'jpg'); + } + Return $filename; } diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php index 249f6d875..6c4a5d514 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php @@ -313,7 +313,7 @@ class ImageManager if($this->config['safe_mode'] == true || strlen(trim($this->config['thumbnail_dir'])) == 0) { - Return Files::makeFile($this->getImagesURL(),$thumbnail); + Return Files::makeFile($this->getImagesURL(),rawurlencode($thumbnail)); } else { @@ -324,7 +324,7 @@ class ImageManager _ddt( __FILE__, __LINE__, "getThumbURL(): url_path is '$url_path'" ); - Return Files::makeFile($url_path,$thumbnail); + Return Files::makeFile($url_path,rawurlencode($thumbnail)); } else //should this ever happen? { @@ -456,6 +456,14 @@ class ImageManager Return false; } } + + $valid_extensions = $this->config['allowed_image_extensions']; + $afruext = strtolower(substr(strrchr($file['name'], "."), 1)); + if(!in_array($afruext, $valid_extensions)) + { + Files::delFile($file['tmp_name']); + Return 'Cannot upload $extension='.$afruext.'$ Files. Permission denied.'; + } //now copy the file $path = Files::makePath($this->getImagesDir(),$relative); diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON.php new file mode 100644 index 000000000..436f78279 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON.php @@ -0,0 +1,806 @@ + + * @author Matt Knapp + * @author Brett Stimmerman + * @copyright 2005 Michal Migurski + * @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $ + * @license http://www.opensource.org/licenses/bsd-license.php + * @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198 + */ + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_SLICE', 1); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_STR', 2); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_ARR', 3); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_OBJ', 4); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_CMT', 5); + +/** + * Behavior switch for Services_JSON::decode() + */ +define('SERVICES_JSON_LOOSE_TYPE', 16); + +/** + * Behavior switch for Services_JSON::decode() + */ +define('SERVICES_JSON_SUPPRESS_ERRORS', 32); + +/** + * Converts to and from JSON format. + * + * Brief example of use: + * + * + * // create a new instance of Services_JSON + * $json = new Services_JSON(); + * + * // convert a complexe value to JSON notation, and send it to the browser + * $value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4))); + * $output = $json->encode($value); + * + * print($output); + * // prints: ["foo","bar",[1,2,"baz"],[3,[4]]] + * + * // accept incoming POST data, assumed to be in JSON notation + * $input = file_get_contents('php://input', 1000000); + * $value = $json->decode($input); + * + */ +class Services_JSON +{ + /** + * constructs a new JSON instance + * + * @param int $use object behavior flags; combine with boolean-OR + * + * possible values: + * - SERVICES_JSON_LOOSE_TYPE: loose typing. + * "{...}" syntax creates associative arrays + * instead of objects in decode(). + * - SERVICES_JSON_SUPPRESS_ERRORS: error suppression. + * Values which can't be encoded (e.g. resources) + * appear as NULL instead of throwing errors. + * By default, a deeply-nested resource will + * bubble up with an error, so all return values + * from encode() should be checked with isError() + */ + function Services_JSON($use = 0) + { + $this->use = $use; + } + + /** + * convert a string from one UTF-16 char to one UTF-8 char + * + * Normally should be handled by mb_convert_encoding, but + * provides a slower PHP-only method for installations + * that lack the multibye string extension. + * + * @param string $utf16 UTF-16 character + * @return string UTF-8 character + * @access private + */ + function utf162utf8($utf16) + { + // oh please oh please oh please oh please oh please + if(function_exists('mb_convert_encoding')) { + return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16'); + } + + $bytes = (ord($utf16{0}) << 8) | ord($utf16{1}); + + switch(true) { + case ((0x7F & $bytes) == $bytes): + // this case should never be reached, because we are in ASCII range + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0x7F & $bytes); + + case (0x07FF & $bytes) == $bytes: + // return a 2-byte UTF-8 character + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0xC0 | (($bytes >> 6) & 0x1F)) + . chr(0x80 | ($bytes & 0x3F)); + + case (0xFFFF & $bytes) == $bytes: + // return a 3-byte UTF-8 character + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0xE0 | (($bytes >> 12) & 0x0F)) + . chr(0x80 | (($bytes >> 6) & 0x3F)) + . chr(0x80 | ($bytes & 0x3F)); + } + + // ignoring UTF-32 for now, sorry + return ''; + } + + /** + * convert a string from one UTF-8 char to one UTF-16 char + * + * Normally should be handled by mb_convert_encoding, but + * provides a slower PHP-only method for installations + * that lack the multibye string extension. + * + * @param string $utf8 UTF-8 character + * @return string UTF-16 character + * @access private + */ + function utf82utf16($utf8) + { + // oh please oh please oh please oh please oh please + if(function_exists('mb_convert_encoding')) { + return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8'); + } + + switch(strlen($utf8)) { + case 1: + // this case should never be reached, because we are in ASCII range + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return $utf8; + + case 2: + // return a UTF-16 character from a 2-byte UTF-8 char + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0x07 & (ord($utf8{0}) >> 2)) + . chr((0xC0 & (ord($utf8{0}) << 6)) + | (0x3F & ord($utf8{1}))); + + case 3: + // return a UTF-16 character from a 3-byte UTF-8 char + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr((0xF0 & (ord($utf8{0}) << 4)) + | (0x0F & (ord($utf8{1}) >> 2))) + . chr((0xC0 & (ord($utf8{1}) << 6)) + | (0x7F & ord($utf8{2}))); + } + + // ignoring UTF-32 for now, sorry + return ''; + } + + /** + * encodes an arbitrary variable into JSON format + * + * @param mixed $var any number, boolean, string, array, or object to be encoded. + * see argument 1 to Services_JSON() above for array-parsing behavior. + * if var is a strng, note that encode() always expects it + * to be in ASCII or UTF-8 format! + * + * @return mixed JSON string representation of input var or an error if a problem occurs + * @access public + */ + function encode($var) + { + switch (gettype($var)) { + case 'boolean': + return $var ? 'true' : 'false'; + + case 'NULL': + return 'null'; + + case 'integer': + return (int) $var; + + case 'double': + case 'float': + return (float) $var; + + case 'string': + // STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT + $ascii = ''; + $strlen_var = strlen($var); + + /* + * Iterate over every character in the string, + * escaping with a slash or encoding to UTF-8 where necessary + */ + for ($c = 0; $c < $strlen_var; ++$c) { + + $ord_var_c = ord($var{$c}); + + switch (true) { + case $ord_var_c == 0x08: + $ascii .= '\b'; + break; + case $ord_var_c == 0x09: + $ascii .= '\t'; + break; + case $ord_var_c == 0x0A: + $ascii .= '\n'; + break; + case $ord_var_c == 0x0C: + $ascii .= '\f'; + break; + case $ord_var_c == 0x0D: + $ascii .= '\r'; + break; + + case $ord_var_c == 0x22: + case $ord_var_c == 0x2F: + case $ord_var_c == 0x5C: + // double quote, slash, slosh + $ascii .= '\\'.$var{$c}; + break; + + case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)): + // characters U-00000000 - U-0000007F (same as ASCII) + $ascii .= $var{$c}; + break; + + case (($ord_var_c & 0xE0) == 0xC0): + // characters U-00000080 - U-000007FF, mask 110XXXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, ord($var{$c + 1})); + $c += 1; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xF0) == 0xE0): + // characters U-00000800 - U-0000FFFF, mask 1110XXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2})); + $c += 2; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xF8) == 0xF0): + // characters U-00010000 - U-001FFFFF, mask 11110XXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2}), + ord($var{$c + 3})); + $c += 3; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xFC) == 0xF8): + // characters U-00200000 - U-03FFFFFF, mask 111110XX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2}), + ord($var{$c + 3}), + ord($var{$c + 4})); + $c += 4; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xFE) == 0xFC): + // characters U-04000000 - U-7FFFFFFF, mask 1111110X + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2}), + ord($var{$c + 3}), + ord($var{$c + 4}), + ord($var{$c + 5})); + $c += 5; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + } + } + + return '"'.$ascii.'"'; + + case 'array': + /* + * As per JSON spec if any array key is not an integer + * we must treat the the whole array as an object. We + * also try to catch a sparsely populated associative + * array with numeric keys here because some JS engines + * will create an array with empty indexes up to + * max_index which can cause memory issues and because + * the keys, which may be relevant, will be remapped + * otherwise. + * + * As per the ECMA and JSON specification an object may + * have any string as a property. Unfortunately due to + * a hole in the ECMA specification if the key is a + * ECMA reserved word or starts with a digit the + * parameter is only accessible using ECMAScript's + * bracket notation. + */ + + // treat as a JSON object + if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) { + $properties = array_map(array($this, 'name_value'), + array_keys($var), + array_values($var)); + + foreach($properties as $property) { + if(Services_JSON::isError($property)) { + return $property; + } + } + + return '{' . join(',', $properties) . '}'; + } + + // treat it like a regular array + $elements = array_map(array($this, 'encode'), $var); + + foreach($elements as $element) { + if(Services_JSON::isError($element)) { + return $element; + } + } + + return '[' . join(',', $elements) . ']'; + + case 'object': + $vars = get_object_vars($var); + + $properties = array_map(array($this, 'name_value'), + array_keys($vars), + array_values($vars)); + + foreach($properties as $property) { + if(Services_JSON::isError($property)) { + return $property; + } + } + + return '{' . join(',', $properties) . '}'; + + default: + return ($this->use & SERVICES_JSON_SUPPRESS_ERRORS) + ? 'null' + : new Services_JSON_Error(gettype($var)." can not be encoded as JSON string"); + } + } + + /** + * array-walking function for use in generating JSON-formatted name-value pairs + * + * @param string $name name of key to use + * @param mixed $value reference to an array element to be encoded + * + * @return string JSON-formatted name-value pair, like '"name":value' + * @access private + */ + function name_value($name, $value) + { + $encoded_value = $this->encode($value); + + if(Services_JSON::isError($encoded_value)) { + return $encoded_value; + } + + return $this->encode(strval($name)) . ':' . $encoded_value; + } + + /** + * reduce a string by removing leading and trailing comments and whitespace + * + * @param $str string string value to strip of comments and whitespace + * + * @return string string value stripped of comments and whitespace + * @access private + */ + function reduce_string($str) + { + $str = preg_replace(array( + + // eliminate single line comments in '// ...' form + '#^\s*//(.+)$#m', + + // eliminate multi-line comments in '/* ... */' form, at start of string + '#^\s*/\*(.+)\*/#Us', + + // eliminate multi-line comments in '/* ... */' form, at end of string + '#/\*(.+)\*/\s*$#Us' + + ), '', $str); + + // eliminate extraneous space + return trim($str); + } + + /** + * decodes a JSON string into appropriate variable + * + * @param string $str JSON-formatted string + * + * @return mixed number, boolean, string, array, or object + * corresponding to given JSON input string. + * See argument 1 to Services_JSON() above for object-output behavior. + * Note that decode() always returns strings + * in ASCII or UTF-8 format! + * @access public + */ + function decode($str) + { + $str = $this->reduce_string($str); + + switch (strtolower($str)) { + case 'true': + return true; + + case 'false': + return false; + + case 'null': + return null; + + default: + $m = array(); + + if (is_numeric($str)) { + // Lookie-loo, it's a number + + // This would work on its own, but I'm trying to be + // good about returning integers where appropriate: + // return (float)$str; + + // Return float or int, as appropriate + return ((float)$str == (integer)$str) + ? (integer)$str + : (float)$str; + + } elseif (preg_match('/^("|\').*(\1)$/s', $str, $m) && $m[1] == $m[2]) { + // STRINGS RETURNED IN UTF-8 FORMAT + $delim = substr($str, 0, 1); + $chrs = substr($str, 1, -1); + $utf8 = ''; + $strlen_chrs = strlen($chrs); + + for ($c = 0; $c < $strlen_chrs; ++$c) { + + $substr_chrs_c_2 = substr($chrs, $c, 2); + $ord_chrs_c = ord($chrs{$c}); + + switch (true) { + case $substr_chrs_c_2 == '\b': + $utf8 .= chr(0x08); + ++$c; + break; + case $substr_chrs_c_2 == '\t': + $utf8 .= chr(0x09); + ++$c; + break; + case $substr_chrs_c_2 == '\n': + $utf8 .= chr(0x0A); + ++$c; + break; + case $substr_chrs_c_2 == '\f': + $utf8 .= chr(0x0C); + ++$c; + break; + case $substr_chrs_c_2 == '\r': + $utf8 .= chr(0x0D); + ++$c; + break; + + case $substr_chrs_c_2 == '\\"': + case $substr_chrs_c_2 == '\\\'': + case $substr_chrs_c_2 == '\\\\': + case $substr_chrs_c_2 == '\\/': + if (($delim == '"' && $substr_chrs_c_2 != '\\\'') || + ($delim == "'" && $substr_chrs_c_2 != '\\"')) { + $utf8 .= $chrs{++$c}; + } + break; + + case preg_match('/\\\u[0-9A-F]{4}/i', substr($chrs, $c, 6)): + // single, escaped unicode character + $utf16 = chr(hexdec(substr($chrs, ($c + 2), 2))) + . chr(hexdec(substr($chrs, ($c + 4), 2))); + $utf8 .= $this->utf162utf8($utf16); + $c += 5; + break; + + case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F): + $utf8 .= $chrs{$c}; + break; + + case ($ord_chrs_c & 0xE0) == 0xC0: + // characters U-00000080 - U-000007FF, mask 110XXXXX + //see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 2); + ++$c; + break; + + case ($ord_chrs_c & 0xF0) == 0xE0: + // characters U-00000800 - U-0000FFFF, mask 1110XXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 3); + $c += 2; + break; + + case ($ord_chrs_c & 0xF8) == 0xF0: + // characters U-00010000 - U-001FFFFF, mask 11110XXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 4); + $c += 3; + break; + + case ($ord_chrs_c & 0xFC) == 0xF8: + // characters U-00200000 - U-03FFFFFF, mask 111110XX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 5); + $c += 4; + break; + + case ($ord_chrs_c & 0xFE) == 0xFC: + // characters U-04000000 - U-7FFFFFFF, mask 1111110X + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 6); + $c += 5; + break; + + } + + } + + return $utf8; + + } elseif (preg_match('/^\[.*\]$/s', $str) || preg_match('/^\{.*\}$/s', $str)) { + // array, or object notation + + if ($str{0} == '[') { + $stk = array(SERVICES_JSON_IN_ARR); + $arr = array(); + } else { + if ($this->use & SERVICES_JSON_LOOSE_TYPE) { + $stk = array(SERVICES_JSON_IN_OBJ); + $obj = array(); + } else { + $stk = array(SERVICES_JSON_IN_OBJ); + $obj = new stdClass(); + } + } + + array_push($stk, array('what' => SERVICES_JSON_SLICE, + 'where' => 0, + 'delim' => false)); + + $chrs = substr($str, 1, -1); + $chrs = $this->reduce_string($chrs); + + if ($chrs == '') { + if (reset($stk) == SERVICES_JSON_IN_ARR) { + return $arr; + + } else { + return $obj; + + } + } + + //print("\nparsing {$chrs}\n"); + + $strlen_chrs = strlen($chrs); + + for ($c = 0; $c <= $strlen_chrs; ++$c) { + + $top = end($stk); + $substr_chrs_c_2 = substr($chrs, $c, 2); + + if (($c == $strlen_chrs) || (($chrs{$c} == ',') && ($top['what'] == SERVICES_JSON_SLICE))) { + // found a comma that is not inside a string, array, etc., + // OR we've reached the end of the character list + $slice = substr($chrs, $top['where'], ($c - $top['where'])); + array_push($stk, array('what' => SERVICES_JSON_SLICE, 'where' => ($c + 1), 'delim' => false)); + //print("Found split at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + if (reset($stk) == SERVICES_JSON_IN_ARR) { + // we are in an array, so just push an element onto the stack + array_push($arr, $this->decode($slice)); + + } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) { + // we are in an object, so figure + // out the property name and set an + // element in an associative array, + // for now + $parts = array(); + + if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis', $slice, $parts)) { + // "name":value pair + $key = $this->decode($parts[1]); + $val = $this->decode($parts[2]); + + if ($this->use & SERVICES_JSON_LOOSE_TYPE) { + $obj[$key] = $val; + } else { + $obj->$key = $val; + } + } elseif (preg_match('/^\s*(\w+)\s*:\s*(\S.*),?$/Uis', $slice, $parts)) { + // name:value pair, where name is unquoted + $key = $parts[1]; + $val = $this->decode($parts[2]); + + if ($this->use & SERVICES_JSON_LOOSE_TYPE) { + $obj[$key] = $val; + } else { + $obj->$key = $val; + } + } + + } + + } elseif ((($chrs{$c} == '"') || ($chrs{$c} == "'")) && ($top['what'] != SERVICES_JSON_IN_STR)) { + // found a quote, and we are not inside a string + array_push($stk, array('what' => SERVICES_JSON_IN_STR, 'where' => $c, 'delim' => $chrs{$c})); + //print("Found start of string at {$c}\n"); + + } elseif (($chrs{$c} == $top['delim']) && + ($top['what'] == SERVICES_JSON_IN_STR) && + ((strlen(substr($chrs, 0, $c)) - strlen(rtrim(substr($chrs, 0, $c), '\\'))) % 2 != 1)) { + // found a quote, we're in a string, and it's not escaped + // we know that it's not escaped becase there is _not_ an + // odd number of backslashes at the end of the string so far + array_pop($stk); + //print("Found end of string at {$c}: ".substr($chrs, $top['where'], (1 + 1 + $c - $top['where']))."\n"); + + } elseif (($chrs{$c} == '[') && + in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) { + // found a left-bracket, and we are in an array, object, or slice + array_push($stk, array('what' => SERVICES_JSON_IN_ARR, 'where' => $c, 'delim' => false)); + //print("Found start of array at {$c}\n"); + + } elseif (($chrs{$c} == ']') && ($top['what'] == SERVICES_JSON_IN_ARR)) { + // found a right-bracket, and we're in an array + array_pop($stk); + //print("Found end of array at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + } elseif (($chrs{$c} == '{') && + in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) { + // found a left-brace, and we are in an array, object, or slice + array_push($stk, array('what' => SERVICES_JSON_IN_OBJ, 'where' => $c, 'delim' => false)); + //print("Found start of object at {$c}\n"); + + } elseif (($chrs{$c} == '}') && ($top['what'] == SERVICES_JSON_IN_OBJ)) { + // found a right-brace, and we're in an object + array_pop($stk); + //print("Found end of object at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + } elseif (($substr_chrs_c_2 == '/*') && + in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) { + // found a comment start, and we are in an array, object, or slice + array_push($stk, array('what' => SERVICES_JSON_IN_CMT, 'where' => $c, 'delim' => false)); + $c++; + //print("Found start of comment at {$c}\n"); + + } elseif (($substr_chrs_c_2 == '*/') && ($top['what'] == SERVICES_JSON_IN_CMT)) { + // found a comment end, and we're in one now + array_pop($stk); + $c++; + + for ($i = $top['where']; $i <= $c; ++$i) + $chrs = substr_replace($chrs, ' ', $i, 1); + + //print("Found end of comment at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + } + + } + + if (reset($stk) == SERVICES_JSON_IN_ARR) { + return $arr; + + } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) { + return $obj; + + } + + } + } + } + + /** + * @todo Ultimately, this should just call PEAR::isError() + */ + function isError($data, $code = null) + { + if (class_exists('pear')) { + return PEAR::isError($data, $code); + } elseif (is_object($data) && (get_class($data) == 'services_json_error' || + is_subclass_of($data, 'services_json_error'))) { + return true; + } + + return false; + } +} + +if (class_exists('PEAR_Error')) { + + class Services_JSON_Error extends PEAR_Error + { + function Services_JSON_Error($message = 'unknown error', $code = null, + $mode = null, $options = null, $userinfo = null) + { + parent::PEAR_Error($message, $code, $mode, $options, $userinfo); + } + } + +} else { + + /** + * @todo Ultimately, this class shall be descended from PEAR_Error + */ + class Services_JSON_Error + { + function Services_JSON_Error($message = 'unknown error', $code = null, + $mode = null, $options = null, $userinfo = null) + { + + } + } + +} + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON_Compat.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON_Compat.php new file mode 100644 index 000000000..f731a5dd4 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON_Compat.php @@ -0,0 +1,52 @@ +use = SERVICES_JSON_LOOSE_TYPE; + } + else + { + $json->use = 0; + } + + return $json->decode($str); + } + + function json_encode($var, $loose = FALSE) + { + $json =& get_json(); + if($loose) + { + $json->use = SERVICES_JSON_LOOSE_TYPE; + } + else + { + $json->use = 0; + } + return $json->encode($var); + } + } +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/ImageManager.js b/ccm-core/web/assets/xinha/plugins/ImageManager/ImageManager.js new file mode 100644 index 000000000..7f6490126 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/ImageManager.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function ImageManager(a){}ImageManager._pluginInfo={name:"ImageManager",version:"1.0",developer:"Xiang Wei Zhuo",developer_url:"http://www.zhuo.org/htmlarea/",license:"htmlArea"};Xinha.Config.prototype.ImageManager={backend:Xinha.getPluginDir("ImageManager")+"/backend.php?__plugin=ImageManager&",backend_data:null,backend_config:null,backend_config_hash:null,backend_config_secret_key_location:"Xinha:ImageManager"};Xinha.prototype._insertImage=function(f){var a=this;var g=null;if(typeof f=="undefined"){f=this.getParentElement();if(f&&!/^img$/i.test(f.tagName)){f=null}}if(f){g={f_url:Xinha.is_ie?f.src:f.src,f_alt:f.alt,f_border:f.style.borderWidth?f.style.borderWidth:f.border,f_align:f.align,f_padding:f.style.padding,f_margin:f.style.margin,f_width:f.width,f_height:f.height,f_backgroundColor:f.style.backgroundColor,f_borderColor:f.style.borderColor,f_hspace:f.hspace&&f.hspace!="-1"?parseInt(f.hspace):"",f_vspace:f.vspace&&f.vspace!="-1"?parseInt(f.vspace):""};function d(h){if(/ /.test(h)){var l=h.split(" ");var k=true;for(var j=1;j0&&parent.frames.length){ -d=parent.frames[n.substring(p+1)].document; -n=n.substring(0,p); -} -if(!(x=d[n])&&d.all){ -x=d.all[n]; -} -for(i=0;!x&&i-1&&navigator.appVersion.indexOf("Mac")>-1)){ -ox=0; -oy=0; -if(g.style.left){ -x=parseInt(g.style.left); -y=parseInt(g.style.top); -}else{ -var w1=parseInt(el.style.width); -bx=(a<0)?-5-w1:-10; -a=(Math.abs(a)<1000)?0:a; -b=(Math.abs(b)<1000)?0:b; -if(event==null){ -x=document.body.scrollLeft+bx; -}else{ -x=document.body.scrollLeft+event.clientX+bx; -} -if(event==null){ -y=document.body.scrollTop; -}else{ -y=document.body.scrollTop+event.clientY; -} -} -} -}else{ -if(document.layers){ -x=g.x; -y=g.y; -var q0=document.layers,dd=""; -for(var s=0;s4){ -xx+="px"; -yy+="px"; -} -if(navigator.appVersion.indexOf("MSIE 5")>-1&&navigator.appVersion.indexOf("Mac")>-1){ -xx+=parseInt(document.body.leftMargin); -yy+=parseInt(document.body.topMargin); -xx+="px"; -yy+="px"; -} -e.left=xx; -e.top=yy; -} -pic_x=parseInt(xx); -pic_y=parseInt(yy); -} -} -} -var ie=document.all; -var ns6=document.getElementById&&!document.all; -var dragapproved=false; -var z,x,y,status,ant,canvas,content,pic_width,pic_height,image,resizeHandle,oa_w,oa_h,oa_x,oa_y,mx2,my2; -function init_resize(){ -if(mode=="scale"){ -P7_Snap("theImage","ant",0,0); -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -if(pic_width==null||pic_height==null){ -image=MM_findObj("theImage"); -pic_width=image.width; -pic_height=image.height; -} -if(ant==null){ -ant=MM_findObj("ant"); -} -ant.style.left=pic_x; -ant.style.top=pic_y; -ant.style.width=pic_width; -ant.style.height=pic_height; -ant.style.visibility="visible"; -drawBoundHandle(); -jg_doc.paint(); -} -} -initEditor=function(){ -init_crop(); -init_resize(); -var _a=MM_findObj("markerImg",window.top.document); -if(_a.src.indexOf("img/t_white.gif")>0){ -toggleMarker(); -} -}; -function init_crop(){ -P7_Snap("theImage","ant",0,0); -} -function setMode(_b){ -mode=_b; -reset(); -} -function reset(){ -if(ant==null){ -ant=MM_findObj("ant"); -} -ant.style.visibility="hidden"; -ant.style.left=0; -ant.style.top=0; -ant.style.width=0; -ant.style.height=0; -mx2=null; -my2=null; -jg_doc.clear(); -if(mode!="measure"){ -showStatus(); -} -if(mode=="scale"){ -init_resize(); -} -P7_Snap("theImage","ant",0,0); -} -function toggleMarker(){ -if(ant==null){ -ant=MM_findObj("ant"); -} -if(ant.className=="selection"){ -ant.className="selectionWhite"; -}else{ -ant.className="selection"; -} -if(jg_doc.getColor()=="#000000"){ -jg_doc.setColor("#FFFFFF"); -}else{ -jg_doc.setColor("#000000"); -} -drawBoundHandle; -jg_doc.paint(); -} -function move(e){ -if(dragapproved){ -var w=ns6?temp1+e.clientX-x:temp1+event.clientX-x; -var h=ns6?temp2+e.clientY-y:temp2+event.clientY-y; -if(ant!=null){ -if(w>=0){ -ant.style.left=x; -ant.style.width=w; -}else{ -ant.style.left=x+w; -ant.style.width=-1*w; -} -if(h>=0){ -ant.style.top=y; -ant.style.height=h; -}else{ -ant.style.top=y+h; -ant.style.height=-1*h; -} -} -showStatus(); -return false; -} -} -function moveContent(e){ -if(dragapproved){ -var dx=ns6?oa_x+e.clientX-x:oa_x+event.clientX-x; -var dy=ns6?oa_y+e.clientY-y:oa_y+event.clientY-y; -ant.style.left=dx; -ant.style.top=dy; -showStatus(); -return false; -} -} -function moveHandle(e){ -if(dragapproved){ -var w=ns6?e.clientX-x:event.clientX-x; -var h=ns6?e.clientY-y:event.clientY-y; -var _15=MM_findObj("constProp",window.top.document); -var _16=document.theImage.height; -var _17=document.theImage.width; -rapp=_17/_16; -rapp_inv=_16/_17; -switch(resizeHandle){ -case "s-resize": -if(oa_h+h>=0){ -ant.style.height=oa_h+h; -if(_15.checked){ -ant.style.width=rapp*(oa_h+h); -ant.style.left=oa_x-rapp*h/2; -} -} -break; -case "e-resize": -if(oa_w+w>=0){ -ant.style.width=oa_w+w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w+w); -ant.style.top=oa_y-rapp_inv*w/2; -} -} -break; -case "n-resize": -if(oa_h-h>=0){ -ant.style.top=oa_y+h; -ant.style.height=oa_h-h; -if(_15.checked){ -ant.style.width=rapp*(oa_h-h); -ant.style.left=oa_x+rapp*h/2; -} -} -break; -case "w-resize": -if(oa_w-w>=0){ -ant.style.left=oa_x+w; -ant.style.width=oa_w-w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w-w); -ant.style.top=oa_y+rapp_inv*w/2; -} -} -break; -case "nw-resize": -if(oa_h-h>=0&&oa_w-w>=0){ -ant.style.left=oa_x+w; -ant.style.width=oa_w-w; -ant.style.top=oa_y+h; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w-w); -}else{ -ant.style.height=oa_h-h; -} -} -break; -case "ne-resize": -if(oa_h-h>=0&&oa_w+w>=0){ -ant.style.top=oa_y+h; -ant.style.width=oa_w+w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w+w); -}else{ -ant.style.height=oa_h-h; -} -} -break; -case "se-resize": -if(oa_h+h>=0&&oa_w+w>=0){ -ant.style.width=oa_w+w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w+w); -}else{ -ant.style.height=oa_h+h; -} -} -break; -case "sw-resize": -if(oa_h+h>=0&&oa_w-w>=0){ -ant.style.left=oa_x+w; -ant.style.width=oa_w-w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w-w); -}else{ -ant.style.height=oa_h+h; -} -} -} -showStatus(); -return false; -} -} -function drags(e){ -if(!ie&&!ns6){ -return; -} -var _19=ns6?e.target:event.srcElement; -var _1a=ns6?"HTML":"BODY"; -while(_19.tagName!=_1a&&!(_19.className=="crop"||_19.className=="handleBox"||_19.className=="selection"||_19.className=="selectionWhite")){ -_19=ns6?_19.parentNode:_19.parentElement; -} -if(_19.className=="handleBox"){ -if(content!=null){ -if(content.width!=null&&content.height!=null){ -content.width=0; -content.height=0; -} -} -resizeHandle=_19.id; -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -oa_w=parseInt(ant.style.width); -oa_h=parseInt(ant.style.height); -oa_x=parseInt(ant.style.left); -oa_y=parseInt(ant.style.top); -dragapproved=true; -document.onmousemove=moveHandle; -return false; -}else{ -if((_19.className=="selection"||_19.className=="selectionWhite")&&mode=="crop"){ -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -oa_x=parseInt(ant.style.left); -oa_y=parseInt(ant.style.top); -dragapproved=true; -document.onmousemove=moveContent; -return false; -}else{ -if(_19.className=="crop"&&mode=="crop"){ -if(content!=null){ -if(content.width!=null&&content.height!=null){ -content.width=0; -content.height=0; -} -} -if(status==null){ -status=MM_findObj("status"); -} -if(ant==null){ -ant=MM_findObj("ant"); -} -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -if(content==null){ -content=MM_findObj("cropContent"); -} -if(pic_width==null||pic_height==null){ -image=MM_findObj("theImage"); -pic_width=image.width; -pic_height=image.height; -} -ant.style.visibility="visible"; -obj=_19; -dragapproved=true; -z=_19; -temp1=parseInt(z.style.left+0); -temp2=parseInt(z.style.top+0); -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -document.onmousemove=move; -return false; -}else{ -if(_19.className=="crop"&&mode=="measure"){ -if(ant==null){ -ant=MM_findObj("ant"); -} -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -dragapproved=true; -document.onmousemove=measure; -return false; -} -} -} -} -} -function measure(e){ -if(dragapproved){ -mx2=ns6?e.clientX:event.clientX; -my2=ns6?e.clientY:event.clientY; -jg_doc.clear(); -jg_doc.setStroke(Stroke.DOTTED); -jg_doc.drawLine(x,y,mx2,my2); -jg_doc.paint(); -showStatus(); -return false; -} -} -function setMarker(nx,ny,nw,nh){ -if(isNaN(nx)){ -nx=0; -} -if(isNaN(ny)){ -ny=0; -} -if(isNaN(nw)){ -nw=0; -} -if(isNaN(nh)){ -nh=0; -} -if(ant==null){ -ant=MM_findObj("ant"); -} -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -if(content==null){ -content=MM_findObj("cropContent"); -} -if(pic_width==null||pic_height==null){ -image=MM_findObj("theImage"); -pic_width=image.width; -pic_height=image.height; -} -ant.style.visibility="visible"; -nx=pic_x+nx; -ny=pic_y+ny; -if(nw>=0){ -ant.style.left=nx; -ant.style.width=nw; -}else{ -ant.style.left=nx+nw; -ant.style.width=-1*nw; -} -if(nh>=0){ -ant.style.top=ny; -ant.style.height=nh; -}else{ -ant.style.top=ny+nh; -ant.style.height=-1*nh; -} -} -function max(x,y){ -if(y>x){ -return x; -}else{ -return y; -} -} -function drawBoundHandle(){ -if(ant==null||ant.style==null){ -return false; -} -var ah=parseInt(ant.style.height); -var aw=parseInt(ant.style.width); -var ax=parseInt(ant.style.left); -var ay=parseInt(ant.style.top); -jg_doc.drawHandle(ax-15,ay-15,30,30,"nw-resize"); -jg_doc.drawHandle(ax-15,ay+ah-15,30,30,"sw-resize"); -jg_doc.drawHandle(ax+aw-15,ay-15,30,30,"ne-resize"); -jg_doc.drawHandle(ax+aw-15,ay+ah-15,30,30,"se-resize"); -jg_doc.drawHandle(ax+max(15,aw/10),ay-8,aw-2*max(15,aw/10),8,"n-resize"); -jg_doc.drawHandle(ax+max(15,aw/10),ay+ah,aw-2*max(15,aw/10),8,"s-resize"); -jg_doc.drawHandle(ax-8,ay+max(15,ah/10),8,ah-2*max(15,ah/10),"w-resize"); -jg_doc.drawHandle(ax+aw,ay+max(15,ah/10),8,ah-2*max(15,ah/10),"e-resize"); -jg_doc.drawHandleBox(ax-4,ay-4,8,8,"nw-resize"); -jg_doc.drawHandleBox(ax-4,ay+ah-4,8,8,"sw-resize"); -jg_doc.drawHandleBox(ax+aw-4,ay-4,8,8,"ne-resize"); -jg_doc.drawHandleBox(ax+aw-4,ay+ah-4,8,8,"se-resize"); -jg_doc.drawHandleBox(ax+aw/2-4,ay-4,8,8,"n-resize"); -jg_doc.drawHandleBox(ax+aw/2-4,ay+ah-4,8,8,"s-resize"); -jg_doc.drawHandleBox(ax-4,ay+ah/2-4,8,8,"w-resize"); -jg_doc.drawHandleBox(ax+aw-4,ay+ah/2-4,8,8,"e-resize"); -} -function showStatus(){ -if(ant==null||ant.style==null){ -return false; -} -if(mode=="measure"){ -mx1=x-pic_x; -my1=y-pic_y; -mw=mx2-x; -mh=my2-y; -md=parseInt(Math.sqrt(mw*mw+mh*mh)*100)/100; -ma=(Math.atan(-1*mh/mw)/Math.PI)*180; -if(mw<0&&mh<0){ -ma=ma+180; -} -if(mw<0&&mh>0){ -ma=ma-180; -} -ma=parseInt(ma*100)/100; -if(m_sx!=null&&!isNaN(mx1)){ -m_sx.value=mx1+"px"; -} -if(m_sy!=null&&!isNaN(my1)){ -m_sy.value=my1+"px"; -} -if(m_w!=null&&!isNaN(mw)){ -m_w.value=mw+"px"; -} -if(m_h!=null&&!isNaN(mh)){ -m_h.value=mh+"px"; -} -if(m_d!=null&&!isNaN(md)){ -m_d.value=md+"px"; -} -if(m_a!=null&&!isNaN(ma)){ -m_a.value=ma+""; -} -if(r_ra!=null&&!isNaN(ma)){ -r_ra.value=ma; -} -return false; -} -var ah=parseInt(ant.style.height); -var aw=parseInt(ant.style.width); -var ax=parseInt(ant.style.left); -var ay=parseInt(ant.style.top); -var cx=ax-pic_x<0?0:ax-pic_x; -var cy=ay-pic_y<0?0:ay-pic_y; -cx=cx>pic_width?pic_width:cx; -cy=cy>pic_height?pic_height:cy; -var cw=ax-pic_x>0?aw:aw-(pic_x-ax); -var ch=ay-pic_y>0?ah:ah-(pic_y-ay); -ch=ay+ah0&&s_sh.value.indexOf("%")>0){ -sw=cw/pic_width; -sh=ch/pic_height; -} -if(s_sw!=null){ -s_sw.value=sw; -} -if(s_sh!=null){ -s_sh.value=sh; -} -} -} -} -function dragStopped(){ -dragapproved=false; -if(ant==null||ant.style==null){ -return false; -} -if(mode=="measure"){ -jg_doc.drawLine(x-4,y,x+4,y); -jg_doc.drawLine(x,y-4,x,y+4); -jg_doc.drawLine(mx2-4,my2,mx2+4,my2); -jg_doc.drawLine(mx2,my2-4,mx2,my2+4); -jg_doc.paint(); -showStatus(); -return false; -} -var ah=parseInt(ant.style.height); -var aw=parseInt(ant.style.width); -var ax=parseInt(ant.style.left); -var ay=parseInt(ant.style.top); -jg_doc.clear(); -if(content!=null){ -if(content.width!=null&&content.height!=null){ -content.width=aw-1; -content.height=ah-1; -} -} -if(mode=="crop"){ -jg_doc.fillRectPattern(pic_x,pic_y,pic_width,ay-pic_y,pattern); -var h1=ah; -var y1=ay; -if(ah+ay>=pic_height+pic_y){ -h1=pic_height+pic_y-ay; -}else{ -if(ay<=pic_y){ -h1=ay+ah-pic_y; -y1=pic_y; -} -} -jg_doc.fillRectPattern(pic_x,y1,ax-pic_x,h1,pattern); -jg_doc.fillRectPattern(ax+aw,y1,pic_x+pic_width-ax-aw,h1,pattern); -jg_doc.fillRectPattern(pic_x,ay+ah,pic_width,pic_height+pic_y-ay-ah,pattern); -}else{ -if(mode=="scale"){ -document.theImage.height=ah; -document.theImage.width=aw; -document.theImage.style.height=ah+" px"; -document.theImage.style.width=aw+" px"; -P7_Snap("theImage","ant",0,0); -} -} -drawBoundHandle(); -jg_doc.paint(); -showStatus(); -return false; -} -document.onmousedown=drags; -document.onmouseup=dragStopped; - +function MM_findObj(f,e){var c,b,a;if(!e){e=document}if((c=f.indexOf("?"))>0&&parent.frames.length){e=parent.frames[f.substring(c+1)].document;f=f.substring(0,c)}if(!(a=e[f])&&e.all){a=e.all[f]}for(b=0;!a&&b-1&&navigator.appVersion.indexOf("Mac")>-1)){ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top)}else{var w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;if(event==null){x=document.body.scrollLeft+bx}else{x=document.body.scrollLeft+event.clientX+bx}if(event==null){y=document.body.scrollTop}else{y=document.body.scrollTop+event.clientY}}}}else{if(document.layers){x=g.x;y=g.y;var q0=document.layers,dd="";for(var s=0;s4){xx+="px";yy+="px"}if(navigator.appVersion.indexOf("MSIE 5")>-1&&navigator.appVersion.indexOf("Mac")>-1){xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);xx+="px";yy+="px"}e.left=xx;e.top=yy}pic_x=parseInt(xx);pic_y=parseInt(yy)}}}var ie=document.all;var ns6=document.getElementById&&!document.all;var dragapproved=false;var z,x,y,status,ant,canvas,content,pic_width,pic_height,image,resizeHandle,oa_w,oa_h,oa_x,oa_y,mx2,my2;function init_resize(){if(mode=="scale"){P7_Snap("theImage","ant",0,0);if(canvas==null){canvas=MM_findObj("imgCanvas")}if(pic_width==null||pic_height==null){image=MM_findObj("theImage");pic_width=image.width;pic_height=image.height}if(ant==null){ant=MM_findObj("ant")}ant.style.left=pic_x;ant.style.top=pic_y;ant.style.width=pic_width;ant.style.height=pic_height;ant.style.visibility="visible";drawBoundHandle();jg_doc.paint()}}initEditor=function(){init_crop();init_resize();var a=MM_findObj("markerImg",window.top.document);if(a.src.indexOf("img/t_white.gif")>0){toggleMarker()}};function init_crop(){P7_Snap("theImage","ant",0,0)}function setMode(a){mode=a;reset()}function reset(){if(ant==null){ant=MM_findObj("ant")}ant.style.visibility="hidden";ant.style.left=0;ant.style.top=0;ant.style.width=0;ant.style.height=0;mx2=null;my2=null;jg_doc.clear();if(mode!="measure"){showStatus()}if(mode=="scale"){init_resize()}P7_Snap("theImage","ant",0,0)}function toggleMarker(){if(ant==null){ant=MM_findObj("ant")}if(ant.className=="selection"){ant.className="selectionWhite"}else{ant.className="selection"}if(jg_doc.getColor()=="#000000"){jg_doc.setColor("#FFFFFF")}else{jg_doc.setColor("#000000")}drawBoundHandle;jg_doc.paint()}function move(c){if(dragapproved){var a=ns6?temp1+c.clientX-x:temp1+event.clientX-x;var b=ns6?temp2+c.clientY-y:temp2+event.clientY-y;if(ant!=null){if(a>=0){ant.style.left=x;ant.style.width=a}else{ant.style.left=x+a;ant.style.width=-1*a}if(b>=0){ant.style.top=y;ant.style.height=b}else{ant.style.top=y+b;ant.style.height=-1*b}}showStatus();return false}}function moveContent(c){if(dragapproved){var b=ns6?oa_x+c.clientX-x:oa_x+event.clientX-x;var a=ns6?oa_y+c.clientY-y:oa_y+event.clientY-y;ant.style.left=b;ant.style.top=a;showStatus();return false}}function moveHandle(i){if(dragapproved){var b=ns6?i.clientX-x:event.clientX-x;var d=ns6?i.clientY-y:event.clientY-y;var a=MM_findObj("constProp",window.top.document);var c=document.theImage.height;var f=document.theImage.width;rapp=f/c;rapp_inv=c/f;switch(resizeHandle){case"s-resize":if(oa_h+d>=0){ant.style.height=oa_h+d;if(a.checked){ant.style.width=rapp*(oa_h+d);ant.style.left=oa_x-rapp*d/2}}break;case"e-resize":if(oa_w+b>=0){ant.style.width=oa_w+b;if(a.checked){ant.style.height=rapp_inv*(oa_w+b);ant.style.top=oa_y-rapp_inv*b/2}}break;case"n-resize":if(oa_h-d>=0){ant.style.top=oa_y+d;ant.style.height=oa_h-d;if(a.checked){ant.style.width=rapp*(oa_h-d);ant.style.left=oa_x+rapp*d/2}}break;case"w-resize":if(oa_w-b>=0){ant.style.left=oa_x+b;ant.style.width=oa_w-b;if(a.checked){ant.style.height=rapp_inv*(oa_w-b);ant.style.top=oa_y+rapp_inv*b/2}}break;case"nw-resize":if(oa_h-d>=0&&oa_w-b>=0){ant.style.left=oa_x+b;ant.style.width=oa_w-b;ant.style.top=oa_y+d;if(a.checked){ant.style.height=rapp_inv*(oa_w-b)}else{ant.style.height=oa_h-d}}break;case"ne-resize":if(oa_h-d>=0&&oa_w+b>=0){ant.style.top=oa_y+d;ant.style.width=oa_w+b;if(a.checked){ant.style.height=rapp_inv*(oa_w+b)}else{ant.style.height=oa_h-d}}break;case"se-resize":if(oa_h+d>=0&&oa_w+b>=0){ant.style.width=oa_w+b;if(a.checked){ant.style.height=rapp_inv*(oa_w+b)}else{ant.style.height=oa_h+d}}break;case"sw-resize":if(oa_h+d>=0&&oa_w-b>=0){ant.style.left=oa_x+b;ant.style.width=oa_w-b;if(a.checked){ant.style.height=rapp_inv*(oa_w-b)}else{ant.style.height=oa_h+d}}}showStatus();return false}}function drags(b){if(!ie&&!ns6){return}var c=ns6?b.target:event.srcElement;var a=ns6?"HTML":"BODY";while(c.tagName!=a&&!(c.className=="crop"||c.className=="handleBox"||c.className=="selection"||c.className=="selectionWhite")){c=ns6?c.parentNode:c.parentElement}if(c.className=="handleBox"){if(content!=null){if(content.width!=null&&content.height!=null){content.width=0;content.height=0}}resizeHandle=c.id;x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;oa_w=parseInt(ant.style.width);oa_h=parseInt(ant.style.height);oa_x=parseInt(ant.style.left);oa_y=parseInt(ant.style.top);dragapproved=true;document.onmousemove=moveHandle;return false}else{if((c.className=="selection"||c.className=="selectionWhite")&&mode=="crop"){x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;oa_x=parseInt(ant.style.left);oa_y=parseInt(ant.style.top);dragapproved=true;document.onmousemove=moveContent;return false}else{if(c.className=="crop"&&mode=="crop"){if(content!=null){if(content.width!=null&&content.height!=null){content.width=0;content.height=0}}if(status==null){status=MM_findObj("status")}if(ant==null){ant=MM_findObj("ant")}if(canvas==null){canvas=MM_findObj("imgCanvas")}if(content==null){content=MM_findObj("cropContent")}if(pic_width==null||pic_height==null){image=MM_findObj("theImage");pic_width=image.width;pic_height=image.height}ant.style.visibility="visible";obj=c;dragapproved=true;z=c;temp1=parseInt(z.style.left+0);temp2=parseInt(z.style.top+0);x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;document.onmousemove=move;return false}else{if(c.className=="crop"&&mode=="measure"){if(ant==null){ant=MM_findObj("ant")}if(canvas==null){canvas=MM_findObj("imgCanvas")}x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;dragapproved=true;document.onmousemove=measure;return false}}}}}function measure(a){if(dragapproved){mx2=ns6?a.clientX:event.clientX;my2=ns6?a.clientY:event.clientY;jg_doc.clear();jg_doc.setStroke(Stroke.DOTTED);jg_doc.drawLine(x,y,mx2,my2);jg_doc.paint();showStatus();return false}}function setMarker(a,d,b,c){if(isNaN(a)){a=0}if(isNaN(d)){d=0}if(isNaN(b)){b=0}if(isNaN(c)){c=0}if(ant==null){ant=MM_findObj("ant")}if(canvas==null){canvas=MM_findObj("imgCanvas")}if(content==null){content=MM_findObj("cropContent")}if(pic_width==null||pic_height==null){image=MM_findObj("theImage");pic_width=image.width;pic_height=image.height}ant.style.visibility="visible";a=pic_x+a;d=pic_y+d;if(b>=0){ant.style.left=a;ant.style.width=b}else{ant.style.left=a+b;ant.style.width=-1*b}if(c>=0){ant.style.top=d;ant.style.height=c}else{ant.style.top=d+c;ant.style.height=-1*c}}function max(a,b){if(b>a){return a}else{return b}}function drawBoundHandle(){if(ant==null||ant.style==null){return false}var a=parseInt(ant.style.height);var d=parseInt(ant.style.width);var c=parseInt(ant.style.left);var b=parseInt(ant.style.top);jg_doc.drawHandle(c-15,b-15,30,30,"nw-resize");jg_doc.drawHandle(c-15,b+a-15,30,30,"sw-resize");jg_doc.drawHandle(c+d-15,b-15,30,30,"ne-resize");jg_doc.drawHandle(c+d-15,b+a-15,30,30,"se-resize");jg_doc.drawHandle(c+max(15,d/10),b-8,d-2*max(15,d/10),8,"n-resize");jg_doc.drawHandle(c+max(15,d/10),b+a,d-2*max(15,d/10),8,"s-resize");jg_doc.drawHandle(c-8,b+max(15,a/10),8,a-2*max(15,a/10),"w-resize");jg_doc.drawHandle(c+d,b+max(15,a/10),8,a-2*max(15,a/10),"e-resize");jg_doc.drawHandleBox(c-4,b-4,8,8,"nw-resize");jg_doc.drawHandleBox(c-4,b+a-4,8,8,"sw-resize");jg_doc.drawHandleBox(c+d-4,b-4,8,8,"ne-resize");jg_doc.drawHandleBox(c+d-4,b+a-4,8,8,"se-resize");jg_doc.drawHandleBox(c+d/2-4,b-4,8,8,"n-resize");jg_doc.drawHandleBox(c+d/2-4,b+a-4,8,8,"s-resize");jg_doc.drawHandleBox(c-4,b+a/2-4,8,8,"w-resize");jg_doc.drawHandleBox(c+d-4,b+a/2-4,8,8,"e-resize")}function showStatus(){if(ant==null||ant.style==null){return false}if(mode=="measure"){mx1=x-pic_x;my1=y-pic_y;mw=mx2-x;mh=my2-y;md=parseInt(Math.sqrt(mw*mw+mh*mh)*100)/100;ma=(Math.atan(-1*mh/mw)/Math.PI)*180;if(mw<0&&mh<0){ma=ma+180}if(mw<0&&mh>0){ma=ma-180}ma=parseInt(ma*100)/100;if(m_sx!=null&&!isNaN(mx1)){m_sx.value=mx1+"px"}if(m_sy!=null&&!isNaN(my1)){m_sy.value=my1+"px"}if(m_w!=null&&!isNaN(mw)){m_w.value=mw+"px"}if(m_h!=null&&!isNaN(mh)){m_h.value=mh+"px"}if(m_d!=null&&!isNaN(md)){m_d.value=md+"px"}if(m_a!=null&&!isNaN(ma)){m_a.value=ma+""}if(r_ra!=null&&!isNaN(ma)){r_ra.value=ma}return false}var i=parseInt(ant.style.height);var c=parseInt(ant.style.width);var b=parseInt(ant.style.left);var k=parseInt(ant.style.top);var e=b-pic_x<0?0:b-pic_x;var d=k-pic_y<0?0:k-pic_y;e=e>pic_width?pic_width:e;d=d>pic_height?pic_height:d;var f=b-pic_x>0?c:c-(pic_x-b);var a=k-pic_y>0?i:i-(pic_y-k);a=k+i0&&s_sh.value.indexOf("%")>0){j=f/pic_width;h=a/pic_height}if(s_sw!=null){s_sw.value=j}if(s_sh!=null){s_sh.value=h}}}}function dragStopped(){dragapproved=false;if(ant==null||ant.style==null){return false}if(mode=="measure"){jg_doc.drawLine(x-4,y,x+4,y);jg_doc.drawLine(x,y-4,x,y+4);jg_doc.drawLine(mx2-4,my2,mx2+4,my2);jg_doc.drawLine(mx2,my2-4,mx2,my2+4);jg_doc.paint();showStatus();return false}var a=parseInt(ant.style.height);var f=parseInt(ant.style.width);var e=parseInt(ant.style.left);var d=parseInt(ant.style.top);jg_doc.clear();if(content!=null){if(content.width!=null&&content.height!=null){content.width=f-1;content.height=a-1}}if(mode=="crop"){jg_doc.fillRectPattern(pic_x,pic_y,pic_width,d-pic_y,pattern);var b=a;var c=d;if(a+d>=pic_height+pic_y){b=pic_height+pic_y-d}else{if(d<=pic_y){b=d+a-pic_y;c=pic_y}}jg_doc.fillRectPattern(pic_x,c,e-pic_x,b,pattern);jg_doc.fillRectPattern(e+f,c,pic_x+pic_width-e-f,b,pattern);jg_doc.fillRectPattern(pic_x,d+a,pic_width,pic_height+pic_y-d-a,pattern)}else{if(mode=="scale"){document.theImage.height=a;document.theImage.width=f;document.theImage.style.height=a+" px";document.theImage.style.width=f+" px";P7_Snap("theImage","ant",0,0)}}drawBoundHandle();jg_doc.paint();showStatus();return false}document.onmousedown=drags;document.onmouseup=dragStopped; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js index 8086d2a24..80431f161 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js @@ -1,83 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/dialog.js */ -function Dialog(_1,_2,_3){ -if(typeof _3=="undefined"){ -_3=window; -} -if(typeof window.showModalDialog=="function"){ -Dialog._return=_2; -var r=window.showModalDialog(_1,_3,"dialogheight=10;dialogwidth=10;resizable=yes"); -}else{ -Dialog._geckoOpenModal(_1,_2,_3); -} -} -Dialog._parentEvent=function(ev){ -setTimeout(function(){ -if(Dialog._modal&&!Dialog._modal.closed){ -Dialog._modal.focus(); -} -},50); -if(Dialog._modal&&!Dialog._modal.closed){ -Dialog._stopEvent(ev); -} -}; -Dialog._return=null; -Dialog._modal=null; -Dialog._arguments=null; -Dialog._geckoOpenModal=function(_6,_7,_8){ -var _9="hadialog"+_6; -var _a=/\W/g; -_9=_9.replace(_a,"_"); -var _b=window.open(_6,_9,"toolbar=no,menubar=no,personalbar=no,width=10,height=10,"+"scrollbars=no,resizable=yes,modal=yes,dependable=yes"); -Dialog._modal=_b; -Dialog._arguments=_8; -function capwin(w){ -Dialog._addEvent(w,"click",Dialog._parentEvent); -Dialog._addEvent(w,"mousedown",Dialog._parentEvent); -Dialog._addEvent(w,"focus",Dialog._parentEvent); -} -function relwin(w){ -Dialog._removeEvent(w,"click",Dialog._parentEvent); -Dialog._removeEvent(w,"mousedown",Dialog._parentEvent); -Dialog._removeEvent(w,"focus",Dialog._parentEvent); -} -capwin(window); -for(var i=0;i=0){ -_9.src="img/t_white.gif"; -}else{ -_9.src="img/t_black.gif"; -} -editor.toggleMarker(); -} -} -function toggleConstraints(){ -var _a=document.getElementById("scaleConstImg"); -var _b=document.getElementById("constProp"); -if(_a!=null&&_a.src!=null){ -if(_a.src.indexOf("unlocked2.gif")>=0){ -_a.src="img/islocked2.gif"; -_b.checked=true; -checkConstrains("width"); -}else{ -_a.src="img/unlocked2.gif"; -_b.checked=false; -} -} -} -function checkConstrains(_c){ -var _d=document.getElementById("constProp"); -if(_d.checked){ -var w=document.getElementById("sw"); -var _f=w.value; -var h=document.getElementById("sh"); -var _11=h.value; -if(orginal_width>0&&orginal_height>0){ -if(_c=="width"&&_f>0){ -h.value=parseInt((_f/orginal_width)*orginal_height); -}else{ -if(_c=="height"&&_11>0){ -w.value=parseInt((_11/orginal_height)*orginal_width); -} -} -} -} -updateMarker("scale"); -} -function updateMarker(_12){ -if(_12=="crop"){ -var _13=document.getElementById("cx"); -var _14=document.getElementById("cy"); -var _15=document.getElementById("cw"); -var _16=document.getElementById("ch"); -editor.setMarker(parseInt(_13.value),parseInt(_14.value),parseInt(_15.value),parseInt(_16.value)); -}else{ -if(_12=="scale"){ -var _17=document.getElementById("sw"); -var _18=document.getElementById("sh"); -editor.setMarker(0,0,parseInt(_17.value),parseInt(_18.value)); -} -} -} -function rotatePreset(_19){ -var _1a=_19.options[_19.selectedIndex].value; -if(_1a.length>0&&parseInt(_1a)!=0){ -var ra=document.getElementById("ra"); -ra.value=parseInt(_1a); -} -} -function updateFormat(_1c){ -var _1d=_1c.options[_1c.selectedIndex].value; -var _1e=_1d.split(","); -if(_1e.length>1){ -updateSlider(parseInt(_1e[1])); -} -} -function addEvent(obj,_20,fn){ -if(obj.addEventListener){ -obj.addEventListener(_20,fn,true); -return true; -}else{ -if(obj.attachEvent){ -var r=obj.attachEvent("on"+_20,fn); -return r; -}else{ -return false; -} -} -} -init=function(){ -var _23=document.getElementById("bottom"); -if(window.opener){ -__dlg_init(_23); -__dlg_translate("ImageManager"); -} -}; -addEvent(window,"load",init); - +var current_action=null;var actions=["crop","scale","rotate","measure","save"];var orginal_width=null,orginal_height=null;function toggle(b){if(current_action!=b){for(var d in actions){if(actions[d]!=b){var j=document.getElementById("tools_"+actions[d]);j.style.display="none";var f=document.getElementById("icon_"+actions[d]);f.className=""}}current_action=b;var j=document.getElementById("tools_"+b);j.style.display="block";var f=document.getElementById("icon_"+b);f.className="iconActive";var g=document.getElementById("indicator_image");g.src="img/"+b+".gif";editor.setMode(current_action);if(b=="scale"){var a=editor.window.document.getElementById("theImage");orginal_width=a.width;orginal_height=a.height;var c=document.getElementById("sw");c.value=orginal_width;var e=document.getElementById("sh");e.value=orginal_height}}}function toggleMarker(){var a=document.getElementById("markerImg");if(a!=null&&a.src!=null){if(a.src.indexOf("t_black.gif")>=0){a.src="img/t_white.gif"}else{a.src="img/t_black.gif"}editor.toggleMarker()}}function toggleConstraints(){var a=document.getElementById("scaleConstImg");var b=document.getElementById("constProp");if(a!=null&&a.src!=null){if(a.src.indexOf("unlocked2.gif")>=0){a.src="img/islocked2.gif";b.checked=true;checkConstrains("width")}else{a.src="img/unlocked2.gif";b.checked=false}}}function checkConstrains(f){var b=document.getElementById("constProp");if(b.checked){var a=document.getElementById("sw");var d=a.value;var c=document.getElementById("sh");var e=c.value;if(orginal_width>0&&orginal_height>0){if(f=="width"&&d>0){c.value=parseInt((d/orginal_width)*orginal_height)}else{if(f=="height"&&e>0){a.value=parseInt((e/orginal_height)*orginal_width)}}}}updateMarker("scale")}function updateMarker(f){if(f=="crop"){var e=document.getElementById("cx");var d=document.getElementById("cy");var g=document.getElementById("cw");var b=document.getElementById("ch");editor.setMarker(parseInt(e.value),parseInt(d.value),parseInt(g.value),parseInt(b.value))}else{if(f=="scale"){var a=document.getElementById("sw");var c=document.getElementById("sh");editor.setMarker(0,0,parseInt(a.value),parseInt(c.value))}}}function rotatePreset(a){var b=a.options[a.selectedIndex].value;if(b.length>0&&parseInt(b)!=0){var c=document.getElementById("ra");c.value=parseInt(b)}}function updateFormat(a){var c=a.options[a.selectedIndex].value;var b=c.split(",");if(b.length>1){updateSlider(parseInt(b[1]))}}function addEvent(d,a,b){if(d.addEventListener){d.addEventListener(a,b,true);return true}else{if(d.attachEvent){var c=d.attachEvent("on"+a,b);return c}else{return false}}}init=function(){var a=document.getElementById("bottom");if(window.opener){__dlg_init(a);__dlg_translate("ImageManager")}};addEvent(window,"load",init); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js index 7a6f8878f..c5bc7e739 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js @@ -1,76 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/editorFrame.js */ -var topDoc=window.top.document; -var t_cx=topDoc.getElementById("cx"); -var t_cy=topDoc.getElementById("cy"); -var t_cw=topDoc.getElementById("cw"); -var t_ch=topDoc.getElementById("ch"); -var m_sx=topDoc.getElementById("sx"); -var m_sy=topDoc.getElementById("sy"); -var m_w=topDoc.getElementById("mw"); -var m_h=topDoc.getElementById("mh"); -var m_a=topDoc.getElementById("ma"); -var m_d=topDoc.getElementById("md"); -var s_sw=topDoc.getElementById("sw"); -var s_sh=topDoc.getElementById("sh"); -var r_ra=topDoc.getElementById("ra"); -var pattern="img/2x2.gif"; -function doSubmit(_1){ -if(_1=="crop"){ -var _2=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=crop¶ms="+parseInt(t_cx.value)+","+parseInt(t_cy.value)+","+parseInt(t_cw.value)+","+parseInt(t_ch.value); -location.href=_2; -}else{ -if(_1=="scale"){ -var _2=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=scale¶ms="+parseInt(s_sw.value)+","+parseInt(s_sh.value); -location.href=_2; -}else{ -if(_1=="rotate"){ -var _3=topDoc.getElementById("flip"); -if(_3.value=="hoz"||_3.value=="ver"){ -location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=flip¶ms="+_3.value; -}else{ -if(isNaN(parseFloat(r_ra.value))==false){ -location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=rotate¶ms="+parseFloat(r_ra.value); -} -} -}else{ -if(_1=="save"){ -var _4=topDoc.getElementById("save_filename"); -var _5=topDoc.getElementById("save_format"); -var _6=topDoc.getElementById("quality"); -var _7=_5.value.split(","); -if(_4.value.length<=0){ -alert(i18n("Please enter a filename to save.")); -}else{ -var _8=encodeURI(_4.value); -var _9=parseInt(_6.value); -var _2=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=save¶ms="+_7[0]+","+_9+"&file="+_8; -location.href=_2; -} -} -} -} -} -} -function addEvent(_a,_b,fn){ -if(_a.addEventListener){ -_a.addEventListener(_b,fn,true); -return true; -}else{ -if(_a.attachEvent){ -var r=_a.attachEvent("on"+_b,fn); -return r; -}else{ -return false; -} -} -} -var jg_doc; -init=function(){ -jg_doc=new jsGraphics("imgCanvas"); -jg_doc.setColor("#000000"); -initEditor(); -}; -addEvent(window,"load",init); - +var topDoc=window.top.document;var t_cx=topDoc.getElementById("cx");var t_cy=topDoc.getElementById("cy");var t_cw=topDoc.getElementById("cw");var t_ch=topDoc.getElementById("ch");var m_sx=topDoc.getElementById("sx");var m_sy=topDoc.getElementById("sy");var m_w=topDoc.getElementById("mw");var m_h=topDoc.getElementById("mh");var m_a=topDoc.getElementById("ma");var m_d=topDoc.getElementById("md");var s_sw=topDoc.getElementById("sw");var s_sh=topDoc.getElementById("sh");var r_ra=topDoc.getElementById("ra");var pattern="img/2x2.gif";function doSubmit(c){if(c=="crop"){var a=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=crop¶ms="+parseInt(t_cx.value)+","+parseInt(t_cy.value)+","+parseInt(t_cw.value)+","+parseInt(t_ch.value);location.href=a}else{if(c=="scale"){var a=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=scale¶ms="+parseInt(s_sw.value)+","+parseInt(s_sh.value);location.href=a}else{if(c=="rotate"){var f=topDoc.getElementById("flip");if(f.value=="hoz"||f.value=="ver"){location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=flip¶ms="+f.value}else{if(isNaN(parseFloat(r_ra.value))==false){location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=rotate¶ms="+parseFloat(r_ra.value)}}}else{if(c=="save"){var e=topDoc.getElementById("save_filename");var b=topDoc.getElementById("save_format");var d=topDoc.getElementById("quality");var i=b.value.split(",");if(e.value.length<=0){alert(i18n("Please enter a filename to save."))}else{var g=encodeURI(e.value);var h=parseInt(d.value);var a=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=save¶ms="+i[0]+","+h+"&file="+g;location.href=a}}}}}}function addEvent(d,a,b){if(d.addEventListener){d.addEventListener(a,b,true);return true}else{if(d.attachEvent){var c=d.attachEvent("on"+a,b);return c}else{return false}}}var jg_doc;init=function(){jg_doc=new jsGraphics("imgCanvas");jg_doc.setColor("#000000");initEditor()};addEvent(window,"load",init); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css index cb07791a1..933ce15c8 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css @@ -44,3 +44,5 @@ body { margin: 0; padding: 0; } .listview td, .listview th { text-align:left; font-size:small; } .listview td.actions { text-align:right; } .listview td.actions img { border:0px; } + +.flk-license { font-size: xx-small; text-align:center; } diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js index 4a31af602..d69d486c1 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js @@ -1,119 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/images.js */ -function i18n(_1){ -return Xinha._lc(_1,"ImageManager"); -} -function changeDir(_2){ -showMessage("Loading"); -location.href=_backend_url+"__function=images&dir="+encodeURIComponent(_2); -} -function newFolder(_3,_4){ -location.href=_backend_url+"__function=images&dir="+encodeURIComponent(_3)+"&newDir="+encodeURIComponent(_4); -} -function updateDir(_5){ -var _6=window.top.document.getElementById("dirPath"); -if(_6){ -for(var i=0;i<_6.length;i++){ -var _8=_6.options[i].text; -if(_8==_5){ -_6.selectedIndex=i; -showMessage("Loading"); -break; -} -} -} -} -function selectImage(_9,_a,_b,_c){ -var _d=window.top.document; -var _e=_d.getElementById("f_url"); -_e.value=_9; -var _e=_d.getElementById("f_width"); -_e.value=_b; -var _e=_d.getElementById("f_width"); -_e.value=_b; -var _e=_d.getElementById("f_height"); -_e.value=_c; -var _e=_d.getElementById("f_alt"); -_e.value=_a; -var _e=_d.getElementById("orginal_width"); -_e.value=_b; -var _e=_d.getElementById("orginal_height"); -_e.value=_c; -_d.getElementById("f_preview").src=window.parent._backend_url+"__function=thumbs&img="+_9; -update_selected(); -} -var _current_selected=null; -function update_selected(){ -var _f=window.top.document; -if(_current_selected){ -_current_selected.className=_current_selected.className.replace(/(^| )active( |$)/,"$1$2"); -_current_selected=null; -} -var _10=_f.getElementById("f_url").value; -var _11=_f.getElementById("dirPath"); -var _12=_11.options[_11.selectedIndex].text; -var dRe=new RegExp("^("+_12.replace(/([\/\^$*+?.()|{}[\]])/g,"\\$1")+")([^/]*)$"); -if(dRe.test(_10)){ -var _14=document.getElementById("holder_"+asc2hex(RegExp.$2)); -if(_14){ -_current_selected=_14; -_14.className+=" active"; -} -} -} -function asc2hex(str){ -var _16=""; -for(var i=0;i0){ -alert(i18n("Please delete all files/folders inside the folder you wish to delete first.")); -return; -} -if(confirm(i18n("Delete folder?"))){ -return true; -} -return false; -} -addEvent(window,"load",init); -Xinha=window.parent.Xinha; - +function i18n(a){return Xinha._lc(a,"ImageManager")}function changeDir(a){showMessage("Loading");location.href=_backend_url+"__function=images&dir="+encodeURIComponent(a)}function newFolder(a,b){location.href=_backend_url+"__function=images&dir="+encodeURIComponent(a)+"&newDir="+encodeURIComponent(b)}function updateDir(d){var a=window.top.document.getElementById("dirPath");if(a){for(var c=0;c0){alert(i18n("Please delete all files/folders inside the folder you wish to delete first."));return}if(confirm(i18n("Delete folder?"))){return true}return false}addEvent(window,"load",init);Xinha=window.parent.Xinha; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css index 5de75de7f..be0584a39 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css @@ -9,6 +9,7 @@ a img { border: 0; } a:hover { border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; } .dirs { padding: 1em; } .imageFrame { width: 100%; height: 145px; margin: 0 auto; margin-top: 1em; background-color: White;} +#youtubeChooser .imageFrame { height: 155px; } .smallWidth{ width: 4em; } .largelWidth{ width: 22em; } .inputTable { margin: 1em auto; } diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js index e6f5eef9f..47c1b5a15 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js @@ -1,233 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/manager.js */ -function i18n(_1){ -return Xinha._lc(_1,"ImageManager"); -} -function setAlign(_2){ -var _3=document.getElementById("f_align"); -for(var i=0;i<_3.length;i++){ -if(_3.options[i].value==_2){ -_3.selectedIndex=i; -break; -} -} -} -doneinit=0; -init=function(){ -if(doneinit++){ -return; -} -__dlg_init(null,{width:600,height:460}); -__dlg_translate("ImageManager"); -document.getElementById("f_align").selectedIndex=1; -document.getElementById("f_align").selectedIndex=0; -var _5=document.getElementById("uploadForm"); -if(_5){ -_5.target="imgManager"; -} -var _6=window.dialogArguments; -if(_6){ -var _7=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,"")); -_6.f_url=_6.f_url.replace(_7,""); -var rd=(_resized_dir)?_resized_dir.replace(Xinha.RE_Specials,"\\$1")+"/":""; -var rp=_resized_prefix.replace(Xinha.RE_Specials,"\\$1"); -var _a=new RegExp("^(.*/)"+rd+rp+"_([0-9]+)x([0-9]+)_([^/]+)$"); -if(_a.test(_6.f_url)){ -_6.f_url=RegExp.$1+RegExp.$4; -_6.f_width=RegExp.$2; -_6.f_height=RegExp.$3; -} -for(var id in _6){ -if(id=="f_align"){ -continue; -} -if(document.getElementById(id)){ -document.getElementById(id).value=_6[id]; -} -} -document.getElementById("orginal_width").value=_6["f_width"]; -document.getElementById("orginal_height").value=_6["f_height"]; -setAlign(_6["f_align"]); -var _a=new RegExp("^(.*/)([^/]+)$"); -if(_a.test(_6["f_url"])&&!(new RegExp("^https?://","i")).test(_6["f_url"])){ -changeDir(RegExp.$1); -var _c=document.getElementById("dirPath"); -for(var i=0;i<_c.options.length;i++){ -if(_c.options[i].value==encodeURIComponent(RegExp.$1)){ -_c.options[i].selected=true; -break; -} -} -} -document.getElementById("f_preview").src=_backend_url+"__function=thumbs&img="+_6.f_url; -} -new Xinha.colorPicker.InputBinding(document.getElementById("f_backgroundColor")); -new Xinha.colorPicker.InputBinding(document.getElementById("f_borderColor")); -document.getElementById("f_alt").focus(); -}; -function onCancel(){ -__dlg_close(null); -return false; -} -function onOK(){ -var _e=["f_url","f_alt","f_align","f_width","f_height","f_padding","f_margin","f_border","f_borderColor","f_backgroundColor"]; -var _f=new Object(); -for(var i in _e){ -var id=_e[i]; -var el=document.getElementById(id); -if(id=="f_url"&&el.value.indexOf("://")<0){ -if(el.value==""){ -alert(i18n("No Image selected.")); -return (false); -} -_f[id]=makeURL(base_url,el.value); -}else{ -if(el){ -_f[id]=el.value; -}else{ -alert("Missing "+_e[i]); -} -} -} -var _13={w:document.getElementById("orginal_width").value,h:document.getElementById("orginal_height").value}; -if((_13.w!=_f.f_width)||(_13.h!=_f.f_height)){ -var _14=Xinha._geturlcontent(_backend_url+"&__function=resizer&img="+encodeURIComponent(document.getElementById("f_url").value)+"&width="+_f.f_width+"&height="+_f.f_height); -_14=eval(_14); -if(_14){ -_f.f_url=makeURL(base_url,_14); -} -} -__dlg_close(_f); -return false; -} -function makeURL(_15,_16){ -if(_15.substring(_15.length-1)!="/"){ -_15+="/"; -} -if(_16.charAt(0)=="/"){ -} -_16=_16.substring(1); -return _15+_16; -} -function updateDir(_17){ -var _18=_17.options[_17.selectedIndex].value; -changeDir(_18); -} -function goUpDir(){ -var _19=document.getElementById("dirPath"); -var _1a=_19.options[_19.selectedIndex].text; -if(_1a.length<2){ -return false; -} -var _1b=_1a.split("/"); -var _1c=""; -for(var i=0;i<_1b.length-2;i++){ -_1c+=_1b[i]+"/"; -} -for(var i=0;i<_19.length;i++){ -var _1e=_19.options[i].text; -if(_1e==_1c){ -_19.selectedIndex=i; -var _1f=_19.options[i].value; -changeDir(_1f); -break; -} -} -} -function changeDir(_20){ -if(typeof imgManager!="undefined"){ -imgManager.changeDir(_20); -} -} -function toggleConstrains(_21){ -var _22=document.getElementById("imgLock"); -var _21=document.getElementById("constrain_prop"); -if(_21.checked){ -_22.src="img/locked.gif"; -checkConstrains("width"); -}else{ -_22.src="img/unlocked.gif"; -} -} -function checkConstrains(_23){ -var _24=document.getElementById("constrain_prop"); -if(_24.checked){ -var obj=document.getElementById("orginal_width"); -var _26=parseInt(obj.value); -var obj=document.getElementById("orginal_height"); -var _27=parseInt(obj.value); -var _28=document.getElementById("f_width"); -var _29=document.getElementById("f_height"); -var _2a=parseInt(_28.value); -var _2b=parseInt(_29.value); -if(_26>0&&_27>0){ -if(_23=="width"&&_2a>0){ -_29.value=parseInt((_2a/_26)*_27); -} -if(_23=="height"&&_2b>0){ -_28.value=parseInt((_2b/_27)*_26); -} -} -} -} -function showMessage(_2c){ -var _2d=document.getElementById("message"); -var _2e=document.getElementById("messages"); -if(_2d.firstChild){ -_2d.removeChild(_2d.firstChild); -} -_2d.appendChild(document.createTextNode(i18n(_2c))); -_2e.style.display=""; -} -function addEvent(obj,_30,fn){ -if(obj.addEventListener){ -obj.addEventListener(_30,fn,true); -return true; -}else{ -if(obj.attachEvent){ -var r=obj.attachEvent("on"+_30,fn); -return r; -}else{ -return false; -} -} -} -function doUpload(){ -var _33=document.getElementById("uploadForm"); -if(_33){ -showMessage("Uploading"); -} -} -function refresh(){ -var _34=document.getElementById("dirPath"); -updateDir(_34); -} -function newFolder(){ -function createFolder(_35){ -var _36=document.getElementById("dirPath"); -var dir=_36.options[_36.selectedIndex].value; -if(_35==thumbdir){ -alert(i18n("Invalid folder name, please choose another folder name.")); -return false; -} -if(_35&&_35!=""&&typeof imgManager!="undefined"){ -imgManager.newFolder(dir,encodeURI(_35)); -} -} -if(Xinha.ie_version>6){ -Dialog("newFolder.html",function(_38){ -if(!_38){ -return false; -}else{ -var _39=_38["f_foldername"]; -createFolder(_39); -} -},null); -}else{ -var _3a=prompt(i18n("Please enter name for new folder..."),i18n("Untitled")); -createFolder(_3a); -} -} -addEvent(window,"load",init); - +function i18n(a){return Xinha._lc(a,"ImageManager")}function setAlign(c){var a=document.getElementById("f_align");for(var b=0;b0&&d>0){if(f=="width"&&b>0){a.value=parseInt((b/h)*d)}if(f=="height"&&i>0){c.value=parseInt((i/d)*h)}}}}function showMessage(b){var c=document.getElementById("message");var a=document.getElementById("messages");if(c.firstChild){c.removeChild(c.firstChild)}c.appendChild(document.createTextNode(i18n(b)));a.style.display=""}function addEvent(d,a,b){if(d.addEventListener){d.addEventListener(a,b,true);return true}else{if(d.attachEvent){var c=d.attachEvent("on"+a,b);return c}else{return false}}}function doUpload(){var a=document.getElementById("uploadForm");if(a){showMessage("Uploading")}}function refresh(){var a=document.getElementById("dirPath");updateDir(a)}function newFolder(){function b(c){var d=document.getElementById("dirPath");var e=d.options[d.selectedIndex].value;if(c==thumbdir){alert(i18n("Invalid folder name, please choose another folder name."));return false}if(c&&c!=""&&typeof imgManager!="undefined"){imgManager.newFolder(e,encodeURI(c))}}if(Xinha.ie_version>6){Dialog("newFolder.html",function(d){if(!d){return false}else{var c=d.f_foldername;b(c)}},null)}else{var a=prompt(i18n("Please enter name for new folder..."),i18n("Untitled"));b(a)}}addEvent(window,"load",init); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js index 4cc9cf368..d599cc861 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js @@ -1,32 +1,40 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/popup.js */ -function __dlg_translate(_1){ -var _2=["span","option","td","th","button","div","label","a","img","legend"]; -for(var _3=0;_3<_2.length;++_3){ -var _4=document.getElementsByTagName(_2[_3]); -for(var i=_4.length;--i>=0;){ -var _6=_4[i]; -if(_6.firstChild&&_6.firstChild.data){ -var _7=Xinha._lc(_6.firstChild.data,_1); -if(_7){ -_6.firstChild.data=_7; -} -} -if(_6.title){ -var _7=Xinha._lc(_6.title,_1); -if(_7){ -_6.title=_7; -} -} -if(_6.alt){ -var _7=Xinha._lc(_6.alt,_1); -if(_7){ -_6.alt=_7; -} -} -} -} -document.title=Xinha._lc(document.title,_1); -} - +// htmlArea v3.0 - Copyright (c) 2002, 2003 interactivetools.com, inc. +// This copyright notice MUST stay intact for use (see license.txt). +// +// Portions (c) dynarch.com, 2003 +// +// A free WYSIWYG editor replacement for + +
+ + +
diff --git a/ccm-core/web/assets/xinha/plugins/InsertNote/img/insert-note.gif b/ccm-core/web/assets/xinha/plugins/InsertNote/img/insert-note.gif new file mode 100644 index 000000000..7e9dd1a45 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertNote/img/insert-note.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/img/pagebreak.gif b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/img/pagebreak.gif deleted file mode 100755 index 8d42732cd..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/img/pagebreak.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/insert-pagebreak.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/insert-pagebreak.js deleted file mode 100644 index 6a3b1de05..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/insert-pagebreak.js +++ /dev/null @@ -1,20 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertPagebreak/insert-pagebreak.js */ -function InsertPagebreak(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -_3.registerButton({id:"pagebreak",tooltip:this._lc("Page break"),image:_1.imgURL("pagebreak.gif","InsertPagebreak"),textMode:false,action:function(_5){ -_4.buttonPress(_5); -}}); -_3.addToolbarElement("pagebreak","inserthorizontalrule",1); -} -InsertPagebreak._pluginInfo={name:"InsertPagebreak",version:"1.0",developer:"Udo Schmal",developer_url:"",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath NeueMedien",license:"htmlArea"}; -InsertPagebreak.prototype._lc=function(_6){ -return Xinha._lc(_6,"InsertPagebreak"); -}; -InsertPagebreak.prototype.buttonPress=function(_7,_8,_9){ -_7.insertHTML("
"); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/de.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/de.js deleted file mode 100644 index a7af51378..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/de.js +++ /dev/null @@ -1,6 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 | ISO-8859-1 -// Author: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "Page break": "Neue Seite" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/fr.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/fr.js deleted file mode 100644 index 26d751cb5..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/fr.js +++ /dev/null @@ -1,5 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Page break": "Séparateur de page" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/ja.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/ja.js deleted file mode 100644 index aead7257c..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/ja.js +++ /dev/null @@ -1,5 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Page break": "改ページ" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nb.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nb.js deleted file mode 100644 index a0c25740d..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nb.js +++ /dev/null @@ -1,6 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Page break": "Sett inn sideskift" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nl.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nl.js deleted file mode 100644 index 750fc51d0..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nl.js +++ /dev/null @@ -1,6 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Page break": "Pagina einde" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/InsertPicture.php b/ccm-core/web/assets/xinha/plugins/InsertPicture/InsertPicture.php deleted file mode 100755 index 921d59ad1..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/InsertPicture.php +++ /dev/null @@ -1,301 +0,0 @@ -= 1024 && $size < 1024*1024) - return sprintf('%01.2f',$size/1024.0).' Kb'; - else - return sprintf('%01.2f',$size/(1024.0*1024)).' Mb'; - } - $DestFileName = ""; - if (isset($_FILES['file'])) { - $file = $_FILES['file']; - $ext = strrchr($file['name'],'.'); - if (!in_array($ext,$limitedext)) - $message = "The file you are uploading doesn't have the correct extension."; - else if (file_exists($LocalPicturePath.$file['name'])) - $message = "The file you are uploading already exists."; - else if ($file['size'] > $limitedsize) - $message = "The file you are uploading is to big. The max Filesize is ".formatSize($limitedsize)."."; - else - copy($file['tmp_name'], $LocalPicturePath.$file['name']); - $DestFileName = $file['name']; - } -?> - - - Insert Image - - - - - - -
Insert Image
- - - - - - - -
Images on the Server:
- - -
- - -
-
- -
- -
- Image Preview: -
- -
- -
- - - - - - - - - - - - - - - -
Image URL: - -
Alternate text:
- -

- -

-Layout - -
- -
Alignment:
- - -

- -

Border thickness:
- -
- -
- -
-Size - -
- -
Width:
- -

- -

Height:
- -
- -
- -
-Spacing - -
- -
Horizontal:
- -

- -

Vertical:
- - -
- -
-
- -
- - -
-
- - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/bikerpeep.jpg b/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/bikerpeep.jpg deleted file mode 100755 index a2e7028eb..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/bikerpeep.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/wesnoth078.jpg b/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/wesnoth078.jpg deleted file mode 100755 index ea37d1aea..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/wesnoth078.jpg and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/img/btn_open.gif b/ccm-core/web/assets/xinha/plugins/InsertPicture/img/btn_open.gif deleted file mode 100755 index 2056f2c1e..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/InsertPicture/img/btn_open.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/img/nopic.gif b/ccm-core/web/assets/xinha/plugins/InsertPicture/img/nopic.gif deleted file mode 100755 index d4e8a786b..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/InsertPicture/img/nopic.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/insert-picture.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/insert-picture.js deleted file mode 100644 index e6ded2dd9..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/insert-picture.js +++ /dev/null @@ -1,12 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertPicture/insert-picture.js */ -function InsertPicture(_1){ -if(typeof _editor_picturePath!=="string"){ -_editor_picturePath=Xinha.getPluginDir("InsertPicture")+"/demo_pictures/"; -} -InsertPicture.Scripting="php"; -_1.config.URIs.insert_image="../plugins/InsertPicture/InsertPicture."+InsertPicture.Scripting+"?picturepath="+_editor_picturePath; -} -InsertPicture._pluginInfo={name:"InsertPicture",version:"1.0.2",developer:"Udo Schmal",developer_url:"http://www.Schaffrath-NeueMedien.de/",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal",license:"htmlArea"}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/de.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/de.js deleted file mode 100644 index 83bc5e58a..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/de.js +++ /dev/null @@ -1,15 +0,0 @@ -// LANG: "de", ENCODING: UTF-8 | ISO-8859-1 -// Sponsored by http://www.schaffrath-neuemedien.de -// Author: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "The file you are uploading doesn't have the correct extension.": "Die hochgeladene Datei ist im falschen Format.", - "The file you are uploading already exists.": "Eine Datei mit diesem Namen existiert schon.", - "The file you are uploading is to big. The max Filesize is": "Die hochgeladene Datei ist zu groß. Die maximakle Dateigröße beträgt", - "Images on the Server:": "Bilder auf dem Server:", - "Please select a file to upload.": "Wählen Sie eine Datei zum hochladen aus.", - "Upload file": "Datei hochladen", - "Open file in new window": "Datei in neuen Fenster anzeigen", - "Size": "Größe", - "Width:": "Breite", - "Height:": "Höhe" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/fr.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/fr.js deleted file mode 100644 index a1bfb2cfc..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/fr.js +++ /dev/null @@ -1,22 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Insert Image": "Insérer une image", - "Image Preview:": "Prévisualisation", - "Image URL:": "URL", - "Preview": "Prévisualisation", - "Alternate text:": "Texte alternatif", - "Layout": "Layout", - "Alignment:": "Alignement", - "Border thickness:": "Epaisseur bordure", - "Spacing": "Espacement", - "Horizontal:": "Horizontal", - "Vertical:": "Vertical", - "The file you are uploading doesn't have the correct extension.": "Le fichier que vous téléchargez ne possède pas la bonne extension.", - "The file you are uploading already exists.": "Le fichier que vous téléchargez existe déjà.", - "The file you are uploading is to big. The max Filesize is": "Le fichier que vous uploadez est trop gros. La taille maximum est", - "Images on the Server:": "Images sur le serveur", - "Please select a file to upload.": "Veuillez sélectionner un fichier a télécharger", - "Upload file": "Télécharger", - "Open file in new window": "Ouvrir le fichier dans une nouvelle fenêtre" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/ja.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/ja.js deleted file mode 100644 index 4093743b3..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/ja.js +++ /dev/null @@ -1,25 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Insert Image": "画像の挿入", - "Image Preview:": "画像プレビュー:", - "Image URL:": "画像URL:", - "Preview": "表示", - "Alternate text:": "代替テキスト:", - "Layout": "レイアウト", - "Alignment:": "行揃え:", - "Border thickness:": "境界線の幅:", - "Spacing": "間隔", - "Horizontal:": "水平:", - "Vertical:": "垂直:", - "The file you are uploading doesn't have the correct extension.": "アップロード対象ファイルに正しい拡張子がありません。", - "The file you are uploading already exists.": "アップロード対象ファイルはすでに存在します。", - "The file you are uploading is to big. The max Filesize is": "アップロード対象ファイルは大きすぎます。ファイルサイズの上限:", - "Images on the Server:": "サーバ上の画像:", - "Please select a file to upload.": "アップロードするファイルを選択してください。", - "Upload file": "UPLOAD FILE", - "Open file in new window": "新しいウィンドウでファイルを開く", - "Size": "サイズ", - "Width:": "幅:", - "Height:": "高さ:" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nb.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nb.js deleted file mode 100644 index e4598aa9c..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nb.js +++ /dev/null @@ -1,22 +0,0 @@ -// LANG: "nb", ENCODING: UTF-8 | ISO-8859-1 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Insert Image": "Sett inn bilde", - "Image Preview:": "Forhåndsvisning:", - "Image URL:": "Bildets URL:", - "Preview": "Forhåndsvisning", - "Alternate text:": "Alternativ tekst", - "Layout": "Oppsett", - "Alignment:": "Plassering", - "Border thickness:": "Rammetykkelse:", - "Spacing": "Luft rundt bildet", - "Horizontal:": "Horisontal:", - "Vertical:": "Vertikal:", - "The file you are uploading doesn't have the correct extension.": "Bildet du laster opp har et ugyldig format, opplastning avbrutt", - "The file you are uploading already exists.": "Bildet du prøver å laste opp eksisterer allerede på serveren", - "The file you are uploading is to big. The max Filesize is": "Bildet du laster opp er for stort, maks tillatt størrelse er", - "Images on the Server:": "Bilder på serveren:", - "Please select a file to upload.": "Velg bilde du skal laste opp", - "Upload file": "Last opp bilde", - "Open file in new window": "Åpne bilde i nytt vindu" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nl.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nl.js deleted file mode 100644 index 97daba8f8..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nl.js +++ /dev/null @@ -1,35 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl - -{ - "Insert Image": "Afbeelding invoegen", - "Image Preview:": "Afbeeldingsvoorbeeld:", - "Image URL:": "Afbeelding URL:", - "Preview": "Voorbeeld", - "Alternate text:": "Alternatieve tekst:", - "Layout": "Weergave", - "Alignment:": "Positie:", - "Border thickness:": "Rand dikte:", - "Spacing": "Marge", - "Horizontal:": "Horizontaal:", - "Vertical:": "Verticaal:", - "The file you are uploading doesn't have the correct extension.": "Het bestand dat is geupload heeft niet de juiste extentie.", - "The file you are uploading already exists.": "Het bestand dat is geupload bestaat al.", - "The file you are uploading is to big. The max Filesize is": "Het bestand dat is geupload is te groot. De maximaal toegestane grootte is:", - "Images on the Server:": "Afbeeldingen op de server:", - "Please select a file to upload.": "Selecteer een bestand om te uploaden", - "Upload file": "Upload bestand", - "Size": "Grootte", - "Width:": "Breedte:", - "Height:": "Hoogte:", - // tooltips - "Enter the image URL here":"Afbeeldingslocatie (URL)", - "Preview the image in a new window": "Afbeelding bekijken in nieuw venster", - "For browsers that don't support images":"Voor browsers welke geen afbeeldingen ondersteunen", - "Positioning of this image": "Positie van de afbeelding", - "Leave empty for no border": "Leeg voor geen rand", - "Leave empty for not defined": "Leeg voor niet gedefinieerd", - "Horizontal padding": "Horizontale ruimte", - "Vertical padding": "Verticale ruimte" -}; diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/pt_br.js deleted file mode 100644 index aeca2fca1..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/pt_br.js +++ /dev/null @@ -1,61 +0,0 @@ -// I18N constants -// -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation -// -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - " Open file in new window": " Abrir arquivo em um nova janela", - "Absbottom": "Inferior Absoluto", - "Absmiddle": "Meio Absoluto", - "Alignment:": "Alinhamento:", - "Alternate text:": "Texto Alternativo:", - "Baseline": "Linha de Base", - "Border thickness:": "Espessura da Borda", - "Bottom": "Inferior", - "Cancel": "Cancelar", - "Enter the image URL here": "Entre aqui com a URL da imagem", - "For browsers that don't support images": "Para navegadores que não suportam imagens", - "Height:": "Altura:", - "Horizontal padding": "Espaço horizontal", - "Horizontal:": "Horizontal:", - "Image Preview:": "Visualização da Imagem:", - "Image URL:": "URL da Imagem:", - "Insert Image": "Inserir Imagem", - "Layout": "Esquema", - "Leave empty for no border": "Deixe em branco para sem bordas", - "Leave empty for not defined": "Deixe em branco para não definido", - "Left": "Esquerda", - "Middle": "Meio", - "Not set": "Não definido", - "OK": "OK", - "Open file in new window": "Abrir arquivo em uma nova janela", - "Positioning of this image": "Posicionamento desta imagem", - "Preview": "Visualização", - "Preview the image in a new window": "Visualizar imagem em uma nova janela", - "Right": "Direita", - "Size": "Tamanho", - "Spacing": "Espaço", - "Texttop": "Texto no topo", - "Top": "Topo", - "Upload file": "Enviar arquivo", - "Vertical padding": "Espaço vertical", - "Vertical:": "Vertical:", - "Width:": "Largura:", - - // not find with lc_parse_strings.php - "The file you are uploading doesn't have the correct extension.": "O arquivo que você está enviando não possuia a extensão correta.", - "The file you are uploading already exists.": "Já existe o arquivo que você está enviando.", - "The file you are uploading is to big. The max Filesize is": "O arquivo que você está enviando é muito grande. O tamanho máximo é", - "Images on the Server:": "Imagens no Servidor:", - "Please select a file to upload.": "Por favor, selecione um arquivo para enviar." -} diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/sv.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/sv.js deleted file mode 100644 index 6218489f3..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/sv.js +++ /dev/null @@ -1,35 +0,0 @@ -// I18N constants -// LANG: "sv", ENCODING: UTF-8 -// Swedish version for rev. 477 (Mar 2006) by Thomas Loo - -{ - "Insert Image": "Infoga bild", - "Image Preview:": "Förhandsgranskning:", - "Image URL:": "Bildens URL:", - "Preview": "Förhandsgranska", - "Alternate text:": "Alternativ text:", - "Layout": "Layout", - "Alignment:": "Placering:", - "Border thickness:": "Ramtjocklek:", - "Spacing": "Marginal", - "Horizontal:": "Horisontell:", - "Vertical:": "Vertikal:", - "The file you are uploading doesn't have the correct extension.": "Uppladdat bild har en ogiltig filändelse, uppladdning avbruten", - "The file you are uploading already exists.": "En fil med detta namn finns redan", - "The file you are uploading is to big. The max Filesize is": "Filen är för stor, maximal filstorlek är", - "Images on the Server:": "Bilder på servern:", - "Please select a file to upload.": "Välj bild att ladda upp", - "Upload file": "Ladda upp bild", - "Size": "Storlek", - "Width:": "Bredd:", - "Height:": "Höjd:", - // tooltips - "Enter the image URL here":"Bildens sökväg (URL)", - "Preview the image in a new window": "Öppna bild i nytt fönster", - "For browsers that don't support images":"Beskrivande text för webläsare som inte stödjer inbäddade bilder", - "Positioning of this image": "Bildens positionering", - "Leave empty for no border": "Lämna tomt för att undvika ram", - "Leave empty for not defined": "Lämna tomt för att låta webläsaren bestämma", - "Horizontal padding": "Horizontellt indrag på bild", - "Vertical padding": "Vertikalt indrag på bild" -}; diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/viewpicture.html b/ccm-core/web/assets/xinha/plugins/InsertPicture/viewpicture.html deleted file mode 100755 index 00823bf52..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/viewpicture.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - Preview - - - - - - - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/InsertSmiley.js b/ccm-core/web/assets/xinha/plugins/InsertSmiley/InsertSmiley.js new file mode 100644 index 000000000..f78c16a82 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/InsertSmiley.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +InsertSmiley._pluginInfo={name:"InsertSmiley",version:"2.0",developer:"V 1.0 Ki Master George, V2.0 James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Ki Master George, James Sleeman",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"};Xinha.Config.prototype.InsertSmiley={smileys:""};Xinha.loadStyle("dialog.css","InsertSmiley");function InsertSmiley(c){this.editor=c;this.smileys=false;this.dialog=false;var a=c.config;var b=this;a.registerButton({id:"insertsmiley",tooltip:this._lc("Insert Smiley"),image:c.imgURL("ed_smiley.gif","InsertSmiley"),textMode:false,action:function(d){b.buttonPress(d)}});a.addToolbarElement("insertsmiley","inserthorizontalrule",1)}InsertSmiley.prototype.onGenerateOnce=function(){if(this.editor.config.InsertSmiley.smileyURL){var a=[];var c=Xinha._geturlcontent(Xinha.getPluginDir("InsertSmiley")+"/smileys.txt");var d=this.editor.config.InsertSmiley.smileyURL;c=c.match(/^.+$/mg);for(var b=0;b');Xinha._stopEvent(window.event?event:a);return false});b.appendChild(g);d.getElementById("smileys").appendChild(b);b=null;g=null;h=null}this.dialog=d;return true};InsertSmiley.prototype.buttonPress=function(a){if(this.dialog){this.dialog.show()}else{}return}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt b/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt index 35b4842ee..4e63158af 100755 --- a/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt @@ -1,9 +1,13 @@ -By default the smileys are hosted on an external server. If you would like to put them on your own server, you can download a zip file from here: -http://www.x-webservice.net/storage/xinha/plugins/InsertSmiley/smileys.zip +A small number of smileys are included in this release. -1. Extract the file to your server -2. Change xinha_config.InsertSmiley.smileyURL to the appropriate path (with trailing slash), e.g. - - xinha_config.InsertSmiley.smileyURL = "/smileys/"; - - You can also reduce/expand/replace the list of smileys with your own files by editing the file smileys.txt in the plugins's folder. \ No newline at end of file +To add more smileys, + + 1. Dump as many as you would like as image files into the smileys folder (gif, jpg, png). + 2. EITHER: + a. Edit smileys/smileys.js as appropriate, or; + b. Set this Xinha configuration (if your server handles PHP ok) + + xinha_config.InsertSmiley.smileys = _editor_url+'/plugins/InsertSmiley/smileys/smileys.php'; + + it will automatically pickup the new smileys without you needing to edit the js file. + diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.css b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.css new file mode 100644 index 000000000..7df462d39 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.css @@ -0,0 +1,3 @@ +.insert-smiley a { + display:block; float:left; margin:2px; border:none !important; text-decoration:none !important; +} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.html b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.html new file mode 100644 index 000000000..5a4649810 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.html @@ -0,0 +1,4 @@ +

Insert Smiley

+
+ +
\ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/insert-smiley.js b/ccm-core/web/assets/xinha/plugins/InsertSmiley/insert-smiley.js deleted file mode 100644 index f7e77874d..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertSmiley/insert-smiley.js +++ /dev/null @@ -1,27 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertSmiley/insert-smiley.js */ -function InsertSmiley(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"insertsmiley",tooltip:this._lc("Insert Smiley"),image:_1.imgURL("ed_smiley.gif","InsertSmiley"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("insertsmiley","inserthorizontalrule",1); -} -InsertSmiley._pluginInfo={name:"InsertSmiley",version:"1.0",developer:"Ki Master George",developer_url:"http://kimastergeorge.i4host.com/",c_owner:"Ki Master George",sponsor:"Ki Master George",sponsor_url:"http://kimastergeorge.i4host.com/",license:"htmlArea"}; -InsertSmiley.prototype._lc=function(_5){ -return Xinha._lc(_5,"InsertSmiley"); -}; -Xinha.Config.prototype.InsertSmiley={smileyURL:"http://www.x-webservice.net/storage/xinha/plugins/InsertSmiley/"}; -InsertSmiley.prototype.buttonPress=function(_6){ -var _7=this; -var _8=_6.getSelectedHTML().replace(/(<[^>]*>| |\n|\r)/g,""); -var _9={}; -_9.editor=_6; -_6._popupDialog("plugin://InsertSmiley/insertsmiley",function(_a){ -_6.insertHTML("\"Smiley\""); -},_9); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/popups/insertsmiley.html b/ccm-core/web/assets/xinha/plugins/InsertSmiley/popups/insertsmiley.html deleted file mode 100755 index cba106cd6..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertSmiley/popups/insertsmiley.html +++ /dev/null @@ -1,64 +0,0 @@ - - -Insert Smiley - - - - - - - -
-
Insert Smiley
-
- -
-
-
-
- -
-
-
-
- - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Angry.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Angry.gif new file mode 100644 index 000000000..4a1efb460 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Angry.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Cool.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Cool.gif new file mode 100644 index 000000000..a3aa1f0ea Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Cool.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Excited.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Excited.gif new file mode 100644 index 000000000..4636e3346 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Excited.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Grin.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Grin.gif new file mode 100644 index 000000000..238a57873 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Grin.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Pleased.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Pleased.gif new file mode 100644 index 000000000..3bc068f10 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Pleased.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Sad.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Sad.gif new file mode 100644 index 000000000..172e7f0d8 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Sad.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Surprised.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Surprised.gif new file mode 100644 index 000000000..484111b63 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Surprised.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Wink.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Wink.gif new file mode 100644 index 000000000..56c69cf93 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Wink.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.js b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.js new file mode 100644 index 000000000..bce18d254 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.js @@ -0,0 +1,10 @@ +[ + { title: 'Grin', src: 'Grin.gif' }, + { title: 'Angry', src: 'Angry.gif' }, + { title: 'Excited', src: 'Excited.gif' }, + { title: 'Cool', src: 'Cool.gif' }, + { title: 'Wink', src: 'Wink.gif' }, + { title: 'Surprised', src: 'Surprised.gif' }, + { title: 'Sad', src: 'Sad.gif' }, + { title: 'Pleased', src: 'Pleased.gif' } +] \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.php b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.php new file mode 100644 index 000000000..a59b3cca6 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.php @@ -0,0 +1,34 @@ + $M[1], 'src'=> $f); + } + } + closedir($dh); + + + echo xinha_to_js($smileys); + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/InsertSnippet.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet/InsertSnippet.js new file mode 100644 index 000000000..4a948eee8 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet/InsertSnippet.js @@ -0,0 +1,92 @@ +/*------------------------------------------*\ + InsertSnippet for Xinha + _______________________ + + Insert HTML fragments or template variables + +\*------------------------------------------*/ + +function InsertSnippet(editor) { + this.editor = editor; + + var cfg = editor.config; + var self = this; + + + cfg.registerButton({ + id : "insertsnippet", + tooltip : this._lc("Insert Snippet"), + image : editor.imgURL("ed_snippet.gif", "InsertSnippet"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + cfg.addToolbarElement("insertsnippet", "insertimage", -1); + this.snippets = null; + var backend = cfg.InsertSnippet.snippets + '?'; + + if(cfg.InsertSnippet.backend_data != null) + { + for ( var i in cfg.InsertSnippet.backend_data ) + { + backend += '&' + i + '=' + encodeURIComponent(cfg.InsertSnippet.backend_data[i]); + } + } + Xinha._getback(backend,function (getback) {eval(getback); self.snippets = snippets;}); +} + +InsertSnippet.prototype.onUpdateToolbar = function() { + if (!this.snippets){ + this.editor._toolbarObjects.insertsnippet.state("enabled", false); + } + else InsertSnippet.prototype.onUpdateToolbar = null; +} + +InsertSnippet._pluginInfo = { + name : "InsertSnippet", + version : "1.2", + developer : "Raimund Meyer", + developer_url : "http://x-webservice.net", + c_owner : "Raimund Meyer", + sponsor : "", + sponsor_url : "", + license : "htmlArea" +}; + +InsertSnippet.prototype._lc = function(string) { + return Xinha._lc(string, 'InsertSnippet'); +}; + +InsertSnippet.prototype.onGenerate = function() { + this.editor.addEditorStylesheet(Xinha.getPluginDir("InsertSnippet") + '/InsertSnippet.css'); +}; + +Xinha.Config.prototype.InsertSnippet = +{ + 'snippets' : Xinha.getPluginDir("InsertSnippet")+"/demosnippets.js", // purely demo purposes, you should change this + 'css' : ['../InsertSnippet.css'], //deprecated, CSS is now pulled from xinha_config + 'showInsertVariable': false, + 'backend_data' : null +}; + +InsertSnippet.prototype.buttonPress = function(editor) { + var args = editor.config; + args.snippets = this.snippets; + var self = this; + editor._popupDialog( "plugin://InsertSnippet/insertsnippet", function( param ) { + + if ( !param ) { + return false; + } + + + editor.focusEditor(); + if (param['how'] == 'variable') { + editor.insertHTML('{'+self.snippets[param["snippetnum"]].id+'}'); + } else { + editor.insertHTML(self.snippets[param["snippetnum"]].HTML); + } + + }, args); + }; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js index c111bda85..d243632c8 100644 --- a/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js @@ -1,17 +1,15 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertSnippet/demosnippets.js */ -var snippets=[]; -var i=0; -snippets[i]={}; -snippets[i]["id"]="Box 1"; -snippets[i]["HTML"]="
\n Visit the Xinha website
"; -i++; -snippets[i]={}; -snippets[i]["id"]="INFORMATION ABOUT SOMETHING"; -snippets[i]["HTML"]="
\n This is an information about something\n
"; -i++; -snippets[i]={}; -snippets[i]["id"]="Menu"; -snippets[i]["HTML"]=""; +var snippets = []; +var i = 0; +snippets[i] = {}; +snippets[i]['id'] = 'Box 1'; +snippets[i]['HTML'] = '
\n Visit the Xinha website
'; +i++; +snippets[i] = {}; +snippets[i]['id'] = 'INFORMATION ABOUT SOMETHING'; +snippets[i]['HTML'] = '
\n This is an information about something\n
'; + +i++; +snippets[i] = {}; +snippets[i]['id'] = 'Menu'; +snippets[i]['HTML'] = ''; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/insert-snippet.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet/insert-snippet.js deleted file mode 100644 index 937ac2fa3..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertSnippet/insert-snippet.js +++ /dev/null @@ -1,55 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertSnippet/insert-snippet.js */ -function InsertSnippet(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"insertsnippet",tooltip:this._lc("Insert Snippet"),image:_1.imgURL("ed_snippet.gif","InsertSnippet"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("insertsnippet","insertimage",-1); -this.snippets=null; -var _5=_2.InsertSnippet.snippets+"?"; -if(_2.InsertSnippet.backend_data!=null){ -for(var i in _2.InsertSnippet.backend_data){ -_5+="&"+i+"="+encodeURIComponent(_2.InsertSnippet.backend_data[i]); -} -} -Xinha._getback(_5,function(_7){ -eval(_7); -_3.snippets=snippets; -}); -} -InsertSnippet.prototype.onUpdateToolbar=function(){ -if(!this.snippets){ -this.editor._toolbarObjects.insertsnippet.state("enabled",false); -}else{ -InsertSnippet.prototype.onUpdateToolbar=null; -} -}; -InsertSnippet._pluginInfo={name:"InsertSnippet",version:"1.2",developer:"Raimund Meyer",developer_url:"http://rheinauf.de",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"}; -InsertSnippet.prototype._lc=function(_8){ -return Xinha._lc(_8,"InsertSnippet"); -}; -InsertSnippet.prototype.onGenerate=function(){ -this.editor.addEditorStylesheet(Xinha.getPluginDir("InsertSnippet")+"/InsertSnippet.css"); -}; -Xinha.Config.prototype.InsertSnippet={"snippets":Xinha.getPluginDir("InsertSnippet")+"/demosnippets.js","css":["../InsertSnippet.css"],"showInsertVariable":false,"backend_data":null}; -InsertSnippet.prototype.buttonPress=function(_9){ -var _a=_9.config; -_a.snippets=this.snippets; -var _b=this; -_9._popupDialog("plugin://InsertSnippet/insertsnippet",function(_c){ -if(!_c){ -return false; -} -_9.focusEditor(); -if(_c["how"]=="variable"){ -_9.insertHTML("{"+_b.snippets[_c["snippetnum"]].id+"}"); -}else{ -_9.insertHTML(_b.snippets[_c["snippetnum"]].HTML); -} -},_a); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html b/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html index 0ffdd38b1..b8a905aa1 100755 --- a/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html @@ -20,10 +20,10 @@

Usage

-In order to use your own snippets you have to al least one parameter to your xinha_config: +In order to use your own snippets you have to add at least one parameter to your xinha_config:

-xinha_config.InsertSnippet.snippets = _editor_url+"plugins/InsertSnippet/snippets.php";
+xinha_config.InsertSnippet.snippets = Xinha.getPluginDir('InsertSnippet') + "/snippets.php";
 

The path above indicates the use of the provided backend. This parses a file that contains the snippets and @@ -54,4 +54,4 @@ with (xinha_config.InsertSnippet)

Raimund Meyer (xinha@raimundmeyer.de)

- \ No newline at end of file + diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet.css b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet.css new file mode 100644 index 000000000..f791e7fe3 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet.css @@ -0,0 +1,92 @@ +html > body .ISsnippettable button { min-width:70px;white-space:nowrap;} + +.ISsnippettable td { + + background:white; + vertical-align:top; +} + +.ISsnippettable td { + padding:5px; + border:1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} +.ISsnippettable button {text-align:center;} +.ISsnippettable a.button {/*background:ButtonFace;*/padding:1px 5px 1px 5px;color:black;text-decoration:none} +.ISpreview { + background-color: white; + padding: 5px; + display : none; + position : absolute; + top : 12px; + left :100px; + border : 1px dotted black; + z-index:100; +} +.IScattabs {line-height:18px; } +.IScattabs a { + white-space:nowrap; + border-width:1px 1px 0px 1px; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; + border-style:solid; + padding:4px; + margin-left:1px; + text-decoration:none; + color:black; + -moz-border-radius:10px 10px 0px 0px; + height:12px; + background-repeat:repeat-x; +} + +.IScattabs .tab1 { + background-image:url(img/1.PNG); +} +.IScattabs .tab2 { + background-image:url(img/2.PNG); +} +.IScattabs .tab3 { + background-image:url(img/3.PNG); +} +.IScattabs .tab4 { + background-image:url(img/4.PNG); +} +.IScattabs .tab5 { + background-image:url(img/5.PNG); +} +.IScattabs .tab6 { + background-image:url(img/6.PNG); +} +.IScattabs .tab7 { + background-image:url(img/7.PNG); +} +.IScattabs .tab8 { + background-image:url(img/8.PNG); +} +.IScattabs .tab9 { + background-image:url(img/9.PNG); +} +.IScattabs .tab10 { + background-image:url(img/10.PNG); +} +.IScattabs .tab11 { + background-image:url(img/11.PNG); +} +.IScattabs .tab12 { + background-image:url(img/12.PNG); +} +.IScattabs .tab13 { + background-image:url(img/13.PNG); +} +.IScattabs .tab14 { + background-image:url(img/14.PNG); +} +.IScattabs .tab15 { + background-image:url(img/15.PNG); +} +.IScattabs .tab16 { + background-image:url(img/16.PNG); +} +.IScattabs a.active { + font-weight:bold; + border-width:1px 2px 0px 2px +} diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet2.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet2.js new file mode 100644 index 000000000..d3cb2eea0 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet2.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function InsertSnippet2(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"InsertSnippet2",tooltip:this._lc("Insert Snippet"),image:c.imgURL("ed_snippet.gif","InsertSnippet2"),textMode:false,action:function(d){b.buttonPress(d)}});a.addToolbarElement("InsertSnippet2","insertimage",-1);this.snippets=null;this.categories=null;this.html=null;Xinha._getback(a.InsertSnippet2.snippets,function(e,l){var g=l.responseXML;var k=g.getElementsByTagName("c");b.categories=[];for(var f=0;f\n';d+='';if(typeof b.config.baseHref!="undefined"&&b.config.baseHref!==null){d+='\n'}if(b.config.pageStyle){d+='"}if(typeof b.config.pageStyleSheets!=="undefined"){for(var c=0;c0){d+=''}}}d+="\n";d+="\n";d+="\n";d+="";f.write(d);f.close();setTimeout(function(){a.previewBody=f.getElementsByTagName("body")[0]},100)};InsertSnippet2.prototype.buttonPress=function(a){this.dialog.toggle()};InsertSnippet2.prototype.doInsert=function(b){var d=b.target||b.srcElement;var c=this.snippets[d.snID];this.dialog.hide();var a=this.editor.config.InsertSnippet2;if(d._insAs=="variable"){this.editor.insertHTML(c.v)}else{this.editor.insertHTML(c.html)}};InsertSnippet2.prototype.resize=function(){var a=this.dialog.getElementById("insert_div");var d=this.dialog.getElementById("preview_iframe");var c={h:this.dialog.height,w:this.dialog.width};var b=c.h-90;if(this.categories.length){b-=this.catTabsH}a.style.height=d.style.height=b+"px";return true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/dialog.html b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/dialog.html new file mode 100644 index 000000000..32818721b --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/dialog.html @@ -0,0 +1,20 @@ +

Insert Snippet

+
+ +
+
+ + +
+ +
+
+
+
+
+ + +
+ +
+ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/1.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/1.PNG new file mode 100644 index 000000000..e9cc95ca7 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/1.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/10.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/10.PNG new file mode 100644 index 000000000..84e4f570f Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/10.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/11.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/11.PNG new file mode 100644 index 000000000..be6982fee Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/11.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/12.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/12.PNG new file mode 100644 index 000000000..a085a1bd2 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/12.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/13.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/13.PNG new file mode 100644 index 000000000..72bf252f1 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/13.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/14.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/14.PNG new file mode 100644 index 000000000..07995760d Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/14.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/15.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/15.PNG new file mode 100644 index 000000000..e322b9789 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/15.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/16.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/16.PNG new file mode 100644 index 000000000..91577ad73 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/16.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/2.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/2.PNG new file mode 100644 index 000000000..4cec795df Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/2.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/3.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/3.PNG new file mode 100644 index 000000000..f126794f6 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/3.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/4.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/4.PNG new file mode 100644 index 000000000..1c5ea9671 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/4.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/5.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/5.PNG new file mode 100644 index 000000000..dcaa67648 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/5.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/6.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/6.PNG new file mode 100644 index 000000000..caaef0c3a Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/6.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/7.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/7.PNG new file mode 100644 index 000000000..d4f974494 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/7.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/8.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/8.PNG new file mode 100644 index 000000000..6164f7a36 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/8.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/9.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/9.PNG new file mode 100644 index 000000000..f7c53a368 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/9.PNG differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/ed_snippet.gif b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/ed_snippet.gif new file mode 100644 index 000000000..12684f819 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/ed_snippet.gif differ diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/lang/de.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/lang/de.js new file mode 100644 index 000000000..63caae9cb --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/lang/de.js @@ -0,0 +1,12 @@ +// I18N constants +// LANG: "de", ENCODING: UTF-8 +{ + "Insert Snippet": "Snippet einfügen", + "Insert as HTML": "Als HTML einfügen", + "HTML": "HTML", + "Insert as template variable": "Als Template-Variable einfügen", + "Variable": "Variable", + "All Categories" : "Alle Kategorien", + "Only search word beginning" : "Nur nach Wortanfang suchen", + "Filter" : "Filter" +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/readme.html b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/readme.html new file mode 100644 index 000000000..c161a4bf3 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/readme.html @@ -0,0 +1,51 @@ + + InsertSnippet for Xinha + + +

InsertSnippet2 for Xinha

+

Insert HTML fragments or template variables in your document.

+

Features

+
    +
  • Categorization to organize your snippets if you have a lot (optional)
  • +
  • Search for name
  • +
  • Insert as literal text/html or variable (optional) 
  • +
  • XML data format
  • +
+

Usage

+

+In order to use your own snippets you have to add a parameter to your xinha_config: +

+
xinha_config.InsertSnippet2.snippets = "/path/to/your/snippets.xml";
+
+

This path should point to a XML file that has the following format:

+
<snXML>
+ <categories>
+    <c n="the name" />
+  </categories>
+  <snippets>
+        <s n="the name" v="optional variable name to be inserted" c="the category">
+            &lt;p&gt;some text or HTML, please entize HTML tags&lt;/p&gt;
+        </s>
+        <s n="another">
+            <![CDATA[
+               <p>or put HTML in a CDATA section</p>
+            ]]>
+        </s>
+  </snipptes>
+</snXML>
+
+

+

 Tags

+
<snXML></snXML>
 The root tag
<categories></categories>
 This tag contains the categories (optional)
 <c />
 Each category
 <snippets></snippets>
This tag contains the actual snippet. As this is XML, you cannot put HTML here literally. You have to either entize the <,>, and & characters or wrap the contents in a CDATA section
+

Attributes

+
 n
 The name of one snippet or category. It is obligatory for both.
 v
If this attribute is present in a snippet tag, there is a button in the UI that allows to insert this variable instead of the textual content of the snippet.
c
 The category
+

Inside the plugin's directory, there is a sample XML file and PHP script that shows how to create the XML dynamically.

+

3 October 2008 Raimund Meyer (xinha@raimundmeyer.de)

+ + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.php b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.php new file mode 100644 index 000000000..9b226addd --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.php @@ -0,0 +1,37 @@ +'some text'), + * array('name'= 'snippet2','text'=>'

some HTML

', 'varname'=>'{$var}','category'=>'cat1') //varname and category are optional + * ) + * + * ?> + */ +header("Content-type: text/xml"); +print ' +'; +?> + + +'."\n"; +} + +?> + + + + +'."\n"; +} +?> + + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.xml b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.xml new file mode 100644 index 000000000..c06107d8c --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + Visit the Xinha website +
  • Nulla placerat nunc ut pede.
  • Vivamus ultrices mi sit amet urna.
  • Quisque sed augue quis nunc laoreet volutpat.
  • Nunc sit amet metus in tortor semper mattis.
  • + ]]> +
    + + <p>This is some information about something</p> + + + + + + + + + + ]]> + + + diff --git a/ccm-core/web/assets/xinha/plugins/InsertWords/insert-words.js b/ccm-core/web/assets/xinha/plugins/InsertWords/insert-words.js deleted file mode 100644 index d7d2a3525..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertWords/insert-words.js +++ /dev/null @@ -1,41 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertWords/insert-words.js */ -function InsertWords(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -if(_2[0]&&_2[0].combos){ -var _5=_2[0].combos; -}else{ -if(_3.InsertWords&&_3.InsertWords.combos){ -var _5=_3.InsertWords.combos; -}else{ -var _5=[]; -} -} -var _6=true; -var _7=[]; -for(var i=_5.length;--i>=0;){ -var _9=_5[i]; -var id="IW-id"+i; -var _b={id:id,options:_9.options,action:function(_c){ -_4.onSelect(_c,this,_9.context); -},refresh:function(_d){ -},context:_9.context}; -_3.registerDropdown(_b); -if(_9.label){ -_7.push("T["+_9.label+"]"); -} -_7.push(id); -_7.push(_6?"separator":"space"); -} -_3.addToolbarElement(_7,"linebreak",1); -} -InsertWords._pluginInfo={name:"InsertWords",version:"1.0",developer:"Adam Wright",developer_url:"http://blog.hipikat.org/",sponsor:"The University of Western Australia",sponsor_url:"http://www.uwa.edu.au/",license:"htmlArea"}; -InsertWords.prototype.onSelect=function(_e,_f,_10){ -var _11=_e._toolbarObjects[_f.id].element; -_e.insertHTML(_11.value); -_11.selectedIndex=0; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/LangMarks.js b/ccm-core/web/assets/xinha/plugins/LangMarks/LangMarks.js new file mode 100644 index 000000000..76461dc94 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/LangMarks/LangMarks.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function LangMarks(c,e){this.editor=c;var a=c.config;var b=this;var g={};g[this._lc("— language —")]="";if(!a.LangMarks.languages){Xinha.debugMsg("Warning: Old style LangMarks configuration detected, please update your LangMarks configuration.");var d={languages:[],attributes:Xinha.Config.prototype.attributes};for(var f in a.LangMarks){if(typeof f!="string"){continue}d.languages.push({name:f,code:a.LangMarks[f]})}a.LangMarks=d}for(var f=0;f',"
    ")}};LangMarks.prototype.updateValue=function(a,f){var m=a._toolbarObjects[f.id].element;var l=a.getAllAncestors();var k;var b;for(var e=0;e=0;){var c=g[e];if(h==c.value){m.selectedIndex=e;return}}}else{m.selectedIndex=0}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css b/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css index b616f1f20..eee601eac 100755 --- a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css +++ b/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css @@ -2,6 +2,9 @@ span.haslang { border-bottom: 1px dashed #aaa; white-space : nowrap; } + + + span[lang]::after { content: attr(lang); text-transform: uppercase; @@ -12,4 +15,26 @@ span[lang]::after { font-size: x-small; font-weight: normal; vertical-align: top; -} \ No newline at end of file +} + +/* + * NOTE: The "proper" way to do this is with a CSS namespace + * @namespace xml "http://www.w3.org/XML/1998/namespace"; + * and putting xmlns:xml="http://www.w3.org/XML/1998/namespace" + * on the root element or the itself, then using + * span[xml|lang] as the selector, but this simply doesn't work + * in most browsers. Which sucks. + */ + +span[xml\:lang]::after { + content: attr(xml\:lang); + text-transform: uppercase; + font-family: sans-serif; + color: white; + background: red; + border: 1px solid red; + font-size: x-small; + font-weight: normal; + vertical-align: top; +} + diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.js b/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.js deleted file mode 100644 index dc2d0db28..000000000 --- a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.js +++ /dev/null @@ -1,127 +0,0 @@ -// Mask Language plugin for Xinha -// Implementation by Udo Schmal -// -// (c) Udo Schmal & Schaffrath NeueMedien 2004 -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -function LangMarks(editor, args) { - this.editor = editor; - var cfg = editor.config; - var self = this; - var options = {}; - options[this._lc("— language —")] = ''; - for (var i in cfg.LangMarks) - { - if (typeof i != 'string') continue; - options[this._lc(i)] = cfg.LangMarks[i]; - } - - cfg.registerDropdown({ - id : "langmarks", - tooltip : this._lc("language select"), - options : options, - action : function(editor) { self.onSelect(editor, this); }, - refresh : function(editor) { self.updateValue(editor, this); } - }); - cfg.addToolbarElement("langmarks", "inserthorizontalrule", 1); -} - -LangMarks._pluginInfo = { - name : "LangMarks", - version : "1.0", - developer : "Udo Schmal", - developer_url : "", - sponsor : "L.N.Schaffrath NeueMedien", - sponsor_url : "http://www.schaffrath-neuemedien.de/", - c_owner : "Udo Schmal & Schaffrath NeueMedien", - license : "htmlArea" -}; - -Xinha.Config.prototype.LangMarks = { - "Greek" : "el", - "English" : "en", - "French" : "fr", - "Latin" : "la" -}; - -LangMarks.prototype._lc = function(string) { - return Xinha._lc(string, 'LangMarks'); -}; - -LangMarks.prototype.onGenerate = function() { - this.editor.addEditorStylesheet(Xinha.getPluginDir("LangMarks") + '/lang-marks.css'); -}; - -LangMarks.prototype.onSelect = function(editor, obj, context, updatecontextclass) { - var tbobj = editor._toolbarObjects[obj.id]; - var index = tbobj.element.selectedIndex; - var language = tbobj.element.value; - - // retrieve parent element of the selection - var parent = editor.getParentElement(); - var surround = true; - - var is_span = (parent && parent.tagName.toLowerCase() == "span"); - var update_parent = (context && updatecontextclass && parent && parent.tagName.toLowerCase() == context); - - if (update_parent) { - parent.className = "haslang"; - parent.lang = language; - editor.updateToolbar(); - return; - } - - if (is_span && index == 0 && !/\S/.test(parent.style.cssText)) { - while (parent.firstChild) { - parent.parentNode.insertBefore(parent.firstChild, parent); - } - parent.parentNode.removeChild(parent); - editor.updateToolbar(); - return; - } - - if (is_span) { - // maybe we could simply change the class of the parent node? - if (parent.childNodes.length == 1) { - parent.className = "haslang"; - parent.lang = language; - surround = false; - // in this case we should handle the toolbar updation - // ourselves. - editor.updateToolbar(); - } - } - - // Other possibilities could be checked but require a lot of code. We - // can't afford to do that now. - if (surround) { - // shit happens ;-) most of the time. this method works, but - // it's dangerous when selection spans multiple block-level - // elements. - editor.surroundHTML('', ''); - } -}; - -LangMarks.prototype.updateValue = function(editor, obj) { - var select = editor._toolbarObjects[obj.id].element; - var parents = editor.getAllAncestors(); - var parent; - for (var i=0;i= 0;) { - var option = options[i]; - if (value == option.value) { - select.selectedIndex = i; - return; - } - } - } - else select.selectedIndex = 0; - -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/lang/es.js b/ccm-core/web/assets/xinha/plugins/LangMarks/lang/es.js new file mode 100644 index 000000000..c962c9043 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/LangMarks/lang/es.js @@ -0,0 +1,11 @@ +// I18N constants +// LANG: "es", ENCODING: UTF-8 +// translated: Derick Leony +{ + "language select": "seleccionar idioma", + "— language —": "— idioma —", + "Greek": "Griego", + "English": "Inglés", + "French": "Francés", + "Latin": "Latín" +}; diff --git a/ccm-core/web/assets/xinha/plugins/Linker/Linker.js b/ccm-core/web/assets/xinha/plugins/Linker/Linker.js new file mode 100644 index 000000000..59fcbf543 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Linker/Linker.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Linker._pluginInfo={name:"Linker",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};Xinha.loadStyle("dTree/dtree.css","Linker");Xinha.Config.prototype.Linker={treeCaption:document.location.host,backend:Xinha.getPluginDir("Linker")+"/scan.php",backend_data:null,files:null,dialog:null,canSetTarget:true,canRemoveLink:true};function Linker(b,c){this.editor=b;this.lConfig=b.config.Linker;var a=this;if(b.config.btnList.createlink){b.config.btnList.createlink[3]=function(g,f,d){a._createLink(a._getSelectedAnchor())}}else{b.config.registerButton("createlink","Insert/Modify Hyperlink",[_editor_url+"images/ed_buttons_main.gif",6,1],false,function(g,f,d){a._createLink(a._getSelectedAnchor())})}b.config.addToolbarElement("createlink","createlink",0)}Linker.prototype._lc=function(a){return Xinha._lc(a,"Linker")};Linker.prototype.onGenerateOnce=function(){Linker.loadAssets();this.loadFiles()};Linker.prototype.onUpdateToolbar=function(){if(typeof dTree=="undefined"||!Linker.methodsReady||!Linker.html||!this.files){this.editor._toolbarObjects.createlink.state("enabled",false)}else{this.onUpdateToolbar=null}};Linker.Dialog_dTrees=[];Linker.loadAssets=function(){var self=Linker;if(self.loading){return}self.loading=true;Xinha._getback(Xinha.getPluginDir("Linker")+"/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true});Xinha._loadback(Xinha.getPluginDir("Linker")+"/dTree/dtree.js",function(){Linker.dTreeReady=true});Xinha._getback(Xinha.getPluginDir("Linker")+"/dialog.html",function(getback){self.html=getback})};Linker.prototype.loadFiles=function(){var linker=this;if(linker.lConfig.backend){Xinha._postback(linker.lConfig.backend,linker.lConfig.backend_data,function(txt){try{linker.files=eval(txt)}catch(Error){linker.files=[{url:"",title:Error.toString()}]}})}else{if(linker.lConfig.files!=null){linker.files=linker.lConfig.files}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css index 44c14fd80..ebf755662 100755 --- a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css +++ b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css @@ -11,8 +11,10 @@ white-space: nowrap; } .dtree img { - border: 0px; - vertical-align: middle; + border: 0px !important; + margin:0px !important; + display:inline !important; + vertical-align: middle !important; } .dtree a,.dtree a:visited { color: #333; @@ -36,4 +38,4 @@ } .dtree .clip { overflow: hidden; -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js index 35496d743..b41c94abc 100644 --- a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js +++ b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js @@ -1,357 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Linker/dTree/dtree.js */ -function Node(id,_2,_3,_4,_5,_6,_7,_8,_9){ -this.id=id; -this.pid=_2; -this.name=_3; -this.url=_4; -this.title=_5; -this.target=_6; -this.icon=_7; -this.iconOpen=_8; -this._io=_9||false; -this._is=false; -this._ls=false; -this._hc=false; -this._ai=0; -this._p; -} -function dTree(_a,_b){ -this.config={target:null,folderLinks:true,useSelection:true,useCookies:true,useLines:true,useIcons:true,useStatusText:false,closeSameLevel:false,inOrder:false}; -this.icon={root:_b+"img/base.gif",folder:_b+"img/folder.gif",folderOpen:_b+"img/folderopen.gif",node:_b+"img/page.gif",empty:_b+"img/empty.gif",line:_b+"img/line.gif",join:_b+"img/join.gif",joinBottom:_b+"img/joinbottom.gif",plus:_b+"img/plus.gif",plusBottom:_b+"img/plusbottom.gif",minus:_b+"img/minus.gif",minusBottom:_b+"img/minusbottom.gif",nlPlus:_b+"img/nolines_plus.gif",nlMinus:_b+"img/nolines_minus.gif"}; -this.obj=_a; -this.aNodes=[]; -this.aIndent=[]; -this.root=new Node(-1); -this.selectedNode=null; -this.selectedFound=false; -this.completed=false; -} -dTree.prototype.add=function(id,_d,_e,_f,_10,_11,_12,_13,_14){ -this.aNodes[this.aNodes.length]=new Node(id,_d,_e,_f,_10,_11,_12,_13,_14); -}; -dTree.prototype.openAll=function(){ -this.oAll(true); -}; -dTree.prototype.closeAll=function(){ -this.oAll(false); -}; -dTree.prototype.toString=function(){ -this.setCS_All(); -var str="
    \n"; -if(document.getElementById){ -if(this.config.useCookies){ -this.selectedNode=this.getSelected(); -} -str+=this.addNode(this.root); -}else{ -str+="Browser not supported."; -} -str+="
    "; -if(!this.selectedFound){ -this.selectedNode=null; -} -this.completed=true; -return str; -}; -dTree.prototype.addNode=function(_16){ -var str=""; -var n=0; -if(this.config.inOrder){ -n=_16._ai; -} -for(n;n"+this.indent(_1a,_1b); -if(this.config.useIcons){ -if(!_1a.icon){ -_1a.icon=(this.root.id==_1a.pid)?this.icon.root:((_1a._hc)?this.icon.folder:this.icon.node); -} -if(!_1a.iconOpen){ -_1a.iconOpen=(_1a._hc)?this.icon.folderOpen:this.icon.node; -} -if(this.root.id==_1a.pid){ -_1a.icon=this.icon.root; -_1a.iconOpen=this.icon.root; -} -str+="\"\""; -} -if(_1a.url){ -str+=""; -} -} -str+=_1a.name; -if(_1a.url||((!this.config.folderLinks||!_1a.url)&&_1a._hc)){ -str+=""; -} -str+="
    "; -if(_1a._hc){ -str+="
    "; -str+=this.addNode(_1a); -str+="
    "; -} -this.aIndent.pop(); -return str; -}; -dTree.prototype.indent=function(_1d,_1e){ -var str=""; -if(this.root.id!=_1d.pid){ -for(var n=0;n"; -} -(_1d._ls)?this.aIndent.push(0):this.aIndent.push(1); -if(_1d._hc){ -str+="\"\""; -}else{ -str+="\"\""; -} -} -return str; -}; -dTree.prototype.setCS=function(_21){ -var _22; -for(var n=0;n'}if(a.url){b+=''}}b+=a.name;if(a.url||((!this.config.folderLinks||!a.url)&&a._hc)){b+=""}b+="";if(a._hc){b+='
    ';b+=this.addNode(a);b+="
    "}this.aIndent.pop();return b};dTree.prototype.indent=function(a,c){var b="";if(this.root.id!=a.pid){for(var d=0;d'}(a._ls)?this.aIndent.push(0):this.aIndent.push(1);if(a._hc){b+=''}else{b+=''}}return b};dTree.prototype.setCS=function(a){var b;for(var c=0;c(the dTree goes in here)
    - + - + - + "}}; -var opTag_a={"href":"href=\"","name":"name=\"","target":"target=\""}; -var opAtt_a={"href":{"http://":"http://","https://":"https://","ftp://":"ftp://","mailto:":"mailto:","#":"#\""},"target":{"_top":"_top\"","_self":"_self\"","_parent":"_parent\"","_blank":"_blank\""}}; -var opTag_font={"face":"face=\"","size":"size=\"","color":"color=\""}; -var opAtt_font={"face":{"Verdana":"Verdana\"","Arial":"Arial\"","Tahoma":"Tahoma\"","Courier New":"Courier New\"","Times New Roman":"Times New Roman\""},"size":{"1":"1\"","2":"2\"","3":"3\"","4":"4\"","5":"5\"","6":"6\"","+1":"+1\"","+2":"+2\"","+3":"+3\"","+4":"+4\"","+5":"+5\"","+6":"+6\"","-1":"-1\"","-2":"-2\"","-3":"-3\"","-4":"-4\"","-5":"-5\"","-6":"-6\""}}; -var opTag_div={"align":"align=\""}; -var opAtt_div={"align":{"center":"center\"","left":"left\"","right":"right\"","justify":"justify\""}}; -var opTag_h={"align":"align=\""}; -var opAtt_h={"align":{"center":"center\"","left":"left\"","right":"right\"","justify":"justify\""}}; -var opTag_p={"align":"align=\""}; -var opAtt_p={"align":{"center":"center\"","left":"left\"","right":"right\"","justify":"justify\""}}; -var opTag_table={"align":"align=\"","width":"width=\"","height":"height=\"","cellpadding":"cellpadding=\"","cellspacing":"cellspacing=\"","background":"background=\"","bgcolor":"bgcolor=\"","border":"border=\"","bordercolor":"bordercolor=\"","bordercolorlight":"bordercolorlight=\"","bordercolordark":"bordercolordark=\""}; -var opAtt_table={"align":{"center":"center\"","left":"left\"","right":"right\""}}; -var opTag_all={"class":"class=\"","dir":"dir=\"","id":"id=\"","lang":"lang=\"","onFocus":"onFocus=\"","onBlur":"onBlur=\"","onClick":"onClick=\"","onDblClick":"onDblClick=\"","onMouseDown":"onMouseDown=\"","onMouseUp":"onMouseUp=\"","onMouseOver":"onMouseOver=\"","onMouseMove":"onMouseMove=\"","onMouseOut":"onMouseOut=\"","onKeyPress":"onKeyPress=\"","onKeyDown":"onKeyDown=\"","onKeyUp":"onKeyUp=\"","style":"style=\"","title":"title=\""}; -var opAtt_all={"class":{},"dir":{"rtl":"rtl\"","ltr":"ltr\""},"lang":{"Afrikaans ":"af\"","Albanian ":"sq\"","Arabic ":"ar\"","Basque ":"eu\"","Breton ":"br\"","Bulgarian ":"bg\"","Belarusian ":"be\"","Catalan ":"ca\"","Chinese ":"zh\"","Croatian ":"hr\"","Czech ":"cs\"","Danish ":"da\"","Dutch ":"nl\"","English ":"en\"","Estonian ":"et\"","Faeroese ":"fo\"","Farsi ":"fa\"","Finnish ":"fi\"","French ":"fr\"","Gaelic ":"gd\"","German ":"de\"","Greek ":"el\"","Hebrew ":"he\"","Hindi ":"hi\"","Hungarian ":"hu\"","Icelandic ":"is\"","Indonesian ":"id\"","Italian ":"it\"","Japanese ":"ja\"","Korean ":"ko\"","Latvian ":"lv\"","Lithuanian ":"lt\"","Macedonian ":"mk\"","Malaysian ":"ms\"","Maltese ":"mt\"","Norwegian ":"no\"","Polish ":"pl\"","Portuguese ":"pt\"","Rhaeto-Romanic ":"rm\"","Romanian ":"ro\"","Russian ":"ru\"","Sami ":"sz\"","Serbian ":"sr\"","Setswana ":"tn\"","Slovak ":"sk\"","Slovenian ":"sl\"","Spanish ":"es\"","Sutu ":"sx\"","Swedish ":"sv\"","Thai ":"th\"","Tsonga ":"ts\"","Turkish ":"tr\"","Ukrainian ":"uk\"","Urdu ":"ur\"","Vietnamese ":"vi\"","Xhosa ":"xh\"","Yiddish ":"yi\"","Zulu":"zu\""},"style":{"azimuth":"azimuth: ","background":"background: ","background-attachment":"background-attachment: ","background-color":"background-color: ","background-image":"background-image: ","background-position":"background-position: ","background-repeat":"background-repeat: ","border":"border: ","border-bottom":"border-bottom: ","border-left":"border-left: ","border-right":"border-right: ","border-top":"border-top: ","border-bottom-color":"border-bottom-color: ","border-left-color":"border-left-color: ","border-right-color":"border-right-color: ","border-top-color":"border-top-color: ","border-bottom-style":"border-bottom-style: ","border-left-style":"border-left-style: ","border-right-style":"border-right-style: ","border-top-style":"border-top-style: ","border-bottom-width":"border-bottom-width: ","border-left-width":"border-left-width: ","border-right-width":"border-right-width: ","border-top-width":"border-top-width: ","border-collapse":"border-collapse: ","border-color":"border-color: ","border-style":"border-style: ","border-width":"border-width: ","bottom":"bottom: ","caption-side":"caption-side: ","cell-spacing":"cell-spacing: ","clear":"clear: ","clip":"clip: ","color":"color: ","column-span":"column-span: ","content":"content: ","cue":"cue: ","cue-after":"cue-after: ","cue-before":"cue-before: ","cursor":"cursor: ","direction":"direction: ","display":"display: ","elevation":"elevation: ","filter":"filter: ","float":"float: ","font-family":"font-family: ","font-size":"font-size: ","font-size-adjust":"font-size-adjust: ","font-style":"font-style: ","font-variant":"font-variant: ","font-weight":"font-weight: ","height":"height: ","!important":"!important: ","left":"left: ","letter-spacing":"letter-spacing: ","line-height":"line-height: ","list-style":"list-style: ","list-style-image":"list-style-image: ","list-style-position":"list-style-position: ","list-style-type":"list-style-type: ","margin":"margin: ","margin-bottom":"margin-bottom: ","margin-left":"margin-left: ","margin-right":"margin-right: ","margin-top":"margin-top: ","marks":"marks: ","max-height":"max-height: ","min-height":"min-height: ","max-width":"max-width: ","min-width":"min-width: ","orphans":"orphans: ","overflow":"overflow: ","padding":"padding: ","padding-bottom":"padding-bottom: ","padding-left":"padding-left: ","padding-right":"padding-right: ","padding-top":"padding-top: ","page-break-after":"page-break-after: ","page-break-before":"page-break-before: ","pause":"pause: ","pause-after":"pause-after: ","pause-before":"pause-before: ","pitch":"pitch: ","pitch-range":"pitch-range: ","play-during":"play-during: ","position":"position: ","richness":"richness: ","right":"right: ","row-span":"row-span: ","size":"size: ","speak":"speak: ","speak-date":"speak-date: ","speak-header":"speak-header: ","speak-numeral":"speak-numeral: ","speak-punctuation":"speak-punctuation: ","speak-time":"speak-time: ","speech-rate":"speech-rate: ","stress":"stress: ","table-layout":"table-layout: ","text-align":"text-align: ","text-decoration":"text-decoration: ","text-indent":"text-indent: ","text-shadow":"text-shadow: ","text-transform":"text-transform: ","top":"top: ","vertical-align":"vertical-align: ","visibility":"visibility: ","voice-family":"voice-family: ","volume":"volume: ","white-space":"white-space: ","widows":"widows: ","width":"width: ","word-spacing":"word-spacing: ","z-index":"z-index: "}}; -for(var i in tagLib){ -i=i.replace(/^h[1-6]$/,"h"); -for(var j in opTag_all){ -eval("opTag_"+i+"[\""+j+"\"] = opTag_all[\""+j+"\"];"); -} -for(var j in opAtt_all){ -eval("opAtt_"+i+"[\""+j+"\"] = opAtt_all[\""+j+"\"];"); -} -} - +var allTags={a:"a","a (full)":'a href="" target=""',address:"address",b:"b",big:"big",blockquote:"blockquote",code:"code",div:"div",em:"em",fieldset:"fieldset",font:"font","font (full)":'font face="" size="" color=""',h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",i:"i",legend:"legend",li:"li",ol:"ol",ul:"ul",p:"p",pre:"pre",small:"small",span:"span",strong:"strong",sub:"sub",sup:"sup",table:"table"};var tagLib={a:true,div:true,font:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,p:true,table:true};var subTagLib={table:{op:""}};var opTag_a={href:'href="',name:'name="',target:'target="'};var opAtt_a={href:{"http://":"http://","https://":"https://","ftp://":"ftp://","mailto:":"mailto:","#":'#"'},target:{_top:'_top"',_self:'_self"',_parent:'_parent"',_blank:'_blank"'}};var opTag_font={face:'face="',size:'size="',color:'color="'};var opAtt_font={face:{Verdana:'Verdana"',Arial:'Arial"',Tahoma:'Tahoma"',"Courier New":'Courier New"',"Times New Roman":'Times New Roman"'},size:{"1":'1"',"2":'2"',"3":'3"',"4":'4"',"5":'5"',"6":'6"',"+1":'+1"',"+2":'+2"',"+3":'+3"',"+4":'+4"',"+5":'+5"',"+6":'+6"',"-1":'-1"',"-2":'-2"',"-3":'-3"',"-4":'-4"',"-5":'-5"',"-6":'-6"'}};var opTag_div={align:'align="'};var opAtt_div={align:{center:'center"',left:'left"',right:'right"',justify:'justify"'}};var opTag_h={align:'align="'};var opAtt_h={align:{center:'center"',left:'left"',right:'right"',justify:'justify"'}};var opTag_p={align:'align="'};var opAtt_p={align:{center:'center"',left:'left"',right:'right"',justify:'justify"'}};var opTag_table={align:'align="',width:'width="',height:'height="',cellpadding:'cellpadding="',cellspacing:'cellspacing="',background:'background="',bgcolor:'bgcolor="',border:'border="',bordercolor:'bordercolor="',bordercolorlight:'bordercolorlight="',bordercolordark:'bordercolordark="'};var opAtt_table={align:{center:'center"',left:'left"',right:'right"'}};var opTag_all={"class":'class="',dir:'dir="',id:'id="',lang:'lang="',onFocus:'onFocus="',onBlur:'onBlur="',onClick:'onClick="',onDblClick:'onDblClick="',onMouseDown:'onMouseDown="',onMouseUp:'onMouseUp="',onMouseOver:'onMouseOver="',onMouseMove:'onMouseMove="',onMouseOut:'onMouseOut="',onKeyPress:'onKeyPress="',onKeyDown:'onKeyDown="',onKeyUp:'onKeyUp="',style:'style="',title:'title="'};var opAtt_all={"class":{},dir:{rtl:'rtl"',ltr:'ltr"'},lang:{"Afrikaans ":'af"',"Albanian ":'sq"',"Arabic ":'ar"',"Basque ":'eu"',"Breton ":'br"',"Bulgarian ":'bg"',"Belarusian ":'be"',"Catalan ":'ca"',"Chinese ":'zh"',"Croatian ":'hr"',"Czech ":'cs"',"Danish ":'da"',"Dutch ":'nl"',"English ":'en"',"Estonian ":'et"',"Faeroese ":'fo"',"Farsi ":'fa"',"Finnish ":'fi"',"French ":'fr"',"Gaelic ":'gd"',"German ":'de"',"Greek ":'el"',"Hebrew ":'he"',"Hindi ":'hi"',"Hungarian ":'hu"',"Icelandic ":'is"',"Indonesian ":'id"',"Italian ":'it"',"Japanese ":'ja"',"Korean ":'ko"',"Latvian ":'lv"',"Lithuanian ":'lt"',"Macedonian ":'mk"',"Malaysian ":'ms"',"Maltese ":'mt"',"Norwegian ":'no"',"Polish ":'pl"',"Portuguese ":'pt"',"Rhaeto-Romanic ":'rm"',"Romanian ":'ro"',"Russian ":'ru"',"Sami ":'sz"',"Serbian ":'sr"',"Setswana ":'tn"',"Slovak ":'sk"',"Slovenian ":'sl"',"Spanish ":'es"',"Sutu ":'sx"',"Swedish ":'sv"',"Thai ":'th"',"Tsonga ":'ts"',"Turkish ":'tr"',"Ukrainian ":'uk"',"Urdu ":'ur"',"Vietnamese ":'vi"',"Xhosa ":'xh"',"Yiddish ":'yi"',Zulu:'zu"'},style:{azimuth:"azimuth: ",background:"background: ","background-attachment":"background-attachment: ","background-color":"background-color: ","background-image":"background-image: ","background-position":"background-position: ","background-repeat":"background-repeat: ",border:"border: ","border-bottom":"border-bottom: ","border-left":"border-left: ","border-right":"border-right: ","border-top":"border-top: ","border-bottom-color":"border-bottom-color: ","border-left-color":"border-left-color: ","border-right-color":"border-right-color: ","border-top-color":"border-top-color: ","border-bottom-style":"border-bottom-style: ","border-left-style":"border-left-style: ","border-right-style":"border-right-style: ","border-top-style":"border-top-style: ","border-bottom-width":"border-bottom-width: ","border-left-width":"border-left-width: ","border-right-width":"border-right-width: ","border-top-width":"border-top-width: ","border-collapse":"border-collapse: ","border-color":"border-color: ","border-style":"border-style: ","border-width":"border-width: ",bottom:"bottom: ","caption-side":"caption-side: ","cell-spacing":"cell-spacing: ",clear:"clear: ",clip:"clip: ",color:"color: ","column-span":"column-span: ",content:"content: ",cue:"cue: ","cue-after":"cue-after: ","cue-before":"cue-before: ",cursor:"cursor: ",direction:"direction: ",display:"display: ",elevation:"elevation: ",filter:"filter: ","float":"float: ","font-family":"font-family: ","font-size":"font-size: ","font-size-adjust":"font-size-adjust: ","font-style":"font-style: ","font-variant":"font-variant: ","font-weight":"font-weight: ",height:"height: ","!important":"!important: ",left:"left: ","letter-spacing":"letter-spacing: ","line-height":"line-height: ","list-style":"list-style: ","list-style-image":"list-style-image: ","list-style-position":"list-style-position: ","list-style-type":"list-style-type: ",margin:"margin: ","margin-bottom":"margin-bottom: ","margin-left":"margin-left: ","margin-right":"margin-right: ","margin-top":"margin-top: ",marks:"marks: ","max-height":"max-height: ","min-height":"min-height: ","max-width":"max-width: ","min-width":"min-width: ",orphans:"orphans: ",overflow:"overflow: ",padding:"padding: ","padding-bottom":"padding-bottom: ","padding-left":"padding-left: ","padding-right":"padding-right: ","padding-top":"padding-top: ","page-break-after":"page-break-after: ","page-break-before":"page-break-before: ",pause:"pause: ","pause-after":"pause-after: ","pause-before":"pause-before: ",pitch:"pitch: ","pitch-range":"pitch-range: ","play-during":"play-during: ",position:"position: ",richness:"richness: ",right:"right: ","row-span":"row-span: ",size:"size: ",speak:"speak: ","speak-date":"speak-date: ","speak-header":"speak-header: ","speak-numeral":"speak-numeral: ","speak-punctuation":"speak-punctuation: ","speak-time":"speak-time: ","speech-rate":"speech-rate: ",stress:"stress: ","table-layout":"table-layout: ","text-align":"text-align: ","text-decoration":"text-decoration: ","text-indent":"text-indent: ","text-shadow":"text-shadow: ","text-transform":"text-transform: ",top:"top: ","vertical-align":"vertical-align: ",visibility:"visibility: ","voice-family":"voice-family: ",volume:"volume: ","white-space":"white-space: ",widows:"widows: ",width:"width: ","word-spacing":"word-spacing: ","z-index":"z-index: "}};for(var i in tagLib){i=i.replace(/^h[1-6]$/,"h");for(var j in opTag_all){eval("opTag_"+i+'["'+j+'"] = opTag_all["'+j+'"];')}for(var j in opAtt_all){eval("opAtt_"+i+'["'+j+'"] = opAtt_all["'+j+'"];')}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SaveOnBlur/SaveOnBlur.js b/ccm-core/web/assets/xinha/plugins/SaveOnBlur/SaveOnBlur.js new file mode 100644 index 000000000..8ca5679d1 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SaveOnBlur/SaveOnBlur.js @@ -0,0 +1,47 @@ +/** Save the content of the editor to the text area when blurring (losing focus). + * + * @author Peter Siewert + * @see Ticket #1433 + */ + +SaveOnBlur._pluginInfo = { + name:"SaveOnBlur", + version:"1.0", + developer:"Peter Siewert", + developer_url:"http://xinha.org", + sponsor:"", + sponsor_url:"", + license:"htmlArea" +}; + +function SaveOnBlur(editor){ + this.editor=editor; +} + +SaveOnBlur.prototype.onKeyPress=function(){ + this.queue_xinha_update_textarea(); + return false; +}; + +SaveOnBlur.prototype.onMouseDown=function(){ + this.queue_xinha_update_textarea(); + return false; +}; + +SaveOnBlur.prototype.queue_xinha_update_textarea = function() +{ + var blurry = this; + + if(!this._attach_blur) + { + + Xinha._addEvent(this.editor._iframe, 'blur', function(){ blurry.xinha_update_textarea(); }); // IE + Xinha._addEvent(this.editor._doc, 'blur', function(){ blurry.xinha_update_textarea(); }); // GECKO + this._attach_blur = 1; + } +} + +SaveOnBlur.prototype.xinha_update_textarea = function() +{ + this.editor._textArea.value=this.editor.outwardHtml(this.editor.getHTML()); +} diff --git a/ccm-core/web/assets/xinha/plugins/SaveSubmit/SaveSubmit.js b/ccm-core/web/assets/xinha/plugins/SaveSubmit/SaveSubmit.js new file mode 100644 index 000000000..a69086283 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SaveSubmit/SaveSubmit.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function SaveSubmit(c){this.editor=c;this.changed=false;var b=this;var a=c.config;this.textarea=this.editor._textArea;a.registerIcon("savesubmitchanged",Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_red.gif");a.registerIcon("savesubmitunchanged",Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_green.gif");a.registerButton({id:"savesubmit",tooltip:b._lc("Save"),image:a.iconList.savesubmitunchanged,textMode:false,action:function(){b.save()}});a.addToolbarElement("savesubmit","popupeditor",-1)}SaveSubmit.prototype._lc=function(a){return Xinha._lc(a,"SaveSubmit")};SaveSubmit._pluginInfo={name:"SaveSubmit",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"};SaveSubmit.prototype.onKeyPress=function(a){if(a.ctrlKey&&this.editor.getKey(a)=="s"){this.save(this.editor);Xinha._stopEvent(a);return true}else{if(!this.changed){if(this.getChanged()){this.setChanged()}return false}}};SaveSubmit.prototype.onExecCommand=function(a){if(this.changed&&a=="undo"){if(this.initial_html==this.editor.getInnerHTML()){this.setUnChanged()}return false}};SaveSubmit.prototype.onUpdateToolbar=function(){if(!this.initial_html){this.initial_html=this.editor.getInnerHTML()}if(!this.changed){if(this.getChanged()){this.setChanged()}return false}};SaveSubmit.prototype.getChanged=function(){if(this.initial_html===null){this.initial_html=this.editor.getInnerHTML()}if(this.initial_html!=this.editor.getInnerHTML()&&this.changed==false){this.changed=true;return true}else{return false}};SaveSubmit.prototype.setChanged=function(){this.editor._toolbarObjects.savesubmit.swapImage(this.editor.config.iconList.savesubmitchanged);this.editor.updateToolbar()};SaveSubmit.prototype.setUnChanged=function(){this.changed=false;this.editor._toolbarObjects.savesubmit.swapImage(this.editor.config.iconList.savesubmitunchanged)};SaveSubmit.prototype.changedReset=function(){this.initial_html=null;this.setUnChanged()};SaveSubmit.prototype.save=function(){this.buildMessage();var b=this.editor;var a=this;var g=b._textArea.form;g.onsubmit();var d,h,f="";for(var e=0;e0)?"&":"")+g.elements[e].name+"="+encodeURIComponent(g.elements[e].value)}var c=b._textArea.form.action||window.location.href;Xinha._postback(c,f,function(i){if(i){a.setMessage(i);a.changedReset()}removeMessage=function(){a.removeMessage()};window.setTimeout("removeMessage()",1000)})};SaveSubmit.prototype.setMessage=function(b){var c=this.textarea;if(!document.getElementById("message_sub_"+c.id)){return}var a=document.getElementById("message_sub_"+c.id);a.innerHTML=Xinha._lc(b,"SaveSubmit")};SaveSubmit.prototype.removeMessage=function(){var a=this.textarea;if(!document.getElementById("message_"+a.id)){return}document.body.removeChild(document.getElementById("message_"+a.id))};SaveSubmit.prototype.buildMessage=function(){var d=this.textarea;var e=this.editor._htmlArea;var a=document.createElement("div");a.id="message_"+d.id;a.className="loading";a.style.width=e.offsetWidth+"px";a.style.left=Xinha.findPosX(e)+"px";a.style.top=(Xinha.findPosY(e)+parseInt(e.offsetHeight)/2)-50+"px";var b=document.createElement("div");b.className="loading_main";b.id="loading_main_"+d.id;b.appendChild(document.createTextNode(this._lc("Saving...")));var c=document.createElement("div");c.className="loading_sub";c.id="message_sub_"+d.id;c.appendChild(document.createTextNode(this._lc("in progress")));a.appendChild(b);a.appendChild(c);document.body.appendChild(a)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SaveSubmit/save-submit.js b/ccm-core/web/assets/xinha/plugins/SaveSubmit/save-submit.js deleted file mode 100644 index 1cf418463..000000000 --- a/ccm-core/web/assets/xinha/plugins/SaveSubmit/save-submit.js +++ /dev/null @@ -1,137 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SaveSubmit/save-submit.js */ -function SaveSubmit(_1){ -this.editor=_1; -this.changed=false; -var _2=this; -var _3=_1.config; -this.textarea=this.editor._textArea; -this.image_changed=Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_red.gif"; -this.image_unchanged=Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_green.gif"; -_3.registerButton({id:"savesubmit",tooltip:_2._lc("Save"),image:this.image_unchanged,textMode:false,action:function(){ -_2.save(); -}}); -_3.addToolbarElement("savesubmit","popupeditor",-1); -} -SaveSubmit.prototype._lc=function(_4){ -return Xinha._lc(_4,"SaveSubmit"); -}; -SaveSubmit._pluginInfo={name:"SaveSubmit",version:"1.0",developer:"Raimund Meyer",developer_url:"http://rheinauf.de",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"}; -SaveSubmit.prototype.onGenerateOnce=function(){ -this.initial_html=this.editor.getInnerHTML(); -}; -SaveSubmit.prototype.onKeyPress=function(ev){ -if(ev.ctrlKey&&this.editor.getKey(ev)=="s"){ -this.save(this.editor); -Xinha._stopEvent(ev); -return true; -}else{ -if(!this.changed){ -if(this.getChanged()){ -this.setChanged(); -} -return false; -} -} -}; -SaveSubmit.prototype.onExecCommand=function(_6){ -if(this.changed&&_6=="undo"){ -if(this.initial_html==this.editor.getInnerHTML()){ -this.setUnChanged(); -} -return false; -} -}; -SaveSubmit.prototype.onUpdateToolbar=function(){ -if(!this.changed){ -if(this.getChanged()){ -this.setChanged(); -} -return false; -} -}; -SaveSubmit.prototype.getChanged=function(){ -if(this.initial_html===null){ -this.initial_html=this.editor.getInnerHTML(); -} -if(this.initial_html!=this.editor.getInnerHTML()&&this.changed==false){ -this.changed=true; -return true; -}else{ -return false; -} -}; -SaveSubmit.prototype.setChanged=function(){ -this.editor._toolbarObjects.savesubmit.swapImage(this.image_changed); -this.editor.updateToolbar(); -}; -SaveSubmit.prototype.setUnChanged=function(){ -this.changed=false; -this.editor._toolbarObjects.savesubmit.swapImage(this.image_unchanged); -}; -SaveSubmit.prototype.changedReset=function(){ -this.initial_html=null; -this.setUnChanged(); -}; -SaveSubmit.prototype.save=function(){ -this.buildMessage(); -var _7=this.editor; -var _8=this; -var _9=_7._textArea.form; -_9.onsubmit(); -var _a,value,content=""; -for(var i=0;i<_9.elements.length;i++){ -if((_9.elements[i].type=="checkbox"||_9.elements[i].type=="radio")&&!_9.elements[i].checked){ -continue; -} -content+=((i>0)?"&":"")+_9.elements[i].name+"="+encodeURIComponent(_9.elements[i].value); -} -Xinha._postback(_7._textArea.form.action,content,function(_c){ -if(_c){ -_8.setMessage(_c); -_8.changedReset(); -} -removeMessage=function(){ -_8.removeMessage(); -}; -window.setTimeout("removeMessage()",1000); -}); -}; -SaveSubmit.prototype.setMessage=function(_d){ -var _e=this.textarea; -if(!document.getElementById("message_sub_"+_e.id)){ -return; -} -var _f=document.getElementById("message_sub_"+_e.id); -_f.innerHTML=Xinha._lc(_d,"SaveSubmit"); -}; -SaveSubmit.prototype.removeMessage=function(){ -var _10=this.textarea; -if(!document.getElementById("message_"+_10.id)){ -return; -} -document.body.removeChild(document.getElementById("message_"+_10.id)); -}; -SaveSubmit.prototype.buildMessage=function(){ -var _11=this.textarea; -var _12=this.editor._htmlArea; -var _13=document.createElement("div"); -_13.id="message_"+_11.id; -_13.className="loading"; -_13.style.width=_12.offsetWidth+"px"; -_13.style.left=Xinha.findPosX(_12)+"px"; -_13.style.top=(Xinha.findPosY(_12)+parseInt(_12.offsetHeight)/2)-50+"px"; -var _14=document.createElement("div"); -_14.className="loading_main"; -_14.id="loading_main_"+_11.id; -_14.appendChild(document.createTextNode(this._lc("Saving..."))); -var _15=document.createElement("div"); -_15.className="loading_sub"; -_15.id="message_sub_"+_11.id; -_15.appendChild(document.createTextNode(this._lc("in progress"))); -_13.appendChild(_14); -_13.appendChild(_15); -document.body.appendChild(_13); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SetId/SetId.js b/ccm-core/web/assets/xinha/plugins/SetId/SetId.js new file mode 100644 index 000000000..947a33fbc --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SetId/SetId.js @@ -0,0 +1,88 @@ +function SetId(editor) { + this.editor = editor; + var cfg = editor.config; + var self = this; + + // register the toolbar buttons provided by this plugin + cfg.registerButton({ + id : "setid", + tooltip : this._lc("Set Id and Name"), + image : editor.imgURL("set-id.gif", "SetId"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + cfg.addToolbarElement("setid", "createlink", 1); +} + +SetId._pluginInfo = { + name : "SetId", + version : "2.0", + developer : "Udo Schmal", + developer_url : "http://www.schaffrath-neuemedien.de", + c_owner : "Udo Schmal", + sponsor : "L.N.Schaffrath NeueMedien", + sponsor_url : "http://www.schaffrath-neuemedien.de", + license : "htmlArea" +}; + +SetId.prototype._lc = function(string) { + return Xinha._lc(string, 'SetId'); +}; + + +SetId.prototype.onGenerate = function() { + this.editor.addEditorStylesheet(Xinha.getPluginDir("SetId") + '/set-id.css'); +}; + +SetId.prototype.buttonPress = function(editor) { + var outparam = null; + var html = editor.getSelectedHTML(); + var sel = editor._getSelection(); + var range = editor._createRange(sel); + var node = editor._activeElement(sel); + if (node) + outparam = { name : node.id }; + else + outparam = { name : '' }; + + editor._popupDialog( "plugin://SetId/set_id", function( param ) { + if ( param ) { + var name = param["name"]; + if (name == "" || name == null) { + if (node) { + node.removeAttribute("name"); + node.removeAttribute("id"); + node.removeAttribute("title"); + if (node.className == "hasid") { + node.removeAttribute("class"); + } + } + return; + } + try { + var doc = editor._doc; + if (!node) { + node = doc.createElement("span"); + node.id = name; + node.name = name; + node.title = name; + node.className = "hasid"; + node.innerHTML = html; + if (Xinha.is_ie) { + range.pasteHTML(node.outerHTML); + } else { + editor.insertNodeAtSelection(node); + } + } else { + node.id = name; + node.name = name; + node.title = name; + node.className = "hasid"; + } + } + catch (e) { } + } + }, outparam); +}; diff --git a/ccm-core/web/assets/xinha/plugins/SetId/set-id.js b/ccm-core/web/assets/xinha/plugins/SetId/set-id.js deleted file mode 100644 index c94974f92..000000000 --- a/ccm-core/web/assets/xinha/plugins/SetId/set-id.js +++ /dev/null @@ -1,71 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SetId/set-id.js */ -function SetId(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"setid",tooltip:this._lc("Set Id and Name"),image:_1.imgURL("set-id.gif","SetId"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("setid","createlink",1); -} -SetId._pluginInfo={name:"SetId",version:"2.0",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de",c_owner:"Udo Schmal",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de",license:"htmlArea"}; -SetId.prototype._lc=function(_5){ -return Xinha._lc(_5,"SetId"); -}; -SetId.prototype.onGenerate=function(){ -this.editor.addEditorStylesheet(Xinha.getPluginDir("SetId")+"/set-id.css"); -}; -SetId.prototype.buttonPress=function(_6){ -var _7=null; -var _8=_6.getSelectedHTML(); -var _9=_6._getSelection(); -var _a=_6._createRange(_9); -var _b=_6._activeElement(_9); -if(_b){ -_7={name:_b.id}; -}else{ -_7={name:""}; -} -_6._popupDialog("plugin://SetId/set_id",function(_c){ -if(_c){ -var _d=_c["name"]; -if(_d==""||_d==null){ -if(_b){ -_b.removeAttribute("name"); -_b.removeAttribute("id"); -_b.removeAttribute("title"); -if(_b.className=="hasid"){ -_b.removeAttribute("class"); -} -} -return; -} -try{ -var _e=_6._doc; -if(!_b){ -_b=_e.createElement("span"); -_b.id=_d; -_b.name=_d; -_b.title=_d; -_b.className="hasid"; -_b.innerHTML=_8; -if(Xinha.is_ie){ -_a.pasteHTML(_b.outerHTML); -}else{ -_6.insertNodeAtSelection(_b); -} -}else{ -_b.id=_d; -_b.name=_d; -_b.title=_d; -_b.className="hasid"; -} -} -catch(e){ -} -} -},_7); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/SmartReplace.js b/ccm-core/web/assets/xinha/plugins/SmartReplace/SmartReplace.js new file mode 100644 index 000000000..8d2037cc9 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/SmartReplace.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function SmartReplace(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"smartreplace",tooltip:this._lc("SmartReplace"),image:[_editor_url+"iconsets/Tango/ed_buttons_main.png",3,8],textMode:false,action:function(g,f,d){b.buttonPress(null,d)}});a.addToolbarElement("smartreplace","htmlmode",1)}SmartReplace._pluginInfo={name:"SmartReplace",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"};SmartReplace.prototype._lc=function(a){return Xinha._lc(a,"SmartReplace")};Xinha.Config.prototype.SmartReplace={defaultActive:true,quotes:null};SmartReplace.prototype.toggleActivity=function(a){if(typeof a!="undefined"){this.active=a}else{this.active=this.active?false:true}this.editor._toolbarObjects.smartreplace.state("active",this.active)};SmartReplace.prototype.onUpdateToolbar=function(){this.editor._toolbarObjects.smartreplace.state("active",this.active)};SmartReplace.prototype.onGenerate=function(){this.active=this.editor.config.SmartReplace.defaultActive;this.editor._toolbarObjects.smartreplace.state("active",this.active);var a=this;Xinha._addEvent(a.editor._doc,"keypress",function(c){return a.keyEvent(Xinha.is_ie?a.editor._iframe.contentWindow.event:c)});var b=this.editor.config.SmartReplace.quotes;if(b&&typeof b=="object"){this.openingQuotes=b[0];this.closingQuotes=b[1];this.openingQuote=b[2];this.closingQuote=b[3]}else{this.openingQuotes=this._lc("OpeningDoubleQuotes");this.closingQuote=this._lc("ClosingSingleQuote");this.closingQuotes=this._lc("ClosingDoubleQuotes");this.openingQuote=this._lc("OpeningSingleQuote")}if(this.openingQuotes=="OpeningDoubleQuotes"){this.openingQuotes=String.fromCharCode(8220);this.closingQuotes=String.fromCharCode(8221);this.openingQuote=String.fromCharCode(8216);this.closingQuote=String.fromCharCode(8217)}};SmartReplace.prototype.keyEvent=function(d){if(!this.active){return true}var b=this.editor;var a=Xinha.is_ie?d.keyCode:d.which;var c=String.fromCharCode(a);if(c=='"'||c=="'"){Xinha._stopEvent(d);return this.smartQuotes(c)}if(a==32){return this.smartReplace(d,2,/^\s-/," "+String.fromCharCode(8211),false)}if(c=="."){return this.smartReplace(d,2,/\.\./,String.fromCharCode(8230),true)}return true};SmartReplace.prototype.smartQuotes=function(c){if(c=="'"){var f=this.openingQuote;var b=this.closingQuote}else{var f=this.openingQuotes;var b=this.closingQuotes}var a=this.editor;var e=a.getSelection();if(Xinha.is_ie){var d=a.createRange(e);if(d.text!==""){d.text=""}d.moveStart("character",-1);if(d.text.match(/\S/)){d.moveStart("character",+1);d.text=b}else{d.moveStart("character",+1);d.text=f}}else{var d=a.createRange(e);if(!d.collapsed){a.insertNodeAtSelection(document.createTextNode(""))}if(d.startOffset>0){d.setStart(d.startContainer,d.startOffset-1)}if(d.toString().match(/[^\s\xA0]/)){d.collapse(false);a.insertNodeAtSelection(document.createTextNode(b))}else{a.insertNodeAtSelection(document.createTextNode(d.toString()[0]+f))}a.getSelection().collapseToEnd()}return false};SmartReplace.prototype.smartReplace=function(g,a,e,c,d){var b=this.editor;var h=this.editor.getSelection();var f=this.editor.createRange(h);if(Xinha.is_ie){f.moveStart("character",-a);if(f.text.match(e)){f.text=c;if(d){Xinha._stopEvent(g);return false}}}else{if(f.startOffset>1){f.setStart(f.startContainer,f.startOffset-a)}if(f.toString().match(e)){this.editor.insertNodeAtSelection(document.createTextNode(c));f.deleteContents();f.collapse(true);if(d){Xinha._stopEvent(g);return false}}b.getSelection().collapseToEnd()}return true};SmartReplace.prototype.replaceAll=function(){var g=[""",String.fromCharCode(8220),String.fromCharCode(8221),String.fromCharCode(8222),String.fromCharCode(187),String.fromCharCode(171)];var e=["'",String.fromCharCode(8216),String.fromCharCode(8217),String.fromCharCode(8218),String.fromCharCode(8250),String.fromCharCode(8249)];var d=this.editor.getHTML();var h=new RegExp("(\\s|^|>)("+g.join("|")+")(\\S)","g");d=d.replace(h,"$1"+this.openingQuotes+"$3");var c=new RegExp("(\\s|^|>)("+e.join("|")+")(\\S)","g");d=d.replace(c,"$1"+this.openingQuote+"$3");var b=new RegExp("(\\S)("+g.join("|")+")","g");d=d.replace(b,"$1"+this.closingQuotes);var f=new RegExp("(\\S)("+e.join("|")+")","g");d=d.replace(f,"$1"+this.closingQuote);var a=new RegExp("( | )(-)( | )","g");d=d.replace(a," "+String.fromCharCode(8211)+" ");this.editor.setHTML(d)};SmartReplace.prototype.buttonPress=function(c,d){var a=this;if(this.dialog.rootElem.style.display!="none"){return this.dialog.hide()}var e=function(){var f=a.dialog.hide();a.toggleActivity((f.enable)?true:false);if(f.convert){a.replaceAll();a.dialog.getElementById("convert").checked=false}};var b={enable:a.active?"on":"",convert:""};this.show(b,e)};SmartReplace.prototype.onGenerateOnce=function(){this._prepareDialog()};SmartReplace.prototype._prepareDialog=function(){var b=this;var a=this.editor;if(!this.html){Xinha._getback(Xinha.getPluginDir("SmartReplace")+"/dialog.html",function(c){b.html=c;b._prepareDialog()});return}this.dialog=new Xinha.Dialog(a,this.html,"SmartReplace",{},{modal:false});this.dialog.attachToPanel("top");this.dialog.getElementById("enable").onchange=function(){b.toggleActivity(this.checked)};this.dialog.getElementById("convert").onchange=function(){b.dialog.getElementById("ok").style.display=(this.checked)?"":"none"};this.dialog.getElementById("ok").onclick=function(){b.replaceAll();b.dialog.getElementById("convert").checked=false;this.style.display="none"};this.ready=true};SmartReplace.prototype.show=function(b){if(!this.ready){var a=this;window.setTimeout(function(){a.show(b,ok,cancel)},100);return}var a=this;this.dialog.show(b);this.dialog.onresize()}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html b/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html index afb562590..146e0f373 100755 --- a/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html @@ -2,16 +2,15 @@
    Target: -
    -
    -
    -
    - +
    +
    +
    +
    +
    @@ -61,16 +57,14 @@
    -
    - +
    + - + @@ -84,11 +78,9 @@
    - +
    @@ -102,8 +94,10 @@
    - +
    + + diff --git a/ccm-core/web/assets/xinha/plugins/Linker/link-picker.js b/ccm-core/web/assets/xinha/plugins/Linker/link-picker.js new file mode 100644 index 000000000..4f079e34b --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Linker/link-picker.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function LinkPicker(d,c){this.field=d;var b=this;this.tmpAnchor=document.createElement("a");c.dialog=LinkPicker.Dialog;c.canSetTarget=false;c.canRemoveLink=false;this.selectionEmpty=function(){return true};this.getSelection=function(){return null};this.selectNodeContents=function(){return true};this.getHTML=function(){return""};this.disableToolbar=function(){return true};this.enableToolbar=function(){return true};this._doc={execCommand:function(){return false},getElementsByTagName:function(){return[]}};this.config={Linker:c,btnList:{},registerButton:function(){return true},addToolbarElement:function(){}};var a=document.createElement("input");a.type="button";a.value="Browse";a.onclick=function(){b.editLink();return false};d.parentNode.insertBefore(a,d.nextSibling);this.updateToolbar=function(){b.field.value=this.fixRelativeLinks(b.tmpAnchor.href)};this.linker=new Linker(this);this.linker.onGenerateOnce()}LinkPicker.prototype.editLink=function(){this.tmpAnchor.href=this.field.value;this.linker._createLink(this.tmpAnchor)};LinkPicker.prototype.fixRelativeLinks=function(a){return a.replace(document.location.href.replace(/^(https?:\/\/[^\/]*)(.*)$/i,"$1"),"")};LinkPicker.Dialog=function(d,c,e,b,a){LinkPicker.Dialog.parentConstructor.call(this,c,e,b,a)};Xinha.extend(LinkPicker.Dialog,Xinha.DetachedDialog);LinkPicker.Config=function(){};LinkPicker.Config.prototype=Xinha.Config.prototype.Linker; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Linker/linker.js b/ccm-core/web/assets/xinha/plugins/Linker/linker.js deleted file mode 100644 index fc85a68fb..000000000 --- a/ccm-core/web/assets/xinha/plugins/Linker/linker.js +++ /dev/null @@ -1,388 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Linker/linker.js */ -Linker._pluginInfo={name:"Linker",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"}; -Xinha.loadStyle("dTree/dtree.css","Linker"); -Xinha.Config.prototype.Linker={"treeCaption":document.location.host,"backend":Xinha.getPluginDir("Linker")+"/scan.php","backend_data":null,"files":null}; -function Linker(_1,_2){ -this.editor=_1; -this.lConfig=_1.config.Linker; -var _3=this; -if(_1.config.btnList.createlink){ -_1.config.btnList.createlink[3]=function(e,_5,_6){ -_3._createLink(_3._getSelectedAnchor()); -}; -}else{ -_1.config.registerButton("createlink","Insert/Modify Hyperlink",[_editor_url+"images/ed_buttons_main.gif",6,1],false,function(e,_8,_9){ -_3._createLink(_3._getSelectedAnchor()); -}); -} -_1.config.addToolbarElement("createlink","createlink",0); -} -Linker.prototype._lc=function(_a){ -return Xinha._lc(_a,"Linker"); -}; -Linker.prototype._createLink=function(a){ -if(!a&&this.editor.selectionEmpty(this.editor.getSelection())){ -alert(this._lc("You must select some text before making a new link.")); -return false; -} -var _c={type:"url",href:"http://www.example.com/",target:"",p_width:"",p_height:"",p_options:["menubar=no","toolbar=yes","location=no","status=no","scrollbars=yes","resizeable=yes"],to:"alice@example.com",subject:"",body:"",anchor:""}; -if(a&&a.tagName.toLowerCase()=="a"){ -var _d=this.editor.fixRelativeLinks(a.getAttribute("href")); -var m=_d.match(/^mailto:(.*@[^?&]*)(\?(.*))?$/); -var _f=_d.match(/^#(.*)$/); -if(m){ -_c.type="mailto"; -_c.to=m[1]; -if(m[3]){ -var _10=m[3].split("&"); -for(var x=0;x<_10.length;x++){ -var j=_10[x].match(/(subject|body)=(.*)/); -if(j){ -_c[j[1]]=decodeURIComponent(j[2]); -} -} -} -}else{ -if(_f){ -_c.type="anchor"; -_c.anchor=_f[1]; -}else{ -if(a.getAttribute("onclick")){ -var m=a.getAttribute("onclick").match(/window\.open\(\s*this\.href\s*,\s*'([a-z0-9_]*)'\s*,\s*'([a-z0-9_=,]*)'\s*\)/i); -_c.href=_d?_d:""; -_c.target="popup"; -_c.p_name=m[1]; -_c.p_options=[]; -var _10=m[2].split(","); -for(var x=0;x<_10.length;x++){ -var i=_10[x].match(/(width|height)=([0-9]+)/); -if(i){ -_c["p_"+i[1]]=parseInt(i[2]); -}else{ -_c.p_options.push(_10[x]); -} -} -}else{ -_c.href=_d; -_c.target=a.target; -} -} -} -} -var _14=this; -this.a=a; -var _15=function(){ -var a=_14.a; -var _17=_14._dialog.hide(); -var atr={href:"",target:"",title:"",onclick:""}; -if(_17.type=="url"){ -if(_17.href){ -atr.href=_17.href; -atr.target=_17.target; -if(_17.target=="popup"){ -if(_17.p_width){ -_17.p_options.push("width="+_17.p_width); -} -if(_17.p_height){ -_17.p_options.push("height="+_17.p_height); -} -atr.onclick="if(window.top && window.top.Xinha){return false}window.open(this.href, '"+(_17.p_name.replace(/[^a-z0-9_]/i,"_"))+"', '"+_17.p_options.join(",")+"');return false;"; -} -} -}else{ -if(_17.type=="anchor"){ -if(_17.anchor){ -atr.href=_17.anchor.value; -} -}else{ -if(_17.to){ -atr.href="mailto:"+_17.to; -if(_17.subject){ -atr.href+="?subject="+encodeURIComponent(_17.subject); -} -if(_17.body){ -atr.href+=(_17.subject?"&":"?")+"body="+encodeURIComponent(_17.body); -} -} -} -} -if(a&&a.tagName.toLowerCase()=="a"){ -if(!atr.href){ -if(confirm(_14._dialog._lc("Are you sure you wish to remove this link?"))){ -var p=a.parentNode; -while(a.hasChildNodes()){ -p.insertBefore(a.removeChild(a.childNodes[0]),a); -} -p.removeChild(a); -_14.editor.updateToolbar(); -return; -} -}else{ -for(var i in atr){ -a.setAttribute(i,atr[i]); -} -if(Xinha.is_ie){ -if(/mailto:([^?<>]*)(\?[^<]*)?$/i.test(a.innerHTML)){ -a.innerHTML=RegExp.$1; -} -} -} -}else{ -if(!atr.href){ -return true; -} -var tmp=Xinha.uniq("http://www.example.com/Link"); -_14.editor._doc.execCommand("createlink",false,tmp); -var _1c=_14.editor._doc.getElementsByTagName("a"); -for(var i=0;i<_1c.length;i++){ -var _1d=_1c[i]; -if(_1d.href==tmp){ -if(!a){ -a=_1d; -} -for(var j in atr){ -_1d.setAttribute(j,atr[j]); -} -} -} -} -_14.editor.selectNodeContents(a); -_14.editor.updateToolbar(); -}; -this._dialog.show(_c,_15); -}; -Linker.prototype._getSelectedAnchor=function(){ -var sel=this.editor.getSelection(); -var rng=this.editor.createRange(sel); -var a=this.editor.activeElement(sel); -if(a!=null&&a.tagName.toLowerCase()=="a"){ -return a; -}else{ -a=this.editor._getFirstAncestor(sel,"a"); -if(a!=null){ -return a; -} -} -return null; -}; -Linker.prototype.onGenerateOnce=function(){ -this._dialog=new Linker.Dialog(this); -}; -Linker.Dialog_dTrees=[]; -Linker.Dialog=function(_22){ -var _23=this; -this.Dialog_nxtid=0; -this.linker=_22; -this.id={}; -this.ready=false; -this.files=false; -this.html=false; -this.dialog=false; -this._prepareDialog(); -}; -Linker.Dialog.prototype._prepareDialog=function(){ -var _24=this; -var _25=this.linker; -if(typeof dTree=="undefined"){ -Xinha._loadback(Xinha.getPluginDir("Linker")+"/dTree/dtree.js",function(){ -_24._prepareDialog(); -}); -return; -} -if(this.files===false){ -if(_25.lConfig.backend){ -Xinha._postback(_25.lConfig.backend,_25.lConfig.backend_data,function(txt){ -try{ -_24.files=eval(txt); -} -catch(Error){ -_24.files=[{url:"",title:Error.toString()}]; -} -_24._prepareDialog(); -}); -}else{ -if(_25.lConfig.files!=null){ -_24.files=_25.lConfig.files; -_24._prepareDialog(); -} -} -return; -} -var _27=this.files; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("Linker")+"/dialog.html",function(txt){ -_24.html=txt; -_24._prepareDialog(); -}); -return; -} -var _29=this.html; -var _2a=this.dialog=new Xinha.Dialog(_25.editor,this.html,"Linker"); -var _2b=Xinha.uniq("dTree_"); -this.dTree=new dTree(_2b,Xinha.getPluginDir("Linker")+"/dTree/"); -eval(_2b+" = this.dTree"); -this.dTree.add(this.Dialog_nxtid++,-1,_25.lConfig.treeCaption,null,_25.lConfig.treeCaption); -this.makeNodes(_27,0); -var _2c=this.dialog.getElementById("dTree"); -_2c.innerHTML=""; -_2c.style.position="absolute"; -_2c.style.left=1+"px"; -_2c.style.top=0+"px"; -_2c.style.overflow="auto"; -_2c.style.backgroundColor="white"; -this.ddTree=_2c; -this.dTree._linker_premade=this.dTree.toString(); -var _2d=this.dialog.getElementById("options"); -_2d.style.position="absolute"; -_2d.style.top=0+"px"; -_2d.style.right=0+"px"; -_2d.style.width=320+"px"; -_2d.style.overflow="auto"; -this.dialog.onresize=function(){ -var h=parseInt(_2a.height)-_2a.getElementById("h1").offsetHeight; -var w=parseInt(_2a.width)-322; -if(w<0){ -w=0; -} -if(h<0){ -h=0; -} -_2d.style.height=_2c.style.height=h+"px"; -_2c.style.width=w+"px"; -}; -this.ready=true; -}; -Linker.Dialog.prototype.makeNodes=function(_30,_31){ -for(var i=0;i<_30.length;i++){ -if(typeof _30[i]=="string"){ -this.dTree.add(Linker.nxtid++,_31,_30[i].replace(/^.*\//,""),"javascript:document.getElementsByName('"+this.dialog.id.href+"')[0].value=decodeURIComponent('"+encodeURIComponent(_30[i])+"');document.getElementsByName('"+this.dialog.id.type+"')[0].click();document.getElementsByName('"+this.dialog.id.href+"')[0].focus();void(0);",_30[i]); -}else{ -if(typeof _30[i]=="object"&&_30[i]&&typeof _30[i].length==="number"){ -var id=this.Dialog_nxtid++; -this.dTree.add(id,_31,_30[i][0].replace(/^.*\//,""),null,_30[i][0]); -this.makeNodes(_30[i][1],id); -}else{ -if(typeof _30[i]=="object"){ -if(_30[i].children){ -var id=this.Dialog_nxtid++; -}else{ -var id=Linker.nxtid++; -} -if(_30[i].title){ -var _34=_30[i].title; -}else{ -if(_30[i].url){ -var _34=_30[i].url.replace(/^.*\//,""); -}else{ -var _34="no title defined"; -} -} -if(_30[i].url){ -var _35="javascript:document.getElementsByName('"+this.dialog.id.href+"')[0].value=decodeURIComponent('"+encodeURIComponent(_30[i].url)+"');document.getElementsByName('"+this.dialog.id.type+"')[0].click();document.getElementsByName('"+this.dialog.id.href+"')[0].focus();void(0);"; -}else{ -var _35=""; -} -this.dTree.add(id,_31,_34,_35,_34); -if(_30[i].children){ -this.makeNodes(_30[i].children,id); -} -} -} -} -} -}; -Linker.Dialog.prototype._lc=Linker.prototype._lc; -Linker.Dialog.prototype.show=function(_36,ok,_38){ -if(!this.ready){ -var _39=this; -window.setTimeout(function(){ -_39.show(_36,ok,_38); -},100); -return; -} -if(this.ddTree.innerHTML==""){ -this.ddTree.innerHTML=this.dTree._linker_premade; -} -if(_36.type=="url"){ -this.dialog.getElementById("urltable").style.display=""; -this.dialog.getElementById("mailtable").style.display="none"; -this.dialog.getElementById("anchortable").style.display="none"; -}else{ -if(_36.type=="anchor"){ -this.dialog.getElementById("urltable").style.display="none"; -this.dialog.getElementById("mailtable").style.display="none"; -this.dialog.getElementById("anchortable").style.display=""; -}else{ -this.dialog.getElementById("urltable").style.display="none"; -this.dialog.getElementById("mailtable").style.display=""; -this.dialog.getElementById("anchortable").style.display="none"; -} -} -if(_36.target=="popup"){ -this.dialog.getElementById("popuptable").style.display=""; -}else{ -this.dialog.getElementById("popuptable").style.display="none"; -} -var _3a=this.dialog.getElementById("anchor"); -for(var i=_3a.length;i>=0;i--){ -_3a[i]=null; -} -var _3c=this.linker.editor.getHTML(); -var _3d=new Array(); -var m=_3c.match(/]+name="([^"]+)"/gi); -if(m){ -for(i=0;i]*)(\?[^<]*)?$/i.test(v.innerHTML)){v.innerHTML=RegExp.$1}}}}else{if(!w.href){return true}var s=Xinha.uniq("http://www.example.com/Link");d.editor._doc.execCommand("createlink",false,s);var u=d.editor._doc.getElementsByTagName("a");for(var t=0;t=0;k--){g[k]=null}var l=this.linker.editor.getHTML();var o=new Array();var f=l.match(/]+name="([^"]+)"/gi);if(f){for(k=0;k0){this.dialog.getElementById(p[0]).checked=true}this.dialog.onresize()};Linker.Dialog.prototype.hide=function(){this.linker.editor.enableToolbar();return this.dialog.hide()};Linker.Dialog.prototype.removeLink=function(a){this.dialog.getElementById("href").value="";this.dialog.getElementById("to").value="";return a()};Linker.Dialog.prototype.showOptionsForType=function(b){var c=this.dialog.getElementById("urltable");var d=this.dialog.getElementById("mailtable");var a=this.dialog.getElementById("anchortable");if(b=="anchor"){a.style.display="";c.style.display="none";d.style.display="none"}else{if(b=="mailto"){d.style.display="";c.style.display="none";a.style.display="none"}else{c.style.display="";d.style.display="none";a.style.display="none"}}};Linker.Dialog.prototype.showOptionsForTarget=function(b){var a=this.dialog.getElementById("popuptable");a.style.display=b=="popup"?"":"none"}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Linker/scan.php b/ccm-core/web/assets/xinha/plugins/Linker/scan.php index 0a7a7d8e0..891b00829 100755 --- a/ccm-core/web/assets/xinha/plugins/Linker/scan.php +++ b/ccm-core/web/assets/xinha/plugins/Linker/scan.php @@ -71,7 +71,7 @@ while($dh && ($file = readdir($dh))) { - if($file !== '.' && $file !== '..') + if($file[0] !== '.') { $path = realpath($dir . '/' . $file); $url = $durl . '/' . $file; diff --git a/ccm-core/web/assets/xinha/plugins/ListType/ListType.js b/ccm-core/web/assets/xinha/plugins/ListType/ListType.js new file mode 100644 index 000000000..f9b9930cc --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ListType/ListType.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.loadStyle("ListType.css","ListType");function ListType(c){this.editor=c;var g=c.config;var k=this;if(g.ListType.mode=="toolbar"){var j={};j[Xinha._lc("Decimal numbers","ListType")]="decimal";j[Xinha._lc("Lower roman numbers","ListType")]="lower-roman";j[Xinha._lc("Upper roman numbers","ListType")]="upper-roman";j[Xinha._lc("Lower latin letters","ListType")]="lower-alpha";j[Xinha._lc("Upper latin letters","ListType")]="upper-alpha";if(!Xinha.is_ie){j[Xinha._lc("Lower greek letters","ListType")]="lower-greek"}var e={id:"listtype",tooltip:Xinha._lc("Choose list style type (for ordered lists)","ListType"),options:j,action:function(i){k.onSelect(i,this)},refresh:function(i){k.updateValue(i,this)},context:"ol"};g.registerDropdown(e);g.addToolbarElement("listtype",["insertorderedlist","orderedlist"],1)}else{c._ListType=c.addPanel("right");Xinha.freeLater(c,"_ListType");Xinha.addClass(c._ListType,"ListType");Xinha.addClass(c._ListType.parentNode,"dialog");c.notifyOn("modechange",function(l,i){if(i.mode=="text"){c.hidePanel(c._ListType)}});var h=["disc","circle","square","none"];var f=["decimal","lower-alpha","upper-alpha","lower-roman","upper-roman","none"];var b=document.createElement("div");b.style.height="90px";var a=document.createElement("div");this.divUL=a;a.style.display="none";for(var d=0;d +{ + "Decimal numbers": "Números", + "Lower roman numbers": "Números romanos en minúsculas", + "Upper roman numbers": "Números romanos en mayúsculas", + "Lower latin letters": "Letras minúsculas", + "Upper latin letters": "Letras mayúsculas", + "Lower greek letters": "Letras griegas minúsculas", + "Choose list style type (for ordered lists)": "Seleccionar estilo de lista (para listas ordenadas)" +}; diff --git a/ccm-core/web/assets/xinha/plugins/ListType/list-type.js b/ccm-core/web/assets/xinha/plugins/ListType/list-type.js deleted file mode 100644 index 5f96f1190..000000000 --- a/ccm-core/web/assets/xinha/plugins/ListType/list-type.js +++ /dev/null @@ -1,140 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ListType/list-type.js */ -Xinha.loadStyle("ListType.css","ListType"); -function ListType(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -if(_2.ListType.mode=="toolbar"){ -var _4={}; -_4[Xinha._lc("Decimal numbers","ListType")]="decimal"; -_4[Xinha._lc("Lower roman numbers","ListType")]="lower-roman"; -_4[Xinha._lc("Upper roman numbers","ListType")]="upper-roman"; -_4[Xinha._lc("Lower latin letters","ListType")]="lower-alpha"; -_4[Xinha._lc("Upper latin letters","ListType")]="upper-alpha"; -if(!Xinha.is_ie){ -_4[Xinha._lc("Lower greek letters","ListType")]="lower-greek"; -} -var _5={id:"listtype",tooltip:Xinha._lc("Choose list style type (for ordered lists)","ListType"),options:_4,action:function(_6){ -_3.onSelect(_6,this); -},refresh:function(_7){ -_3.updateValue(_7,this); -},context:"ol"}; -_2.registerDropdown(_5); -_2.addToolbarElement("listtype",["insertorderedlist","orderedlist"],1); -}else{ -_1._ListType=_1.addPanel("right"); -Xinha.freeLater(_1,"_ListType"); -Xinha.addClass(_1._ListType,"ListType"); -Xinha.addClass(_1._ListType.parentNode,"dialog"); -_1.notifyOn("modechange",function(e,_9){ -if(_9.mode=="text"){ -_1.hidePanel(_1._ListType); -} -}); -var _a=["disc","circle","square","none"]; -var _b=["decimal","lower-alpha","upper-alpha","lower-roman","upper-roman","none"]; -var _c=document.createElement("div"); -_c.style.height="90px"; -var _d=document.createElement("div"); -this.divUL=_d; -_d.style.display="none"; -for(var i=0;i<_a.length;i++){ -_d.appendChild(this.createImage(_a[i])); -} -_c.appendChild(_d); -var _d=document.createElement("div"); -this.divOL=_d; -_d.style.display="none"; -for(var i=0;i<_b.length;i++){ -_d.appendChild(this.createImage(_b[i])); -} -_c.appendChild(_d); -_1._ListType.appendChild(_c); -_1.hidePanel(_1._ListType); -} -} -Xinha.Config.prototype.ListType={"mode":"toolbar"}; -ListType._pluginInfo={name:"ListType",version:"2.1",developer:"Laurent Vilday",developer_url:"http://www.mokhet.com/",c_owner:"Xinha community",sponsor:"",sponsor_url:"",license:"Creative Commons Attribution-ShareAlike License"}; -ListType.prototype.onSelect=function(_f,_10){ -var _11=_f._toolbarObjects[_10.id].element; -var _12=_f.getParentElement(); -while(!/^ol$/i.test(_12.tagName)){ -_12=_12.parentNode; -} -_12.style.listStyleType=_11.value; -}; -ListType.prototype.updateValue=function(_13,_14){ -var _15=_13._toolbarObjects[_14.id].element; -var _16=_13.getParentElement(); -while(_16&&!/^ol$/i.test(_16.tagName)){ -_16=_16.parentNode; -} -if(!_16){ -_15.selectedIndex=0; -return; -} -var _17=_16.style.listStyleType; -if(!_17){ -_15.selectedIndex=0; -}else{ -for(var i=_15.firstChild;i;i=i.nextSibling){ -i.selected=(_17.indexOf(i.value)!=-1); -} -} -}; -ListType.prototype.onUpdateToolbar=function(){ -if(this.editor.config.ListType.mode=="toolbar"){ -return; -} -var _19=this.editor.getParentElement(); -while(_19&&!/^[o|u]l$/i.test(_19.tagName)){ -_19=_19.parentNode; -} -if(_19&&/^[o|u]l$/i.test(_19.tagName)){ -this.showPanel(_19); -}else{ -if(this.editor._ListType.style.display!="none"){ -this.editor.hidePanel(this.editor._ListType); -} -} -}; -ListType.prototype.createImage=function(_1a){ -var _1b=this; -var _1c=this.editor; -var a=document.createElement("a"); -a.href="javascript:void(0)"; -Xinha._addClass(a,_1a); -Xinha._addEvent(a,"click",function(){ -var _1e=_1c._ListType.currentListTypeParent; -_1e.style.listStyleType=_1a; -_1b.showActive(_1e); -return false; -}); -return a; -}; -ListType.prototype.showActive=function(_1f){ -var _20=(_1f.tagName.toLowerCase()=="ul")?this.divUL:this.divOL; -this.divUL.style.display="none"; -this.divOL.style.display="none"; -_20.style.display="block"; -var _21=_1f.style.listStyleType; -if(""==_21){ -_21=(_1f.tagName.toLowerCase()=="ul")?"disc":"decimal"; -} -for(var i=0;i<_20.childNodes.length;i++){ -var elt=_20.childNodes[i]; -if(Xinha._hasClass(elt,_21)){ -Xinha._addClass(elt,"active"); -}else{ -Xinha._removeClass(elt,"active"); -} -} -}; -ListType.prototype.showPanel=function(_24){ -this.editor._ListType.currentListTypeParent=_24; -this.showActive(_24); -this.editor.showPanel(this.editor._ListType); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/img/note.gif b/ccm-core/web/assets/xinha/plugins/NoteServer/img/note.gif deleted file mode 100755 index e3c117a7c..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/NoteServer/img/note.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/de.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/de.js deleted file mode 100644 index 58b0f9205..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/de.js +++ /dev/null @@ -1,21 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 | ISO-8859-1 -// Sponsored by http://www.systemconcept.de -// Author: Holger Hees, -// (c) systemconcept.de 2004 -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Insert GUIDO Music Notation": "Einfügung einer GUIDO Musik-Tonfolge", - "Guido code": "Guido code", - "Options": "Einstellungen", - "Format": "Format", - "Image in applet": "Bild im Applet", - "Zoom": "Zoom", - "MIDI File": "MIDI Datei", - "Image Preview": "Bild Voransicht", - "Source Code": "Quell-Code", - "Preview": "Voransicht", - "Add MIDI link to allow students to hear the music": "MIDI-Link hinzufügen um Studenten das hören der Musik zu ermöglichen", - "Add GUIDO Code in a textbox on the page": "GUIDO Code in einer Textbox auf der Seite anzeigen" -}; diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/fr.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/fr.js deleted file mode 100644 index f0510d3a5..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/fr.js +++ /dev/null @@ -1,16 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Insert GUIDO Music Notation": "Insérer une partition musicale GUIDO", - "Guido code": "Code Guido", - "Options": "Options", - "Format": "Format", - "Image in applet": "Image dans une applet", - "Zoom": "Zoom", - "MIDI File": "Fichier MIDI", - "Image Preview": "Aperçu de l'image", - "Source Code": "Code source", - "Preview": "Aperçu ", - "Add MIDI link to allow students to hear the music": "Ajouter un lien MIDI pour permettre aux étudiants d'écouter la partition", - "Add GUIDO Code in a textbox on the page": "Ajouter le code source GUIDO dans un cadre" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/ja.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/ja.js deleted file mode 100644 index a1d5041bd..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/ja.js +++ /dev/null @@ -1,18 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -// This string is for auto detection of multi-encoding editor : 国際化文字検出用文字列 -{ - "Insert GUIDO Music Notation": "GUIDO Music Notationの挿入", - "Guido code": "GUIDOコード", - "Options": "オプション", - "Format": "フォーマット", - "Image in applet": "アプレット画像", - "Zoom": "拡大率:", - "MIDI File": "MIDIファイル", - "Image Preview": "画像プレビュー", - "Source Code": "ソースコード", - "Preview": "表示", - "Add MIDI link to allow students to hear the music": "MIDIへのリンクを追加し、楽曲を聴かせてもよい", - "Add GUIDO Code in a textbox on the page": "ページ内のテキストボックスにGUIDOコードを追加", - "With Mozilla, the applet will not be visible in editor, but only in Web page after submitting.": "Mozillaではエディタ内にアプレットは表示されませんが、送信後のWebページ内では有効です。" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nb.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nb.js deleted file mode 100644 index 90b58b03e..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nb.js +++ /dev/null @@ -1,17 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Insert GUIDO Music Notation": "Sett inn GUIDO-noter", - "Guido code": "GUIDO-kode", - "Options": "Muligheter", - "Format": "Format", - "Image in applet": "Bilde i applet", - "Zoom": "Forstørr", - "MIDI File": "MIDIfil", - "Image Preview": "Bilde forhåndsvisning", - "Source Code": "Kildekode", - "Preview": "Preview", - "Add MIDI link to allow students to hear the music": "Legg til MIDI-link for at studenter kan høre musikken", - "Add GUIDO Code in a textbox on the page": "Sett inn GUIDO-kode i et tekstfelt på siden" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nl.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nl.js deleted file mode 100644 index ad456ae79..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nl.js +++ /dev/null @@ -1,17 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Insert GUIDO Music Notation": "GUIDO muziek notatie invoegen", - "Guido code": "GUIDO-code", - "Options": "Opties", - "Format": "Indeling", - "Image in applet": "Afbeelding in applet", - "Zoom": "Vergroot/verklein", - "MIDI File": "MIDI bestand", - "Image Preview": "Afbeeldingsvoorbeeld", - "Source Code": "Broncode", - "Preview": "Voorbeeld", - "Add MIDI link to allow students to hear the music": "MIDI link invoegen om de muziek te beluisteren", - "Add GUIDO Code in a textbox on the page": "GUIDO code in een tekstgebied op de pagina invoegen" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/pt_br.js deleted file mode 100644 index 2fed8511a..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/pt_br.js +++ /dev/null @@ -1,37 +0,0 @@ -// I18N constants -// -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation -// -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt) -{ - "Add GUIDO Code in a textbox on the page": "Adicionar código GUIDO em uma caixa de texto na página", - "Add MIDI link to allow students to hear the music": "Adicionar um link MIDI para permitir que os estudantes escutem a música", - "Cancel": "Cancelar", - "Format": "Formato", - "GUIDO Code": "Código GUIDO", - "Guido code": "Código Guido", - "Image Preview": "Visualização da Imagem", - "Image in applet": "Imagem em Applet", - "Insert GUIDO Music Notation": "Inserir Notação GUIDO de Música", - "MIDI File": "Arquivo MIDI", - "OK": "OK", - "Options": "Opções", - "Preview": "Visualização", - "Preview the image in a new window": "Visualizar imagem em uma nova janela", - "Source Code": "Codigo Fonte", - "With Mozilla, the applet will not be visible in editor, but only in Web page after submitting.": "Com Mozilla, o applet não estará visível no editor, somente na Página Web depois do envio.", - "Zoom": "Ampliação", - "Zoom :": "Ampliação :" -} - - diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/note-server.js b/ccm-core/web/assets/xinha/plugins/NoteServer/note-server.js deleted file mode 100644 index 0b0f43190..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/note-server.js +++ /dev/null @@ -1,93 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/NoteServer/note-server.js */ -function NoteServer(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"insertscore",tooltip:this._lc("Insert GUIDO Music Notation"),image:_1.imgURL("note.gif","NoteServer"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("insertscore","insertimage",1); -} -NoteServer._pluginInfo={name:"NoteServer",version:"1.1",developer:"Richard Christophe",developer_url:"http://piano-go.chez.tiscali.fr/guido.html",c_owner:"Richard Christophe",sponsor:"",sponsor_url:"",license:"htmlArea"}; -NoteServer.prototype._lc=function(_5){ -return Xinha._lc(_5,"NoteServer"); -}; -NoteServer.prototype.buttonPress=function(_6){ -_6._popupDialog("plugin://NoteServer/codenote",function(_7){ -if(!_7){ -return false; -}else{ -IncludeGuido(_6,_7); -} -},null); -}; -var noteserveraddress="clef.cs.ubc.ca"; -var htmlbase="/salieri/nview"; -var versionstring=""; -function GetGIFURL(_8,_9,_a){ -_8=escape(_8); -_8=_8.replace(/\//g,"%2F"); -if(!_9){ -_9="1.0"; -} -if(!_a){ -_a="1"; -} -var _b="http://"+noteserveraddress+"/scripts/salieri"+versionstring+"/gifserv.pl?"+"pagewidth=21"+"&pageheight=29.7"+"&zoomfactor="+_9+"&pagesizeadjust=yes"+"&outputformat=gif87"+"&pagenum="+_a+"&gmndata="+_8; -return _b; -} -function GetMIDIURL(_c){ -_c=escape(_c); -_c=_c.replace(/\//g,"%2F"); -var _d="http://"+noteserveraddress+"/scripts/salieri"+versionstring+"/midserv.pl?"+"gmndata="+_c; -return _d; -} -function GetAPPLETURL(_e,_f){ -_e=escape(_e); -_e=_e.replace(/\//g,"%2F"); -var _10=""+""+""+""+""+""+""+""; -return _10; -} -function IncludeGuido(_11,_12){ -if(!_12["f_zoom"]){ -zoom=""; -} -var _13=GetGIFURL(_12["f_code"],_12["f_zoom"],""); -var _14=GetMIDIURL(_12["f_code"]); -var _15="
    "; -if(_12["f_applet"]==false){ -if(((navigator.userAgent.toLowerCase().indexOf("msie")!=-1)&&(navigator.userAgent.toLowerCase().indexOf("opera")==-1))){ -_11.focusEditor(); -_11.insertHTML(""); -}else{ -img=new Image(); -img.src=_13; -var doc=_11._doc; -var sel=_11._getSelection(); -var _18=_11._createRange(sel); -_11._doc.execCommand("insertimage",false,img.src); -} -}else{ -var _19=GetAPPLETURL(_12["f_code"],_12["f_zoom"]); -_15=_15+_19+"
    "; -} -if(_12["f_affcode"]){ -_15=_15+Xinha._lc("GUIDO Code","NoteServer")+" : "+_12["f_code"]+"
    "; -} -if(_12["f_midi"]){ -_15=_15+""+Xinha._lc("MIDI File","NoteServer")+"
    "; -} -_11.focusEditor(); -_11.insertHTML(_15); -} -function IncludeGuidoStringAsApplet(_1a,_1b,_1c){ -_1b=escape(_1b); -_1b=_1b.replace(/\//g,"%2F"); -var _1d=""+""+""+""+""+""+""+""; -alert(_1d); -_1a.focusEditor(); -_1a.insertHTML(_1d); -} - diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/popups/codenote.html b/ccm-core/web/assets/xinha/plugins/NoteServer/popups/codenote.html deleted file mode 100755 index 3f1ba5f3f..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/popups/codenote.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -Insert GUIDO Music Notation - - - - - - - - -
    Insert GUIDO Music Notation
    - -Guido code : -

    - -
    -
    -Options - Add MIDI link to allow students to hear the music -
    - Add GUIDO Code in a textbox on the page -
    -
    - -
    -Format - Image in applet -
    - Zoom : - -
    -
    - -
    - -
    - - - - - - - - -
    - Image Preview:
    - -
    -
    -
    - -
    -

    Sample Guido Codes:

    -

    Code Sample 1 or type [ do re mi fa sol la si ] | Code Sample 2

    -

    Resources:

    -

    The Guido Specification (PDF) | (HTML)

    -

    GUIDO Music Notation Format Site | Guido Note Server | SourceForge Homepage

    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/PasteText.js b/ccm-core/web/assets/xinha/plugins/PasteText/PasteText.js new file mode 100644 index 000000000..47bbb57db --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/PasteText/PasteText.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function PasteText(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"pastetext",tooltip:this._lc("Paste as Plain Text"),image:c.imgURL("ed_paste_text.gif","PasteText"),textMode:false,action:function(){b.show()}});a.addToolbarElement("pastetext",["paste","killword"],1)}PasteText._pluginInfo={name:"PasteText",version:"1.2",developer:"Michael Harris",developer_url:"http://www.jonesadvisorygroup.com",c_owner:"Jones Advisory Group",sponsor:"Jones International University",sponsor_url:"http://www.jonesinternational.edu",license:"htmlArea"};PasteText.prototype._lc=function(a){return Xinha._lc(a,"PasteText")};Xinha.Config.prototype.PasteText={showParagraphOption:true,newParagraphDefault:true};PasteText.prototype.onGenerateOnce=function(){var a=PasteText;if(a.loading){return}a.loading=true;Xinha._getback(Xinha.getPluginDir("PasteText")+"/popups/paste_text.html",function(b){a.html=b})};PasteText.prototype._prepareDialog=function(){var b=this;var a=this.editor;var b=this;this.dialog=new Xinha.Dialog(a,PasteText.html,"PasteText",{width:350});this.dialog.getElementById("ok").onclick=function(){b.apply()};this.dialog.getElementById("cancel").onclick=function(){b.dialog.hide()};if(a.config.PasteText.showParagraphOption){this.dialog.getElementById("paragraphOption").style.display=""}if(a.config.PasteText.newParagraphDefault){this.dialog.getElementById("insertParagraphs").checked=true}this.dialog.onresize=function(){this.getElementById("inputArea").style.height=parseInt(this.height,10)-this.getElementById("h1").offsetHeight-this.getElementById("buttons").offsetHeight-parseInt(this.rootElem.style.paddingBottom,10)+"px";this.getElementById("inputArea").style.width=(this.width-2)+"px"}};PasteText.prototype.show=function(){if(!this.dialog){this._prepareDialog()}var a={inputArea:""};this.dialog.show(a);this.dialog.onresize();this.dialog.getElementById("inputArea").focus()};PasteText.prototype.apply=function(){var a=this.dialog.hide();var b=a.inputArea;var c=a.insertParagraphs;b=b.replace(//g,">");if(a.insertParagraphs){b=b.replace(/\t/g,"    ");b=b.replace(/\n/g,"

    ");b="

    "+b+"

    ";if(Xinha.is_ie){this.editor.insertHTML(b)}else{this.editor.execCommand("inserthtml",false,b)}}else{b=b.replace(/\n/g,"
    ");this.editor.insertHTML(b)}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js b/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js index 1c88da3b0..e6c7fd2fe 100644 --- a/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js +++ b/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js @@ -1,5 +1,6 @@ // I18N constants // LANG: "de", ENCODING: UTF-8 { - "Paste as Plain Text": "unformatierten Text einfügen" + "Paste as Plain Text": "unformatierten Text einfügen", + "Insert text in new paragraph" : "Neue Absätze eifügen" }; diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/paste-text.js b/ccm-core/web/assets/xinha/plugins/PasteText/paste-text.js deleted file mode 100644 index 30798bbdc..000000000 --- a/ccm-core/web/assets/xinha/plugins/PasteText/paste-text.js +++ /dev/null @@ -1,42 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/PasteText/paste-text.js */ -function PasteText(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"pastetext",tooltip:this._lc("Paste as Plain Text"),image:_1.imgURL("ed_paste_text.gif","PasteText"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("pastetext",["paste","killword"],1); -} -PasteText._pluginInfo={name:"PasteText",version:"1.2",developer:"Michael Harris",developer_url:"http://www.jonesadvisorygroup.com",c_owner:"Jones Advisory Group",sponsor:"Jones International University",sponsor_url:"http://www.jonesinternational.edu",license:"htmlArea"}; -PasteText.prototype._lc=function(_5){ -return Xinha._lc(_5,"PasteText"); -}; -Xinha.Config.prototype.PasteText={showParagraphOption:true,newParagraphDefault:true}; -PasteText.prototype.buttonPress=function(_6){ -var _6=this.editor; -var _7=_6.config.PasteText; -var _8=function(_9){ -var _a=_9.text; -var _b=_9.insertParagraphs; -_a=_a.replace(//g,">"); -if(_9.insertParagraphs){ -_a=_a.replace(/\t/g,"    "); -_a=_a.replace(/\n/g,"

    "); -_a="

    "+_a+"

    "; -if(Xinha.is_ie){ -_6.insertHTML(_a); -}else{ -_6.execCommand("inserthtml",false,_a); -} -}else{ -_a=_a.replace(/\n/g,"
    "); -_6.insertHTML(_a); -} -}; -Dialog(Xinha.getPluginDir("PasteText")+"/popups/paste_text.html",_8,_7); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html b/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html index 6be649180..6ce2e7aff 100755 --- a/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html +++ b/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html @@ -1,52 +1,9 @@ - - - - Paste Text - - - - - - -
    Paste as Plain Text
    -
    -
    - -
    -
    - - - \ No newline at end of file + + +
    diff --git a/ccm-core/web/assets/xinha/plugins/PreserveScripts/PreserveScripts.js b/ccm-core/web/assets/xinha/plugins/PreserveScripts/PreserveScripts.js new file mode 100644 index 000000000..6faeb4ebf --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/PreserveScripts/PreserveScripts.js @@ -0,0 +1,68 @@ +/*------------------------------------------*\ +PreserveScripts for Xinha +____________________ +Replace blocks of of PHP or JavaScript with icons in the editor, this way making it possible to edit sourcecode containing PHP, +and preventing Javascript from being accidentally deleted because it's normally invisible + +\*------------------------------------------*/ + +function PreserveScripts(editor) { + this.editor = editor; +} + +PreserveScripts._pluginInfo = { + name : "PreserveScripts", + version : "1.0", + developer : "Raimund Meyer", + developer_url : "http://x-webservice.net", + c_owner : "Raimund Meyer", + sponsor : "", + sponsor_url : "", + license : "LGPL" +} +Xinha.Config.prototype.PreserveScripts = +{ + 'preservePHP' : true, + 'preserveJS' : true +} +PreserveScripts.prototype.inwardHtml = function(html) +{ + var s = this; + var c = s.editor.config.PreserveScripts; + this.storage = {}; //empty the cache + var i = 1; + html = html.replace(/\n?<\?(php)?(\s|[^\s])*?\?>\n?/ig, + function(m) + { + if ( c.preservePHP ) // if config set to false wipe out php completely, otherwise ugly fragments may remain + { + s.storage['PreserveScripts_'+i] = m; + var r = ''; + i++; + return r; + } + else + { + return ''; + } + }); + if ( c.preserveJS ) + { + html = html.replace(/\n?\n?/g, + function(m) + { + s.storage['PreserveScripts_'+i] = m; + var r = ''; + i++; + return r; + }); + } + return html; +} + +PreserveScripts.prototype.outwardHtml = function(html) +{ + var s = this; + html = html.replace(/]*id="(PreserveScripts_\d+)"[^>]*>/g,function(m0,m1){return s.storage[m1];}); + return html; +} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/PreserveScripts/preserve-scripts.js b/ccm-core/web/assets/xinha/plugins/PreserveScripts/preserve-scripts.js deleted file mode 100644 index b8ece2455..000000000 --- a/ccm-core/web/assets/xinha/plugins/PreserveScripts/preserve-scripts.js +++ /dev/null @@ -1,41 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/PreserveScripts/preserve-scripts.js */ -function PreserveScripts(_1){ -this.editor=_1; -} -PreserveScripts._pluginInfo={name:"PreserveScripts",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"LGPL"}; -Xinha.Config.prototype.PreserveScripts={"preservePHP":true,"preserveJS":true}; -PreserveScripts.prototype.inwardHtml=function(_2){ -var s=this; -var c=s.editor.config.PreserveScripts; -this.storage={}; -var i=1; -_2=_2.replace(/\n?<\?php(\s|[^\s])*?\?>\n?/ig,function(m){ -if(c.preservePHP){ -s.storage["PreserveScripts_"+i]=m; -var r=""; -i++; -return r; -}else{ -return ""; -} -}); -if(c.preserveJS){ -_2=_2.replace(/\n?\n?/g,function(m){ -s.storage["PreserveScripts_"+i]=m; -var r=""; -i++; -return r; -}); -} -return _2; -}; -PreserveScripts.prototype.outwardHtml=function(_a){ -var s=this; -_a=_a.replace(/]*id="(PreserveScripts_\d+)"[^>]*>/g,function(m0,m1){ -return s.storage[m1]; -}); -return _a; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/QuickTag/QuickTag.js b/ccm-core/web/assets/xinha/plugins/QuickTag/QuickTag.js new file mode 100644 index 000000000..73b28d917 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/QuickTag/QuickTag.js @@ -0,0 +1,53 @@ +/*---------------------------------------*\ + Quick Tag Editor Plugin for HTMLArea-3.0 + ----------------------------------------- + author: Cau guanabara + e-mail: caugb@ibest.com.br +\*---------------------------------------*/ + +function QuickTag(editor) { + var cfg = editor.config; + var self = this; + + cfg.registerButton({ + id : "quickeditor", + tooltip : this._lc("Quick Tag Editor"), + image : editor.imgURL("ed_quicktag.gif", "QuickTag"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + cfg.addToolbarElement("quickeditor", "htmlmode", 1); +} + +QuickTag.prototype.buttonPress = function(editor) { +var self = this; +var sel = editor.getSelectedHTML().replace(/(<[^>]*>| |\n|\r)/g,""); +var param = new Object(); +param.editor = editor; + + if(/\w/.test(sel)) + editor._popupDialog("plugin://QuickTag/quicktag", function(p) { self.setTag(editor, p); }, param); + else + alert(this._lc('You have to select some text')); +}; + +QuickTag.prototype.setTag = function(editor, param) { +editor.surroundHTML(param.tagopen,param.tagclose); +}; + +QuickTag._pluginInfo = { +name : "QuickTag", +version : "1.0 - beta", +developer : "Cau Guanabara", +developer_url : "mailto:caugb@ibest.com.br", +c_owner : "Cau Guanabara", +sponsor : "Independent production", +sponsor_url : "http://www.netflash.com.br/gb/HA3-rc1/examples/quick-tag.html", +license : "htmlArea" +}; + +QuickTag.prototype._lc = function(string) { + return Xinha._lc(string, 'QuickTag'); +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/QuickTag/quick-tag.js b/ccm-core/web/assets/xinha/plugins/QuickTag/quick-tag.js deleted file mode 100644 index 01191e57c..000000000 --- a/ccm-core/web/assets/xinha/plugins/QuickTag/quick-tag.js +++ /dev/null @@ -1,32 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/QuickTag/quick-tag.js */ -function QuickTag(_1){ -var _2=_1.config; -var _3=this; -_2.registerButton({id:"quickeditor",tooltip:this._lc("Quick Tag Editor"),image:_1.imgURL("ed_quicktag.gif","QuickTag"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("quickeditor","htmlmode",1); -} -QuickTag.prototype.buttonPress=function(_5){ -var _6=this; -var _7=_5.getSelectedHTML().replace(/(<[^>]*>| |\n|\r)/g,""); -var _8=new Object(); -_8.editor=_5; -if(/\w/.test(_7)){ -_5._popupDialog("plugin://QuickTag/quicktag",function(p){ -_6.setTag(_5,p); -},_8); -}else{ -alert(this._lc("You have to select some text")); -} -}; -QuickTag.prototype.setTag=function(_a,_b){ -_a.surroundHTML(_b.tagopen,_b.tagclose); -}; -QuickTag._pluginInfo={name:"QuickTag",version:"1.0 - beta",developer:"Cau Guanabara",developer_url:"mailto:caugb@ibest.com.br",c_owner:"Cau Guanabara",sponsor:"Independent production",sponsor_url:"http://www.netflash.com.br/gb/HA3-rc1/examples/quick-tag.html",license:"htmlArea"}; -QuickTag.prototype._lc=function(_c){ -return Xinha._lc(_c,"QuickTag"); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js b/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js index 8b42dd8f1..229bcada9 100644 --- a/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js +++ b/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js @@ -1,30 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/QuickTag/tag-lib.js */ -var allTags={"a":"a","a (full)":"a href=\"\" target=\"\"","address":"address","b":"b","big":"big","blockquote":"blockquote","code":"code","div":"div","em":"em","fieldset":"fieldset","font":"font","font (full)":"font face=\"\" size=\"\" color=\"\"","h1":"h1","h2":"h2","h3":"h3","h4":"h4","h5":"h5","h6":"h6","i":"i","legend":"legend","li":"li","ol":"ol","ul":"ul","p":"p","pre":"pre","small":"small","span":"span","strong":"strong","sub":"sub","sup":"sup","table":"table"}; -var tagLib={"a":true,"div":true,"font":true,"h1":true,"h2":true,"h3":true,"h4":true,"h5":true,"h6":true,"p":true,"table":true}; -var subTagLib={"table":{"op":"
    ","cl":"
    ",cl:"
    - + - - + +
    Enable automatic replacements
    Convert all quotes and dashes in the current documentConvert all quotes and dashes in the current document
    -
    - - -
    -
    \ No newline at end of file + +
    + +
    diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/img/SmartReplace.svg b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/SmartReplace.svg new file mode 100644 index 000000000..09818163a --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/SmartReplace.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.gif b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.gif deleted file mode 100755 index 5cbb0b6bb..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.png b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.png new file mode 100644 index 000000000..961ae4536 Binary files /dev/null and b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.png differ diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/lang/fr.js b/ccm-core/web/assets/xinha/plugins/SmartReplace/lang/fr.js new file mode 100644 index 000000000..bdc06ecf8 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/lang/fr.js @@ -0,0 +1,13 @@ +// I18N constants +// LANG: "fr", ENCODING: UTF-8 +{ + "SmartReplace Settings" : "Paramètres SmartReplace", + "Enable automatic replacements" : "Activer le remplacement automatique", + "Convert all quotes and dashes in the current document": "Convertir tous les guillemets et tirets dans le document actuel", + + "OpeningDoubleQuotes": "»", + "ClosingDoubleQuotes": "«", + "OpeningSingleQuote": "", + "ClosingSingleQuote": "" + +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/smart-replace.js b/ccm-core/web/assets/xinha/plugins/SmartReplace/smart-replace.js deleted file mode 100644 index 10247e30b..000000000 --- a/ccm-core/web/assets/xinha/plugins/SmartReplace/smart-replace.js +++ /dev/null @@ -1,249 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SmartReplace/smart-replace.js */ -function SmartReplace(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"smartreplace",tooltip:this._lc("SmartReplace"),image:Xinha.getPluginDir("SmartReplace")+"/img/smartquotes.gif",textMode:false,action:function(e,_5,_6){ -_3.buttonPress(null,_6); -}}); -_2.addToolbarElement("smartreplace","htmlmode",1); -} -SmartReplace._pluginInfo={name:"SmartReplace",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"LGPL"}; -SmartReplace.prototype._lc=function(_7){ -return Xinha._lc(_7,"SmartReplace"); -}; -Xinha.Config.prototype.SmartReplace={"defaultActive":true,"quotes":null}; -SmartReplace.prototype.toggleActivity=function(_8){ -if(typeof _8!="undefined"){ -this.active=_8; -}else{ -this.active=this.active?false:true; -} -this.editor._toolbarObjects.smartreplace.state("active",this.active); -}; -SmartReplace.prototype.onUpdateToolbar=function(){ -this.editor._toolbarObjects.smartreplace.state("active",this.active); -}; -SmartReplace.prototype.onGenerate=function(){ -this.active=this.editor.config.SmartReplace.defaultActive; -this.editor._toolbarObjects.smartreplace.state("active",this.active); -var _9=this; -Xinha._addEvent(_9.editor._doc,"keypress",function(_a){ -return _9.keyEvent(Xinha.is_ie?_9.editor._iframe.contentWindow.event:_a); -}); -var _b=this.editor.config.SmartReplace.quotes; -if(_b&&typeof _b=="object"){ -this.openingQuotes=_b[0]; -this.closingQuotes=_b[1]; -this.openingQuote=_b[2]; -this.closingQuote=_b[3]; -}else{ -this.openingQuotes=this._lc("OpeningDoubleQuotes"); -this.closingQuote=this._lc("ClosingSingleQuote"); -this.closingQuotes=this._lc("ClosingDoubleQuotes"); -this.openingQuote=this._lc("OpeningSingleQuote"); -} -if(this.openingQuotes=="OpeningDoubleQuotes"){ -this.openingQuotes=String.fromCharCode(8220); -this.closingQuotes=String.fromCharCode(8221); -this.openingQuote=String.fromCharCode(8216); -this.closingQuote=String.fromCharCode(8217); -} -}; -SmartReplace.prototype.keyEvent=function(ev){ -if(!this.active){ -return true; -} -var _d=this.editor; -var _e=Xinha.is_ie?ev.keyCode:ev.which; -var _f=String.fromCharCode(_e); -if(_f=="\""||_f=="'"){ -Xinha._stopEvent(ev); -return this.smartQuotes(_f); -} -if(_e==32){ -return this.smartReplace(ev,2,/^\s-/," \ufffd\ufffd\ufffd",false); -} -if(_f=="."){ -return this.smartReplace(ev,2,/\.\./,"\ufffd\ufffd\ufffd",true); -} -return true; -}; -SmartReplace.prototype.smartQuotes=function(_10){ -if(_10=="'"){ -var _11=this.openingQuote; -var _12=this.closingQuote; -}else{ -var _11=this.openingQuotes; -var _12=this.closingQuotes; -} -var _13=this.editor; -var sel=_13.getSelection(); -if(Xinha.is_ie){ -var r=_13.createRange(sel); -if(r.text!==""){ -r.text=""; -} -r.moveStart("character",-1); -if(r.text.match(/\S/)){ -r.moveStart("character",+1); -r.text=_12; -}else{ -r.moveStart("character",+1); -r.text=_11; -} -}else{ -var r=_13.createRange(sel); -if(!r.collapsed){ -_13.insertNodeAtSelection(document.createTextNode("")); -} -if(r.startOffset>0){ -r.setStart(r.startContainer,r.startOffset-1); -} -if(r.toString().match(/[^\s\xA0]/)){ -r.collapse(false); -_13.insertNodeAtSelection(document.createTextNode(_12)); -}else{ -_13.insertNodeAtSelection(document.createTextNode(_11)); -} -_13.getSelection().collapseToEnd(); -} -return false; -}; -SmartReplace.prototype.smartReplace=function(ev,_17,re,_19,_1a){ -var _1b=this.editor; -var sel=this.editor.getSelection(); -var r=this.editor.createRange(sel); -if(Xinha.is_ie){ -r.moveStart("character",-_17); -if(r.text.match(re)){ -r.text=_19; -if(_1a){ -Xinha._stopEvent(ev); -return false; -} -} -}else{ -if(r.startOffset>1){ -r.setStart(r.startContainer,r.startOffset-_17); -} -if(r.toString().match(re)){ -this.editor.insertNodeAtSelection(document.createTextNode(_19)); -r.deleteContents(); -r.collapse(true); -if(_1a){ -Xinha._stopEvent(ev); -return false; -} -} -_1b.getSelection().collapseToEnd(); -} -return true; -}; -SmartReplace.prototype.replaceAll=function(){ -var _1e=[""",String.fromCharCode(8220),String.fromCharCode(8221),String.fromCharCode(8222),String.fromCharCode(187),String.fromCharCode(171)]; -var _1f=["'",String.fromCharCode(8216),String.fromCharCode(8217),String.fromCharCode(8218),String.fromCharCode(8250),String.fromCharCode(8249)]; -var _20=this.editor.getHTML(); -var _21=new RegExp("(\\s|^|>)("+_1e.join("|")+")(\\S)","g"); -_20=_20.replace(_21,"$1"+this.openingQuotes+"$3"); -var _22=new RegExp("(\\s|^|>)("+_1f.join("|")+")(\\S)","g"); -_20=_20.replace(_22,"$1"+this.openingQuote+"$3"); -var _23=new RegExp("(\\S)("+_1e.join("|")+")","g"); -_20=_20.replace(_23,"$1"+this.closingQuotes); -var _24=new RegExp("(\\S)("+_1f.join("|")+")","g"); -_20=_20.replace(_24,"$1"+this.closingQuote); -var _25=new RegExp("( | )(-)( | )","g"); -_20=_20.replace(_25," "+String.fromCharCode(8211)+" "); -this.editor.setHTML(_20); -}; -SmartReplace.prototype.dialog=function(){ -var _26=this; -var _27=function(_28){ -_26.toggleActivity(_28.enable); -if(_28.convert){ -_26.replaceAll(); -} -}; -var _29=this; -Dialog(Xinha.getPluginDir("SmartReplace")+"/popups/dialog.html",_27,_29); -}; -SmartReplace.prototype.buttonPress=function(_2a,obj){ -var _2c=this; -if(this._dialog.dialog.rootElem.style.display!="none"){ -return this._dialog.hide(); -} -var _2d=function(){ -var _2e=_2c._dialog.hide(); -_2c.toggleActivity((_2e.enable)?true:false); -if(_2e.convert){ -_2c.replaceAll(); -_2c._dialog.dialog.getElementById("convert").checked=false; -} -}; -var _2f={enable:_2c.active?"on":"",convert:""}; -this._dialog.show(_2f,_2d); -}; -SmartReplace.prototype.onGenerateOnce=function(){ -if(!this._dialog){ -this._dialog=new SmartReplace.Dialog(this); -} -}; -SmartReplace.Dialog=function(_30){ -this.Dialog_nxtid=0; -this.mainPluginObject=_30; -this.id={}; -this.ready=false; -this.files=false; -this.html=false; -this.dialog=false; -this._prepareDialog(); -}; -SmartReplace.Dialog.prototype._prepareDialog=function(){ -var _31=this; -var _32=this.mainPluginObject.editor; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("SmartReplace")+"/dialog.html",function(_33){ -_31.html=_33; -_31._prepareDialog(); -}); -return; -} -this.dialog=new Xinha.Dialog(_32,this.html,"SmartReplace"); -this.ready=true; -}; -SmartReplace.Dialog.prototype._lc=SmartReplace.prototype._lc; -SmartReplace.Dialog.prototype.show=function(_34,ok,_36){ -if(!this.ready){ -var _37=this; -window.setTimeout(function(){ -_37.show(_34,ok,_36); -},100); -return; -} -var _38=this.dialog; -var _37=this; -if(ok){ -this.dialog.getElementById("ok").onclick=ok; -}else{ -this.dialog.getElementById("ok").onclick=function(){ -_37.hide(); -}; -} -if(_36){ -this.dialog.getElementById("cancel").onclick=_36; -}else{ -this.dialog.getElementById("cancel").onclick=function(){ -_37.hide(); -}; -} -this.mainPluginObject.editor.disableToolbar(["fullscreen","smartreplace"]); -this.dialog.show(_34); -this.dialog.onresize(); -}; -SmartReplace.Dialog.prototype.hide=function(){ -this.mainPluginObject.editor.enableToolbar(); -return this.dialog.hide(); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/README b/ccm-core/web/assets/xinha/plugins/SpellChecker/README deleted file mode 100755 index 9b5a2c86f..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/README +++ /dev/null @@ -1,8 +0,0 @@ -ExecCGI Note: -If you intend to use the perl (.cgi) backend then you will need to have the ExecCGI option enabled for this directory (if you are using Apache), you may be able to do this by adding a file called .htaccess in this directory, with the below contents. - -## EXAMPLE .htaccess -Options +ExecCGI -#################### - -It is however recommended that you use the PHP backend where possible. \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/aspell_setup.php b/ccm-core/web/assets/xinha/plugins/SpellChecker/aspell_setup.php deleted file mode 100755 index c13a5af82..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/aspell_setup.php +++ /dev/null @@ -1,123 +0,0 @@ - (int)$aVer[1], 'minor' => (int)$aVer[2], 'release' => (int)@$aVer[3]); - if($aVer['major'] >= 0 && $aVer['minor'] >= 60) - { - $aspell_args .= ' -H --encoding=utf-8'; - } - elseif(preg_match('/--encoding/', shell_exec('aspell 2>&1'))) - { - $aspell_args .= ' --mode=none --add-filter=sgml --encoding=utf-8'; - } - else - { - $aspell_args .= ' --mode=none --add-filter=sgml'; - } - - // Personal dictionaries - $p_dicts_path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'personal_dicts'; - - if(isset($_REQUEST['p_dicts_path']) && file_exists($_REQUEST['p_dicts_path']) && is_writable($_REQUEST['p_dicts_path'])) - { - if(!isset($_REQUEST['p_dicts_name'])) - { - if(isset($_COOKIE['SpellChecker_p_dicts_name'])) - { - $_REQUEST['p_dicts_name'] = $_COOKIE['SpellChecker_p_dicts_name']; - } - else - { - $_REQUEST['p_dicts_name'] = uniqid('dict'); - setcookie('SpellChecker_p_dicts_name', $_REQUEST['p_dicts_name'], time() + 60*60*24*365*10); - } - } - $p_dict_path = $_REQUEST['p_dicts_path'] . DIRECTORY_SEPARATOR . preg_replace('/[^a-z0-9_]/i', '', $_REQUEST['p_dicts_name']); - - if(!file_exists($p_dict_path)) - { - // since there is a single directory for all users this could end up containing - // quite a few subdirectories. To prevent a DOS situation we'll limit the - // total directories created to 2000 (arbitrary). Adjust to suit your installation. - - $count = 0; - - if( $dir = @opendir( $p_dicts_path ) ) - { - - while( FALSE !== ($file = readdir($dir)) ) - { - $count++; - } - } - - // TODO: make this a config value. - - if ( $count > 2000 ) - { - - // either very heavy use or a DOS attempt - - die(); - - } - - mkdir($p_dict_path); - chmod($p_dict_path, 02770); - } - - if(file_exists($p_dict_path) && is_writable($p_dict_path)) - { - // Good To Go! - $aspell_args .= ' --home-dir=' . $p_dict_path ; - } - } - -// as an additional precaution check the aspell_args for illegal -// characters - $aspell_args = preg_replace( "/[|><;\$]+/", '', $aspell_args ); - $aspelldictionaries = "$aspell dump dicts"; - $aspellcommand = "$aspell $aspell_args < $temptext"; - - -?> diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/img/he-spell-check.gif b/ccm-core/web/assets/xinha/plugins/SpellChecker/img/he-spell-check.gif deleted file mode 100755 index 8015d2ff2..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/SpellChecker/img/he-spell-check.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/img/spell-check.gif b/ccm-core/web/assets/xinha/plugins/SpellChecker/img/spell-check.gif deleted file mode 100755 index fce009a55..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/SpellChecker/img/spell-check.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/cz.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/cz.js deleted file mode 100644 index 0b345115d..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/cz.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "cz", ENCODING: UTF-8 -// Author: Jiri Löw, -{ - "Please confirm that you want to open this link": "Prosím potvrďte otevření tohoto odkazu", - "Cancel": "Zrušit", - "Dictionary": "Slovník", - "Finished list of mispelled words": "Dokončen seznam chybných slov", - "I will open it in a new page.": "Bude otevřen jej v nové stránce.", - "Ignore all": "Ignorovat vše", - "Ignore": "Ignorovat", - "No mispelled words found with the selected dictionary.": "Podle zvoleného slovníku nebyla nalezena žádná chybná slova.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Kontrola správnosti slov dokončena, nebyla nalezena žádná chybná slova. Ukončování ...", - "OK": "OK", - "Original word": "Původní slovo", - "Please wait. Calling spell checker.": "Prosím čekejte. Komunikuace s kontrolou správnosti slov.", - "Please wait: changing dictionary to": "Prosím čekejte: změna adresáře na", - "This will drop changes and quit spell checker. Please confirm.": "Změny budou zrušeny a kontrola správnosti slov ukončena. Prosím potvrďte.", - "Re-check": "Překontrolovat", - "Replace all": "Zaměnit všechno", - "Replace with": "Zaměnit za", - "Replace": "Zaměnit", - "Spell-check": "Kontrola správnosti slov", - "Suggestions": "Doporučení", - "One moment...": "strpení prosím ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/da.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/da.js deleted file mode 100644 index d6f1aadfb..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/da.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "da", ENCODING: UTF-8 -// Author: Steen SÞnderup, -{ - "Please confirm that you want to open this link": "Vil du fÞlge dette link?", - "Cancel": "Anuler", - "Dictionary": "Ordbog", - "Finished list of mispelled words": "Listen med stavefejl er gennemgÃ¥et", - "I will open it in a new page.": "Jeg vil Ã¥bne det i en ny side.", - "Ignore all": "Ignorer alle", - "Ignore": "Ignorer", - "No mispelled words found with the selected dictionary.": "Der blev ikke fundet nogle stavefejl med den valgte ordbog.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Stavekontrollen er gennemfÞrt, der blev ikke fundet nogle stavefejl. Lukker...", - "OK": "OK", - "Original word": "Oprindeligt ord", - "Please wait. Calling spell checker.": "Vent venligst. Henter stavekontrol.", - "Please wait: changing dictionary to": "Vent venligst: skifter ordbog til", - "This will drop changes and quit spell checker. Please confirm.": "Alle dine Êndringer vil gÃ¥ tabt, vil du fortsÊtte?", - "Re-check": "Tjek igen", - "Replace all": "Erstat alle", - "Replace with": "Erstat med", - "Replace": "Erstat", - "Spell-check": "Stavekontrol", - "Suggestions": "Forslag", - "One moment...": "Vent venligst" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/de.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/de.js deleted file mode 100644 index 138dc64e6..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/de.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "en", ENCODING: UTF-8 -// Author: Broxx, -{ - "Please confirm that you want to open this link": "Wollen Sie diesen Link oeffnen", - "Cancel": "Abbrechen", - "Dictionary": "Woerterbuch", - "Finished list of mispelled words": "Liste der nicht bekannten Woerter", - "I will open it in a new page.": "Wird auf neuer Seite geoeffnet", - "Ignore all": "Alle ignorieren", - "Ignore": "Ignorieren", - "No mispelled words found with the selected dictionary.": "Keine falschen Woerter mit gewaehlten Woerterbuch gefunden", - "Spell check complete, didn't find any mispelled words. Closing now...": "Rechtsschreibpruefung wurde ohne Fehler fertiggestellt. Wird nun geschlossen...", - "OK": "OK", - "Original word": "Original Wort", - "Please wait. Calling spell checker.": "Bitte warten. Woerterbuch wird durchsucht.", - "Please wait: changing dictionary to": "Bitte warten: Woerterbuch wechseln zu", - "This will drop changes and quit spell checker. Please confirm.": "Aenderungen werden nicht uebernommen. Bitte bestaettigen.", - "Re-check": "Neuueberpruefung", - "Replace all": "Alle ersetzen", - "Replace with": "Ersetzen mit", - "Replace": "Ersetzen", - "Spell-check": "Ueberpruefung", - "Suggestions": "Vorschlag", - "One moment...": "Bitte warten..." -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/fr.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/fr.js deleted file mode 100644 index 7cece8e5b..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/fr.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Please confirm that you want to open this link": "Veuillez confirmer l'ouverture de ce lien", - "Cancel": "Annuler", - "Dictionary": "Dictionnaire", - "Finished list of mispelled words": "Liste des mots mal orthographiés", - "I will open it in a new page.": "Ouverture dans une nouvelle fenêtre", - "Ignore all": "Tout ignorer", - "Ignore": "Ignorer", - "No mispelled words found with the selected dictionary.": "Aucune erreur orthographique avec le dictionnaire sélectionné.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Vérification terminée, aucune erreur orthographique détectée. Fermeture en cours...", - "OK": "OK", - "Original word": "Mot original", - "Please wait. Calling spell checker.": "Veuillez patienter. Appel du correcteur.", - "Please wait: changing dictionary to": "Veuillez patienter. Changement du dictionnaire vers", - "This will drop changes and quit spell checker. Please confirm.": "Ceci fermera la fenêtre et annulera les modifications. Veuillez confirmer.", - "Re-check": "Vérifier encore", - "Replace all": "Tout remplacer", - "Replace with": "Remplacer par", - "Replace": "Remplacer", - "Revert": "Annuler", - "Spell-check": "Correction", - "Suggestions": "Suggestions", - "One moment...": "Veuillez patienter" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/he.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/he.js deleted file mode 100644 index df0ddd938..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/he.js +++ /dev/null @@ -1,27 +0,0 @@ -// I18N constants -// LANG: "en", ENCODING: UTF-8 -// Author: Mihai Bazon, http://dynarch.com/mishoo -{ - "Please confirm that you want to open this link": "אנא אשר שברצונך לפתוח קישור זה", - "Cancel": "ביטול", - "Dictionary": "מילון", - "Finished list of mispelled words": "הסתיימה רשימת המילים המאויתות באופן שגוי", - "I will open it in a new page.": "אני אפתח את זה בחלון חדש.", - "Ignore all": "התעלם מהכל", - "Ignore": "התעלם", - "No mispelled words found with the selected dictionary.": "לא נמצאו מילים מאויתות באופן שגוי עם המילון הנבחר.", - "Spell check complete, didn't find any mispelled words. Closing now...": "בדיקת האיות נסתיימה, לא נמצאו מילים מאויתות באופן שגוי. נסגר כעת...", - "OK": "אישור", - "Original word": "המילה המקורית", - "Please wait. Calling spell checker.": "אנא המתן. קורא לבודק איות.", - "Please wait: changing dictionary to": "אנא המתן: מחליף מילון ל-", - "This will drop changes and quit spell checker. Please confirm.": "זה יבטל את השינויים ויצא מבודק האיות. אנא אשר.", - "Re-check": "בדוק מחדש", - "Replace all": "החלף הכל", - "Replace with": "החלף ב-", - "Replace": "החלף", - "Revert": "החזר שינויים", - "Spell-check": "בדיקת איות", - "Suggestions": "הצעות", - "One moment...": "ענא המטן ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/hu.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/hu.js deleted file mode 100644 index e7e26d5b4..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/hu.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "hu", ENCODING: UTF-8 -// Author: Miklós Somogyi, -{ - "Please confirm that you want to open this link": "Megerősítés", - "Cancel": "Mégsem", - "Dictionary": "Szótár", - "Finished list of mispelled words": "A tévesztett szavak listájának vége", - "I will open it in a new page.": "Megnyitás új lapon", - "Ignore all": "Minden elvetése", - "Ignore": "Elvetés", - "No mispelled words found with the selected dictionary.": "A választott szótár szerint nincs tévesztett szó.", - "Spell check complete, didn't find any mispelled words. Closing now...": "A helyesírásellenőrzés kész, tévesztett szó nem fordult elő. Bezárás...", - "OK": "Rendben", - "Original word": "Eredeti szó", - "Please wait. Calling spell checker.": "Kis türelmet, a helyesírásellenőrző hívása folyamatban.", - "Please wait: changing dictionary to": "Kis türelmet, szótár cseréje", - "This will drop changes and quit spell checker. Please confirm.": "Kilépés a változások eldobásával. Jóváhagyja?", - "Re-check": "Újraellenőrzés", - "Replace all": "Mind cseréje", - "Replace with": "Csere a következőre:", - "Replace": "Csere", - "Spell-check": "Helyesírásellenőrzés", - "Suggestions": "Tippek", - "One moment...": "Kis türelmet ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ja.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ja.js deleted file mode 100644 index 557169326..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ja.js +++ /dev/null @@ -1,28 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Please confirm that you want to open this link": "本当にこのリンクを開きますか", - "Cancel": "中止", - "Dictionary": "辞書", - "Finished list of mispelled words": "つづり間違単語の一覧", - "I will open it in a new page.": "新しいページで開きます。", - "Ignore all": "すべて無視", - "Ignore": "無視", - "No mispelled words found with the selected dictionary.": "選択された辞書にはつづり間違い単語がありません。", - "Spell check complete, didn't find any mispelled words. Closing now...": "スペルチェックが完了しましたが、つづり間違い単語はありませんでした。すぐに閉じます...", - "OK": "OK", - "Original word": "元の単語", - "Please wait. Calling spell checker.": "しばらくお待ちください。スペルチェッカーを呼び出しています。", - "Please wait: changing dictionary to": "しばらくお待ちください: 辞書を切り替えています", - "This will drop changes and quit spell checker. Please confirm.": "変更を破棄してスペルチェッカーを終了します。よろしいいですか。", - "Re-check": "再チェック", - "Replace all": "すべて置換", - "Replace with": "これに置換", - "Replace": "置換", - "Revert": "戻す", - "Spell-check": "スペルチェック", - "Suggestions": "候補", - "One moment...": "あともう少し...", - "Info": "情報", - "Learn": "学習" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nb.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nb.js deleted file mode 100644 index 2a07646f1..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nb.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Please confirm that you want to open this link": "Ønsker du å åpne denne lenken", - "Cancel": "Avbryt", - "Dictionary": "Ordliste", - "Finished list of mispelled words": "Ferdig med liste over feilstavede ord", - "I will open it in a new page.": "Åpnes i ny side", - "Ignore all": "Ignorer alle", - "Ignore": "Ignorer", - "No mispelled words found with the selected dictionary.": "Ingen feilstavede ord funnet med den valgte ordlisten", - "Spell check complete, didn't find any mispelled words. Closing now...": "Stavekontroll fullført, ingen feilstavede ord ble funnet, stavekontroll avsluttes.", - "OK": "OK", - "Original word": "Opprinnelig ord", - "Please wait. Calling spell checker.": "Vennligst vent, kaller opp stavekontrollprogrammet", - "Please wait: changing dictionary to": "Vennligst vent, endrer ordliste til", - "This will drop changes and quit spell checker. Please confirm.": "Dette vil droppe endringene og avbryte stavekontrollen, vennligst bekreft.", - "Re-check": "Kjør stavekontroll på nytt", - "Replace all": "Erstatt alle", - "Replace with": "Erstatt med", - "Replace": "Erstatt", - "Spell-check": "Stavekontroll", - "Suggestions": "Forslag", - "One moment...": "Et øyeblikk..." -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nl.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nl.js deleted file mode 100644 index 8b1ee921e..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nl.js +++ /dev/null @@ -1,27 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: A.H van den Broek http://www.kontaktfm.nl, tonbroek@kontaktfm.nl -{ - "Please confirm that you want to open this link": "Weet u zeker dat u deze link wilt openen?", - "Cancel": "Annuleer", - "Dictionary": "Woordenboek", - "Finished list of mispelled words": "klaar met de lijst van fouten woorden", - "I will open it in a new page.": "Ik zal het in een nieuwe pagina openen.", - "Ignore all": "alles overslaan", - "Ignore": "Overslaan", - "No mispelled words found with the selected dictionary.": "Geen fouten gevonden met dit woordenboek.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Spell checking is klaar, geen fouten gevonden. spell checking word gesloten...", - "OK": "OK", - "Original word": "Originele woord", - "Please wait. Calling spell checker.": "Even wachten. spell checker wordt geladen.", - "Please wait: changing dictionary to": "even wachten: woordenboek wordt veranderd naar", - "This will drop changes and quit spell checker. Please confirm.": "Dit zal alle veranderingen annuleren en de spell checker sluiten. Weet u het zeker?", - "Re-check": "Opnieuw", - "Replace all": "Alles vervangen", - "Replace with": "Vervangen met", - "Replace": "Vervangen", - "Revert": "Omkeren", - "Spell-check": "Spell-check", - "Suggestions": "Suggestie", - "One moment...": "Even wachten ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/pt_br.js deleted file mode 100644 index efc6ffa07..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/pt_br.js +++ /dev/null @@ -1,44 +0,0 @@ -// I18N constants -// -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation -// -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -{ - "Cancel": "Cancelar", - "Dictionary": "Dicionário", - "Finished list of mispelled words": "Finalizada lista de palavras desconhecidas", - "HTMLArea Spell Checker": "Dicionário HTMLArea", - "I will open it in a new page.": "Será aberto em uma nova página", - "Ignore": "Ignorar", - "Ignore all": "Ignorar todas", - "Info": "Informação", - "Learn": "Aprender", - "No mispelled words found with the selected dictionary.": "Nenhuma palavra desconhecida foi encontrada no dicionário selecionado", - "OK": "OK", - "Original word": "Palavra Original", - "Please confirm that you want to open this link": "Por favor, confirme se deseja abrir este link", - "Please wait. Calling spell checker.": "Por favor, aguarde. Chamando dicionário.", - "Please wait: changing dictionary to": "Por favor, aguarde: mudando dicionário para", - "Re-check": "Re-verificar", - "Replace": "Substituir", - "Replace all": "Substituir tudo", - "Replace with": "Substituir com", - "Revert": "Reverter", - "Spell Checker": "Dicionário", - "Spell-check": "Dicionário", - "Suggestions": "Sugestões", - "This will drop changes and quit spell checker. Please confirm.": "Isso desfará as mudanças e finalizará o dicionário. Por favor, confirme.", - "pliz weit ;-)": "Por favor, aguarde...", - "One moment...": "Um momento..." -} diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ro.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ro.js deleted file mode 100644 index 9a823a78a..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ro.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "ro", ENCODING: UTF-8 -// Author: Mihai Bazon, http://dynarch.com/mishoo -{ - "Please confirm that you want to open this link": "Vă rog confirmaţi că vreţi să deschideţi acest link", - "Cancel": "Anulează", - "Dictionary": "Dicţionar", - "Finished list of mispelled words": "Am terminat lista de cuvinte greşite", - "I will open it in a new page.": "O voi deschide într-o altă fereastră.", - "Ignore all": "Ignoră toate", - "Ignore": "Ignoră", - "No mispelled words found with the selected dictionary.": "Nu am găsit nici un cuvânt greşit cu acest dicţionar.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Am terminat, nu am detectat nici o greşeală. Acum închid fereastra...", - "OK": "OK", - "Original word": "Cuvântul original", - "Please wait. Calling spell checker.": "Vă rog aşteptaţi. Apelez spell-checker-ul.", - "Please wait: changing dictionary to": "Vă rog aşteptaţi. Schimb dicţionarul cu", - "This will drop changes and quit spell checker. Please confirm.": "Doriţi să renunţaţi la modificări şi să închid spell-checker-ul?", - "Re-check": "Scanează", - "Replace all": "Înlocuieşte toate", - "Replace with": "Înlocuieşte cu", - "Replace": "Înlocuieşte", - "Spell-check": "Detectează greşeli", - "Suggestions": "Sugestii", - "One moment...": "va rog ashteptatzi ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/readme-tech.html b/ccm-core/web/assets/xinha/plugins/SpellChecker/readme-tech.html deleted file mode 100755 index 127d6baf9..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/readme-tech.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - HTMLArea Spell Checker - - - -

    HTMLArea Spell Checker

    - -

    The HTMLArea Spell Checker subsystem consists of the following - files:

    - -
      - -
    • spell-checker.js — the spell checker plugin interface for - HTMLArea
    • - -
    • spell-checker-ui.html — the HTML code for the user - interface
    • - -
    • spell-checker-ui.js — functionality of the user - interface
    • - -
    • spell-checker-logic.cgi — Perl CGI script that checks a text - given through POST for spelling errors
    • - -
    • spell-checker-style.css — style for mispelled words
    • - -
    • lang/en.js — main language file (English).
    • - -
    - -

    Process overview

    - -

    - When an end-user clicks the "spell-check" button in the HTMLArea - editor, a new window is opened with the URL of "spell-check-ui.html". - This window initializes itself with the text found in the editor (uses - window.opener.SpellChecker.editor global variable) and it - submits the text to the server-side script "spell-check-logic.cgi". - The target of the FORM is an inline frame which is used both to - display the text and correcting. -

    - -

    - Further, spell-check-logic.cgi calls Aspell for each portion of plain - text found in the given HTML. It rebuilds an HTML file that contains - clear marks of which words are incorrect, along with suggestions for - each of them. This file is then loaded in the inline frame. Upon - loading, a JavaScript function from "spell-check-ui.js" is called. - This function will retrieve all mispelled words from the HTML of the - iframe and will setup the user interface so that it allows correction. -

    - -

    The server-side script (spell-check-logic.cgi)

    - -

    - Unicode safety — the program is - Unicode safe. HTML entities are expanded into their corresponding - Unicode characters. These characters will be matched as part of the - word passed to Aspell. All texts passed to Aspell are in Unicode - (when appropriate). However, Aspell seems to not support Unicode - yet (thread concerning Aspell and Unicode). - This mean that words containing Unicode - characters that are not in 0..255 are likely to be reported as "mispelled" by Aspell. -

    - -

    - Update: though I've never seen it mentioned - anywhere, it looks that Aspell does, in fact, speak - Unicode. Or else, maybe Text::Aspell does - transparent conversion; anyway, this new version of our - SpellChecker plugin is, as tests show so far, fully - Unicode-safe... well, probably the only freeware - Web-based spell-checker which happens to have Unicode support. -

    - -

    - The Perl Unicode manual (man perluniintro) states: -

    - -
    - - Starting from Perl 5.6.0, Perl has had the capacity to handle Unicode - natively. Perl 5.8.0, however, is the first recommended release for - serious Unicode work. The maintenance release 5.6.1 fixed many of the - problems of the initial Unicode implementation, but for example regular - expressions still do not work with Unicode in 5.6.1. - -
    - -

    In other words, do not assume that this script is - Unicode-safe on Perl interpreters older than 5.8.0.

    - -

    The following Perl modules are required:

    - - - -

    Of these, only Text::Aspell might need to be installed manually. The - others are likely to be available by default in most Perl distributions.

    - -
    -
    Mihai Bazon
    - - Last modified: Fri Jan 30 19:14:11 EET 2004 - - - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.cgi b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.cgi deleted file mode 100755 index dbf40f8f7..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.cgi +++ /dev/null @@ -1,210 +0,0 @@ -#! /usr/bin/perl -w - -# Spell Checker Plugin for HTMLArea-3.0 -# Sponsored by www.americanbible.org -# Implementation by Mihai Bazon, http://dynarch.com/mishoo/ -# -# (c) dynarch.com 2003. -# Distributed under the same terms as HTMLArea itself. -# This notice MUST stay intact for use (see license.txt). -# -# $Id:spell-check-logic.cgi 21 2005-02-19 05:23:56Z gogo $ - -use strict; -use utf8; -use Encode; -use Text::Aspell; -use XML::DOM; -use CGI; - -my $TIMER_start = undef; -eval { - use Time::HiRes qw( gettimeofday tv_interval ); - $TIMER_start = [gettimeofday()]; -}; -# use POSIX qw( locale_h ); - -binmode STDIN, ':utf8'; -binmode STDOUT, ':utf8'; - -my $debug = 0; - -my $speller = new Text::Aspell; -my $cgi = new CGI; - -my $total_words = 0; -my $total_mispelled = 0; -my $total_suggestions = 0; -my $total_words_suggested = 0; - -# FIXME: report a nice error... -die "Can't create speller!" unless $speller; - -my $dict = $cgi->param('dictionary') || $cgi->cookie('dictionary') || 'en'; - -# add configurable option for this -$speller->set_option('lang', $dict); -$speller->set_option('encoding', 'UTF-8'); -#setlocale(LC_CTYPE, $dict); - -# ultra, fast, normal, bad-spellers -# bad-spellers seems to cause segmentation fault -$speller->set_option('sug-mode', 'normal'); - -my %suggested_words = (); -keys %suggested_words = 128; - -my $file_content = decode('UTF-8', $cgi->param('content')); -$file_content = parse_with_dom($file_content); - -my $ck_dictionary = $cgi->cookie(-name => 'dictionary', - -value => $dict, - -expires => '+30d'); - -print $cgi->header(-type => 'text/html; charset: utf-8', - -cookie => $ck_dictionary); - -my $js_suggested_words = make_js_hash(\%suggested_words); -my $js_spellcheck_info = make_js_hash_from_array - ([ - [ 'Total words' , $total_words ], - [ 'Mispelled words' , $total_mispelled . ' in dictionary \"'.$dict.'\"' ], - [ 'Total suggestions' , $total_suggestions ], - [ 'Total words suggested' , $total_words_suggested ], - [ 'Spell-checked in' , defined $TIMER_start ? (tv_interval($TIMER_start) . ' seconds') : 'n/a' ] - ]); - -print qq^ - - - - - - -^; - -print $file_content; -if ($cgi->param('init') eq '1') { - my @dicts = $speller->dictionary_info(); - my $dictionaries = ''; - foreach my $i (@dicts) { - next if $i->{jargon}; - my $name = $i->{name}; - if ($name eq $dict) { - $name = '@'.$name; - } - $dictionaries .= ',' . $name; - } - $dictionaries =~ s/^,//; - print qq^
    $dictionaries
    ^; -} - -print ''; - -# Perl is beautiful. -sub spellcheck { - my $node = shift; - my $doc = $node->getOwnerDocument; - my $check = sub { # called for each word in the text - # input is in UTF-8 - my $word = shift; - my $already_suggested = defined $suggested_words{$word}; - ++$total_words; - if (!$already_suggested && $speller->check($word)) { - return undef; - } else { - # we should have suggestions; give them back to browser in UTF-8 - ++$total_mispelled; - if (!$already_suggested) { - # compute suggestions for this word - my @suggestions = $speller->suggest($word); - my $suggestions = decode($speller->get_option('encoding'), join(',', @suggestions)); - $suggested_words{$word} = $suggestions; - ++$total_suggestions; - $total_words_suggested += scalar @suggestions; - } - # HA-spellcheck-error - my $err = $doc->createElement('span'); - $err->setAttribute('class', 'HA-spellcheck-error'); - my $tmp = $doc->createTextNode; - $tmp->setNodeValue($word); - $err->appendChild($tmp); - return $err; - } - }; - while ($node->getNodeValue =~ /([\p{IsWord}']+)/) { - my $word = $1; - my $before = $`; - my $after = $'; - my $df = &$check($word); - if (!$df) { - $before .= $word; - } - { - my $parent = $node->getParentNode; - my $n1 = $doc->createTextNode; - $n1->setNodeValue($before); - $parent->insertBefore($n1, $node); - $parent->insertBefore($df, $node) if $df; - $node->setNodeValue($after); - } - } -}; - -sub check_inner_text { - my $node = shift; - my $text = ''; - for (my $i = $node->getFirstChild; defined $i; $i = $i->getNextSibling) { - if ($i->getNodeType == TEXT_NODE) { - spellcheck($i); - } - } -}; - -sub parse_with_dom { - my ($text) = @_; - $text = ''.$text.''; - - my $parser = new XML::DOM::Parser; - if ($debug) { - open(FOO, '>:utf8', '/tmp/foo'); - print FOO $text; - close FOO; - } - my $doc = $parser->parse($text); - my $nodes = $doc->getElementsByTagName('*'); - my $n = $nodes->getLength; - - for (my $i = 0; $i < $n; ++$i) { - my $node = $nodes->item($i); - if ($node->getNodeType == ELEMENT_NODE) { - check_inner_text($node); - } - } - - my $ret = $doc->toString; - $ret =~ s{(.*)}{$1}sg; - return $ret; -}; - -sub make_js_hash { - my ($hash) = @_; - my $js_hash = ''; - while (my ($key, $val) = each %$hash) { - $js_hash .= ',' if $js_hash; - $js_hash .= '"'.$key.'":"'.$val.'"'; - } - return $js_hash; -}; - -sub make_js_hash_from_array { - my ($array) = @_; - my $js_hash = ''; - foreach my $i (@$array) { - $js_hash .= ',' if $js_hash; - $js_hash .= '"'.$i->[0].'":"'.$i->[1].'"'; - } - return $js_hash; -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.php b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.php deleted file mode 100755 index e1e5e608d..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.php +++ /dev/null @@ -1,171 +0,0 @@ - - - - -'; - -// Lets define some values outside the condition below, in case we have an empty -// document. -$textarray = array(); -$varlines = ''; - -echo ' -'; - -foreach ($textarray as $key=>$value) -{ - echo $value; -} - -$dictionaries = str_replace(chr(10),",", shell_exec($aspelldictionaries)); -if(ereg(",$",$dictionaries)) - $dictionaries = ereg_replace(",$","",$dictionaries); -echo '
    '.$dictionaries.'
    '; - -echo ''; -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-savedicts.php b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-savedicts.php deleted file mode 100755 index cb2d28156..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-savedicts.php +++ /dev/null @@ -1,38 +0,0 @@ -&1'); - unlink($temptext); - } -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-style.css b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-style.css deleted file mode 100755 index 1408ba062..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-style.css +++ /dev/null @@ -1,10 +0,0 @@ -.HA-spellcheck-error { border-bottom: 1px dashed #f00; cursor: default; } -.HA-spellcheck-same { background-color: #cef; color: #000; } -.HA-spellcheck-hover { background-color: #433; color: white; } -.HA-spellcheck-fixed { border-bottom: 1px dashed #0b8; } -.HA-spellcheck-current { background-color: #9be; color: #000; } -.HA-spellcheck-suggestions { display: none; } - -#HA-spellcheck-dictionaries { display: none; } - -a:link, a:visited { color: #55e; } diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.html b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.html deleted file mode 100755 index 499da9764..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - Spell Checker - - - - - - - - - -
    - - - - - - - - - - - - - -
    -
    Dictionary - - -
    - Please wait. Calling spell checker. -
    -
    - -
    -
    Original word
    -
    pliz weit ;-)
    -
    - -
    -
    Replace with
    -
    -
    -
    -
    - -
    -
    -
    Suggestions
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    - - - - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.js deleted file mode 100644 index d19ccf048..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.js +++ /dev/null @@ -1,394 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SpellChecker/spell-check-ui.js */ -var SpellChecker=window.opener.SpellChecker; -var Xinha=window.opener.Xinha; -var _editor_url=window.opener._editor_url; -var is_ie=Xinha.is_ie; -var editor=SpellChecker.editor; -var frame=null; -var currentElement=null; -var wrongWords=null; -var modified=false; -var allWords={}; -var fixedWords=[]; -var suggested_words={}; -var to_p_dict=[]; -var to_r_list=[]; -function _lc(_1){ -return Xinha._lc(_1,"SpellChecker"); -} -function makeCleanDoc(_2){ -var _3=wrongWords.concat(fixedWords); -for(var i=_3.length;--i>=0;){ -var el=_3[i]; -if(!(_2&&/HA-spellcheck-fixed/.test(el.className))){ -if(el.firstChild){ -el.parentNode.insertBefore(el.firstChild,el); -} -el.parentNode.removeChild(el); -}else{ -el.className="HA-spellcheck-fixed"; -} -} -return Xinha.getHTML(frame.contentWindow.document.body,true,editor); -} -function recheckClicked(){ -document.getElementById("status").innerHTML=_lc("Please wait: changing dictionary to")+": \""+document.getElementById("f_dictionary").value+"\"."; -var _6=document.getElementById("f_content"); -_6.value=makeCleanDoc(true); -_6.form.submit(); -} -function saveClicked(){ -if(modified){ -editor.setHTML(makeCleanDoc(false)); -} -if(to_p_dict.length||to_r_list.length&&editor.config.SpellChecker.backend=="php"){ -var _7={}; -for(var i=0;i=0;){ -var el=els[j]; -if(el.childNodes.length==1&&/\S/.test(el.innerHTML)){ -var txt=el.innerHTML; -el.innerHTML=_lc(txt); -} -} -} -} -function initDocument(){ -internationalizeWindow(); -modified=false; -frame=document.getElementById("i_framecontent"); -var _1a=document.getElementById("f_content"); -_1a.value=Xinha.getHTML(editor._doc.body,false,editor); -var _1b=document.getElementById("f_dictionary"); -if(typeof editor.config.SpellChecker.defaultDictionary!="undefined"&&editor.config.SpellChecker.defaultDictionary!=""){ -_1b.value=editor.config.SpellChecker.defaultDictionary; -}else{ -_1b.value="en_GB"; -} -if(editor.config.SpellChecker.backend=="php"){ -_1a.form.action=Xinha.getPluginDir("SpellChecker")+"/spell-check-logic.php"; -} -if(editor.config.SpellChecker.utf8_to_entities){ -document.getElementById("utf8_to_entities").value=1; -}else{ -document.getElementById("utf8_to_entities").value=0; -} -_1a.form.submit(); -document.getElementById("f_init").value="0"; -var _1c=document.getElementById("v_suggestions"); -_1c.onchange=function(){ -document.getElementById("v_replacement").value=this.value; -}; -if(is_ie){ -_1c.attachEvent("ondblclick",replaceClicked); -}else{ -_1c.addEventListener("dblclick",replaceClicked,true); -} -document.getElementById("b_replace").onclick=replaceClicked; -if(editor.config.SpellChecker.backend=="php"){ -document.getElementById("b_learn").onclick=learnClicked; -}else{ -document.getElementById("b_learn").parentNode.removeChild(document.getElementById("b_learn")); -} -document.getElementById("b_replall").onclick=replaceAllClicked; -document.getElementById("b_ignore").onclick=ignoreClicked; -document.getElementById("b_ignall").onclick=ignoreAllClicked; -document.getElementById("b_recheck").onclick=recheckClicked; -document.getElementById("b_revert").onclick=revertClicked; -document.getElementById("b_info").onclick=displayInfo; -document.getElementById("b_ok").onclick=saveClicked; -document.getElementById("b_cancel").onclick=cancelClicked; -_1c=document.getElementById("v_dictionaries"); -_1c.onchange=function(){ -document.getElementById("f_dictionary").value=this.value; -}; -} -function getAbsolutePos(el){ -var r={x:el.offsetLeft,y:el.offsetTop}; -if(el.offsetParent){ -var tmp=getAbsolutePos(el.offsetParent); -r.x+=tmp.x; -r.y+=tmp.y; -} -return r; -} -function wordClicked(_20){ -var _21=this; -if(_20){ -(function(){ -var pos=getAbsolutePos(_21); -var ws={x:frame.offsetWidth-4,y:frame.offsetHeight-4}; -var wp={x:frame.contentWindow.document.body.scrollLeft,y:frame.contentWindow.document.body.scrollTop}; -pos.x-=Math.round(ws.x/2); -if(pos.x<0){ -pos.x=0; -} -pos.y-=Math.round(ws.y/2); -if(pos.y<0){ -pos.y=0; -} -frame.contentWindow.scrollTo(pos.x,pos.y); -})(); -} -if(currentElement){ -var a=allWords[currentElement.__msh_origWord]; -currentElement.className=currentElement.className.replace(/\s*HA-spellcheck-current\s*/g," "); -for(var i=0;i"+currentElement.__msh_origWord+"\""; -for(var i=_2a.length;--i>=0;){ -_2a.remove(i); -} -for(var i=0;i<_29.length;++i){ -var txt=_29[i]; -var _2b=document.createElement("option"); -_2b.value=txt; -_2b.appendChild(document.createTextNode(txt)); -_2a.appendChild(_2b); -} -document.getElementById("v_currentWord").innerHTML=this.__msh_origWord; -if(_29.length>0){ -_2a.selectedIndex=0; -_2a.onchange(); -}else{ -document.getElementById("v_replacement").value=this.innerHTML; -} -_2a.style.display="none"; -_2a.style.display="block"; -return false; -} -function wordMouseOver(){ -this.className+=" HA-spellcheck-hover"; -} -function wordMouseOut(){ -this.className=this.className.replace(/\s*HA-spellcheck-hover\s*/g," "); -} -function displayInfo(){ -var _2c=frame.contentWindow.spellcheck_info; -if(!_2c){ -alert("No information available"); -}else{ -var txt="** Document information **"; -for(var i in _2c){ -txt+="\n"+i+" : "+_2c[i]; -} -alert(txt); -} -return false; -} -function finishedSpellChecking(){ -currentElement=null; -wrongWords=null; -allWords={}; -fixedWords=[]; -suggested_words=frame.contentWindow.suggested_words; -document.getElementById("status").innerHTML="Xinha Spell Checker (info)"; -var doc=frame.contentWindow.document; -var _30=doc.getElementsByTagName("span"); -var sps=[]; -var id=0; -for(var i=0;i<_30.length;++i){ -var el=_30[i]; -if(/HA-spellcheck-error/.test(el.className)){ -sps.push(el); -el.__msh_wordClicked=wordClicked; -el.onclick=function(ev){ -ev||(ev=window.event); -ev&&Xinha._stopEvent(ev); -return this.__msh_wordClicked(false); -}; -el.onmouseover=wordMouseOver; -el.onmouseout=wordMouseOut; -el.__msh_id=id++; -var txt=(el.__msh_origWord=el.firstChild.data); -el.__msh_fixed=false; -if(typeof allWords[txt]=="undefined"){ -allWords[txt]=[el]; -}else{ -allWords[txt].push(el); -} -}else{ -if(/HA-spellcheck-fixed/.test(el.className)){ -fixedWords.push(el); -} -} -} -var _37=doc.getElementById("HA-spellcheck-dictionaries"); -if(_37){ -_37.parentNode.removeChild(_37); -_37=_37.innerHTML.split(/,/); -var _38=document.getElementById("v_dictionaries"); -for(var i=_38.length;--i>=0;){ -_38.remove(i); -} -var _39=document.getElementById("f_dictionary").value; -for(var i=0;i<_37.length;++i){ -var txt=_37[i]; -var _3a=document.createElement("option"); -if(txt==_39){ -_3a.selected=true; -} -_3a.value=txt; -_3a.appendChild(document.createTextNode(txt)); -_38.appendChild(_3a); -} -} -wrongWords=sps; -if(sps.length==0){ -if(!modified){ -alert(_lc("No mispelled words found with the selected dictionary.")); -}else{ -alert(_lc("No mispelled words found with the selected dictionary.")); -} -return false; -} -(currentElement=sps[0]).__msh_wordClicked(true); -var as=doc.getElementsByTagName("a"); -for(var i=as.length;--i>=0;){ -var a=as[i]; -a.onclick=function(){ -if(confirm(_lc("Please confirm that you want to open this link")+":\n"+this.href+"\n"+_lc("I will open it in a new page."))){ -window.open(this.href); -} -return false; -}; -} -} - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-checker.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-checker.js deleted file mode 100644 index 1bbc00c5f..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-checker.js +++ /dev/null @@ -1,38 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SpellChecker/spell-checker.js */ -Xinha.Config.prototype.SpellChecker={"backend":"php","personalFilesDir":"","defaultDictionary":"en_GB","utf8_to_entities":true}; -function SpellChecker(_1){ -this.editor=_1; -var _2=_1.config; -var bl=SpellChecker.btnList; -var _4=this; -var id="SC-spell-check"; -_2.registerButton(id,this._lc("Spell-check"),_1.imgURL("spell-check.gif","SpellChecker"),false,function(_6,id){ -_4.buttonPress(_6,id); -}); -_2.addToolbarElement("SC-spell-check","htmlmode",1); -} -SpellChecker._pluginInfo={name:"SpellChecker",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"American Bible Society",sponsor_url:"http://www.americanbible.org",license:"htmlArea"}; -SpellChecker.prototype._lc=function(_8){ -return Xinha._lc(_8,"SpellChecker"); -}; -SpellChecker.btnList=[null,["spell-check"]]; -SpellChecker.prototype.buttonPress=function(_9,id){ -switch(id){ -case "SC-spell-check": -SpellChecker.editor=_9; -SpellChecker.init=true; -var _b=Xinha.getPluginDir("SpellChecker")+"/spell-check-ui.html"; -var _c; -if(Xinha.is_ie){ -_c=window.open(_b,"SC_spell_checker","toolbar=no,location=no,directories=no,status=no,menubar=no,"+"scrollbars=no,resizable=yes,width=600,height=450"); -}else{ -_c=window.open(_b,"SC_spell_checker","toolbar=no,menubar=no,personalbar=no,width=600,height=450,"+"scrollbars=no,resizable=yes"); -} -_c.focus(); -break; -} -}; -SpellChecker.editor=null; - diff --git a/ccm-core/web/assets/xinha/plugins/Stylist/Stylist.js b/ccm-core/web/assets/xinha/plugins/Stylist/Stylist.js new file mode 100644 index 000000000..00fef1c00 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Stylist/Stylist.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.Config.prototype.css_style={};Xinha.Config.prototype.stylistLoadStylesheet=function(c,f,e){if(!f){f={}}var b=Xinha.ripStylesFromCSSFile(c,e);for(var d in b){if(f[d]){this.css_style[d]=f[d]}else{this.css_style[d]=b[d]}}for(var a=0;a0)){m=a.substring(0,a.indexOf(".")).toLowerCase();a=a.substring(a.indexOf("."),a.length);if(b!=null&&b.tagName.toLowerCase()==m){i=true;f=b}else{if(this._getFirstAncestor(this._getSelection(),[m])!=null){i=true;f=this._getFirstAncestor(this._getSelection(),[m])}else{if((m=="div"||m=="span"||m=="p"||(m.substr(0,1)=="h"&&m.length==2&&m!="hr"))){if(!this._selectionEmpty(this._getSelection())){i=true;f="new"}else{f=this._getFirstAncestor(d,["p","h1","h2","h3","h4","h5","h6","h7"]);if(f!=null){i=true}else{i=false}}}else{i=false}}}}if(i){a=a.substring(a.indexOf("."),a.length);a=a.replace("."," ");if(f==null){if(this._selectionEmpty(this._getSelection())){f=this._getFirstAncestor(this._getSelection(),null)}else{f="new";m="span"}}}var g=(this._ancestorsWithClasses(d,m,a).length>0?true:false);var e=this._ancestorsWithClasses(d,m,a);if(i){var k=document.createElement("a");k.onfocus=function(){this.blur()};k._stylist_className=a.trim();k._stylist_applied=g;k._stylist_appliedTo=e;k._stylist_applyTo=f;k._stylist_applyTag=m;k.innerHTML=this.config.css_style[l];k.href="javascript:void(0)";var c=this;k.onclick=function(){if(this._stylist_applied==true){c._stylistRemoveClasses(this._stylist_className,this._stylist_appliedTo)}else{c._stylistAddClasses(this._stylist_applyTo,this._stylist_applyTag,this._stylist_className)}return false};k.style.display="block";k.style.paddingLeft="3px";k.style.paddingTop="1px";k.style.paddingBottom="1px";k.style.textDecoration="none";if(g){k.style.background="Highlight";k.style.color="HighlightText"}k.style.position="relative";h.appendChild(k)}}};Xinha.prototype._stylistAddClasses=function(c,a,b){if(c=="new"){this.insertHTML("<"+a+' class="'+b+'">'+this.getSelectedHTML()+"")}else{if(a!=null&&c.tagName.toLowerCase()!=a){var d=this.switchElementTag(c,a);if(typeof c._stylist_usedToBe!="undefined"){d._stylist_usedToBe=c._stylist_usedToBe;d._stylist_usedToBe[d._stylist_usedToBe.length]={tagName:c.tagName,className:c.getAttribute("class")}}else{d._stylist_usedToBe=[{tagName:c.tagName,className:c.getAttribute("class")}]}Xinha.addClasses(d,b)}else{Xinha._addClasses(c,b)}}this.focusEditor();this.updateToolbar()};Xinha.prototype._stylistRemoveClasses=function(b,c){for(var a=0;a0&&a._stylist_usedToBe[a._stylist_usedToBe.length-1].className!=null){var m=a._stylist_usedToBe[a._stylist_usedToBe.length-1];var j=Xinha.arrayFilter(m.className.trim().split(" "),function(i){if(i==null||i.trim()==""){return false}return true});if((g.length==0)||(Xinha.arrayContainsArray(g,j)&&Xinha.arrayContainsArray(j,g))){a=this.switchElementTag(a,m.tagName);g=j}else{a._stylist_usedToBe=[]}}if(g.length>0||a.tagName.toLowerCase()!="span"||(a.id&&a.id!="")){a.className=g.join(" ").trim()}else{var b=a.parentNode;var e;while(a.hasChildNodes()){if(a.firstChild.nodeType==1){this._stylistRemoveClassesFull(a.firstChild,c)}e=a.removeChild(a.firstChild);b.insertBefore(e,a)}b.removeChild(a)}}};Xinha.prototype.switchElementTag=function(e,c){var d=e.parentNode;var f=this._doc.createElement(c);if(Xinha.is_ie||e.hasAttribute("id")){f.setAttribute("id",e.getAttribute("id"))}if(Xinha.is_ie||e.hasAttribute("style")){f.setAttribute("style",e.getAttribute("style"))}var b=e.childNodes;for(var a=0;a0)?a.offsetHeight-g.panel.offsetHeight:0)+"px";d.rootElem.style.height=b.offsetHeight+"px";c.sizeEditor();break;case"hide":f.resize();break}});c.notifyOn("before_resize",function(){if(!d.attached){return}d.rootElem.style.height=b.offsetHeight+"px"});c.notifyOn("resize",function(){if(!d.attached){return}f.resize()})};Stylist.prototype.resize=function(){var c=this.editor;var e=this.dialog.rootElem;if(e.style.display=="none"){return}var b=e.parentNode;var a=b.offsetHeight;for(var d=0;d0)){ -_d=_e.substring(0,_e.indexOf(".")).toLowerCase(); -_e=_e.substring(_e.indexOf("."),_e.length); -if(_b!=null&&_b.tagName.toLowerCase()==_d){ -_f=true; -_10=_b; -}else{ -if(this._getFirstAncestor(this._getSelection(),[_d])!=null){ -_f=true; -_10=this._getFirstAncestor(this._getSelection(),[_d]); -}else{ -if((_d=="div"||_d=="span"||_d=="p"||(_d.substr(0,1)=="h"&&_d.length==2&&_d!="hr"))){ -if(!this._selectionEmpty(this._getSelection())){ -_f=true; -_10="new"; -}else{ -_10=this._getFirstAncestor(_a,["p","h1","h2","h3","h4","h5","h6","h7"]); -if(_10!=null){ -_f=true; -}else{ -_f=false; -} -} -}else{ -_f=false; -} -} -} -} -if(_f){ -_e=_e.substring(_e.indexOf("."),_e.length); -_e=_e.replace("."," "); -if(_10==null){ -if(this._selectionEmpty(this._getSelection())){ -_10=this._getFirstAncestor(this._getSelection(),null); -}else{ -_10="new"; -_d="span"; -} -} -} -var _11=(this._ancestorsWithClasses(_a,_d,_e).length>0?true:false); -var _12=this._ancestorsWithClasses(_a,_d,_e); -if(_f){ -var _13=document.createElement("a"); -if(Xinha.is_real_gecko){ -_13.onfocus=function(){ -this.blur(); -}; -} -_13._stylist_className=_e.trim(); -_13._stylist_applied=_11; -_13._stylist_appliedTo=_12; -_13._stylist_applyTo=_10; -_13._stylist_applyTag=_d; -_13.innerHTML=this.config.css_style[x]; -_13.href="javascript:void(0)"; -var _14=this; -_13.onclick=function(){ -if(this._stylist_applied==true){ -_14._stylistRemoveClasses(this._stylist_className,this._stylist_appliedTo); -}else{ -_14._stylistAddClasses(this._stylist_applyTo,this._stylist_applyTag,this._stylist_className); -} -return false; -}; -_13.style.display="block"; -_13.style.paddingLeft="3px"; -_13.style.paddingTop="1px"; -_13.style.paddingBottom="1px"; -_13.style.textDecoration="none"; -if(_11){ -_13.style.background="Highlight"; -_13.style.color="HighlightText"; -} -this.plugins.Stylist.instance.main.appendChild(_13); -} -} -}; -Xinha.prototype._stylistAddClasses=function(el,tag,_17){ -if(el=="new"){ -this.insertHTML("<"+tag+" class=\""+_17+"\">"+this.getSelectedHTML()+""); -}else{ -if(tag!=null&&el.tagName.toLowerCase()!=tag){ -var _18=this.switchElementTag(el,tag); -if(typeof el._stylist_usedToBe!="undefined"){ -_18._stylist_usedToBe=el._stylist_usedToBe; -_18._stylist_usedToBe[_18._stylist_usedToBe.length]={"tagName":el.tagName,"className":el.getAttribute("class")}; -}else{ -_18._stylist_usedToBe=[{"tagName":el.tagName,"className":el.getAttribute("class")}]; -} -Xinha.addClasses(_18,_17); -}else{ -Xinha._addClasses(el,_17); -} -} -this.focusEditor(); -this.updateToolbar(); -}; -Xinha.prototype._stylistRemoveClasses=function(_19,_1a){ -for(var x=0;x<_1a.length;x++){ -this._stylistRemoveClassesFull(_1a[x],_19); -} -this.focusEditor(); -this.updateToolbar(); -}; -Xinha.prototype._stylistRemoveClassesFull=function(el,_1d){ -if(el!=null){ -var _1e=el.className.trim().split(" "); -var _1f=[]; -var _20=_1d.split(" "); -for(var x=0;x<_1e.length;x++){ -var _22=false; -for(var i=0;_22==false&&i<_20.length;i++){ -if(_20[i]==_1e[x]){ -_22=true; -} -} -if(_22==false){ -_1f[_1f.length]=_1e[x]; -} -} -if(_1f.length==0&&el._stylist_usedToBe&&el._stylist_usedToBe.length>0&&el._stylist_usedToBe[el._stylist_usedToBe.length-1].className!=null){ -var _24=el._stylist_usedToBe[el._stylist_usedToBe.length-1]; -var _25=Xinha.arrayFilter(_24.className.trim().split(" "),function(c){ -if(c==null||c.trim()==""){ -return false; -} -return true; -}); -if((_1f.length==0)||(Xinha.arrayContainsArray(_1f,_25)&&Xinha.arrayContainsArray(_25,_1f))){ -el=this.switchElementTag(el,_24.tagName); -_1f=_25; -}else{ -el._stylist_usedToBe=[]; -} -} -if(_1f.length>0||el.tagName.toLowerCase()!="span"||(el.id&&el.id!="")){ -el.className=_1f.join(" ").trim(); -}else{ -var _27=el.parentNode; -var _28=el.childNodes; -for(var x=0;x<_28.length;x++){ -_27.insertBefore(_28[x],el); -} -_27.removeChild(el); -} -} -}; -Xinha.prototype.switchElementTag=function(el,tag){ -var _2b=el.parentNode; -var _2c=this._doc.createElement(tag); -if(Xinha.is_ie||el.hasAttribute("id")){ -_2c.setAttribute("id",el.getAttribute("id")); -} -if(Xinha.is_ie||el.hasAttribute("style")){ -_2c.setAttribute("style",el.getAttribute("style")); -} -var _2d=el.childNodes; -for(var x=0;x<_2d.length;x++){ -_2c.appendChild(_2d[x].cloneNode(true)); -} -_2b.insertBefore(_2c,el); -_2c._stylist_usedToBe=[el.tagName]; -_2b.removeChild(el); -this.selectNodeContents(_2c); -return _2c; -}; -Xinha.prototype._getAncestorsClassNames=function(sel){ -var _30=this._activeElement(sel); -if(_30==null){ -_30=(Xinha.is_ie?this._createRange(sel).parentElement():this._createRange(sel).commonAncestorContainer); -} -var _31=[]; -while(_30){ -if(_30.nodeType==1){ -var _32=_30.className.trim().split(" "); -for(var x=0;x<_32.length;x++){ -_31[_31.length]=_32[x]; -} -if(_30.tagName.toLowerCase()=="body"){ -break; -} -if(_30.tagName.toLowerCase()=="table"){ -break; -} -} -_30=_30.parentNode; -} -return _31; -}; -Xinha.prototype._ancestorsWithClasses=function(sel,tag,_36){ -var _37=[]; -var _38=this._activeElement(sel); -if(_38==null){ -try{ -_38=(Xinha.is_ie?this._createRange(sel).parentElement():this._createRange(sel).commonAncestorContainer); -} -catch(e){ -return _37; -} -} -var _39=_36.trim().split(" "); -while(_38){ -if(_38.nodeType==1&&_38.className){ -if(tag==null||_38.tagName.toLowerCase()==tag){ -var _36=_38.className.trim().split(" "); -var _3a=true; -for(var i=0;i<_39.length;i++){ -var _3c=false; -for(var x=0;x<_36.length;x++){ -if(_39[i]==_36[x]){ -_3c=true; -break; -} -} -if(!_3c){ -_3a=false; -break; -} -} -if(_3a){ -_37[_37.length]=_38; -} -} -if(_38.tagName.toLowerCase()=="body"){ -break; -} -if(_38.tagName.toLowerCase()=="table"){ -break; -} -} -_38=_38.parentNode; -} -return _37; -}; -Xinha.ripStylesFromCSSFile=function(URL){ -var css=Xinha._geturlcontent(URL); -return Xinha.ripStylesFromCSSString(css); -}; -Xinha.ripStylesFromCSSString=function(css){ -RE_comment=/\/\*(.|\r|\n)*?\*\//g; -RE_rule=/\{(.|\r|\n)*?\}/g; -css=css.replace(RE_comment,""); -css=css.replace(RE_rule,","); -css=css.split(","); -var _41={}; -for(var x=0;x0)?_47.main.offsetHeight-_4b.panel.offsetHeight:0)+"px"; -_46._stylist.style.height=_47.caption.offsetHeight+"px"; -_46.sizeEditor(); -break; -case "hide": -_47.resize(); -break; -} -}); -_46.notifyOn("before_resize",function(){ -_46._stylist.style.height=_47.caption.offsetHeight+"px"; -}); -_46.notifyOn("resize",function(){ -_47.resize(); -}); -} -}; -Stylist.prototype.resize=function(){ -var _4d=this.editor; -var _4e=_4d._stylist.parentNode; -var _4f=_4e.offsetHeight; -for(var i=0;i<_4e.childNodes.length;++i){ -if(_4e.childNodes[i]==_4d._stylist||!_4e.childNodes[i].offsetHeight){ -continue; -} -_4f-=_4e.childNodes[i].offsetHeight; -} -_4d._stylist.style.height=_4f+"px"; -this.main.style.height=_4f-this.caption.offsetHeight+"px"; -}; -Stylist.prototype.onUpdateToolbar=function(){ -if(this.editor._stylist){ -if(this._timeoutID){ -window.clearTimeout(this._timeoutID); -} -var e=this.editor; -this._timeoutID=window.setTimeout(function(){ -e._fillStylist(); -},250); -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/dialog.html b/ccm-core/web/assets/xinha/plugins/SuperClean/dialog.html deleted file mode 100755 index abced7625..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/dialog.html +++ /dev/null @@ -1,9 +0,0 @@ -

    Clean up HTML

    -
    - Please select from the following cleaning options... - -
    - - -
    -
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/paragraph.js b/ccm-core/web/assets/xinha/plugins/SuperClean/filters/paragraph.js deleted file mode 100644 index d6263aca3..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/paragraph.js +++ /dev/null @@ -1,10 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SuperClean/filters/paragraph.js */ -function(_1){ -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p\s*>/gi,""); -_1=_1.trim(); -return _1; -} - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/word.js b/ccm-core/web/assets/xinha/plugins/SuperClean/filters/word.js deleted file mode 100644 index a2174b081..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/word.js +++ /dev/null @@ -1,30 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SuperClean/filters/word.js */ -function(_1){ -_1=_1.replace(//gi,""); -_1=_1.replace(//gi,""); -_1=_1.replace(/<\/?\s*HTML[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*BODY[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*META[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*SPAN[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*FONT[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*IFRAME[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*STYLE[^>]*>(.|[\n\r\t])*<\/\s*STYLE\s*>/gi,""); -_1=_1.replace(/<\s*TITLE[^>]*>(.|[\n\r\t])*<\/\s*TITLE\s*>/gi,""); -_1=_1.replace(/<\s*SCRIPT[^>]*>[^\0]*<\/\s*SCRIPT\s*>/gi,""); -_1=_1.replace(/<\s*HEAD[^>]*>(.|[\n\r\t])*<\/\s*HEAD\s*>/gi,""); -_1=_1.replace(/<\s*(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\\?\?xml[^>]*>/gi,""); -_1=_1.replace(/<\/?\w+:[^>]*>/gi,""); -_1=_1.replace(/ /," "); -_1=_1.replace(/<\s*p[^>]*><\s*br\s*\/?>\s*<\/\s*p[^>]*>/gi,"
    "); -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p[^>]*>/gi,"
    "); -_1=_1.replace(/(\s*
    \s*)*$/,""); -_1=_1.trim(); -return _1; -} - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/img/ed_superclean.gif b/ccm-core/web/assets/xinha/plugins/SuperClean/img/ed_superclean.gif deleted file mode 100755 index 53180a80b..000000000 Binary files a/ccm-core/web/assets/xinha/plugins/SuperClean/img/ed_superclean.gif and /dev/null differ diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/de.js b/ccm-core/web/assets/xinha/plugins/SuperClean/lang/de.js deleted file mode 100644 index 9e4f6c7aa..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/de.js +++ /dev/null @@ -1,17 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// translated: Raimund Meyer xinha@ray-of-light.org -{ - "Clean up HTML": "HTML säubern", - "Please select from the following cleaning options...": "Bitte Optionen auswählen...", - "General tidy up and correction of some problems.": "Allgemeines aufräumen und Korrektur einiger Probleme.", - "Clean bad HTML from Microsoft Word": "Schlechtes HTML aus Microsoft Word aufräumen", - "Remove custom typefaces (font \"styles\").": "Schriftarten entfernen (font face).", - "Remove custom font sizes.": "Schriftgrößen entfernen (font size).", - "Remove custom text colors.": "Schriftfarben entfernen (font color).", - "Remove lang attributes.": "Sprachattribute entfernen.", - "Go": "Go", - "Cancel": "Abbrechen", - "Tidy failed. Check your HTML for syntax errors.": "Säubern fehlgeschlagen. Überprüfen Sie Ihren Code auf Fehler.", - "You don't have anything to tidy!": "Es gibt nichts zu säubern...!" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/fr.js b/ccm-core/web/assets/xinha/plugins/SuperClean/lang/fr.js deleted file mode 100644 index 867489c8c..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/fr.js +++ /dev/null @@ -1,16 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Clean up HTML": "Nettoyer le code HTML", - "Please select from the following cleaning options...": "Veuillez sélectionner une option de nettoyage.", - "General tidy up and correction of some problems.": "Nettoyage générique et correction des problèmes mineurs.", - "Clean bad HTML from Microsoft Word": "Nettoyer les balises HTML de Microsoft Word", - "Remove custom typefaces (font \"styles\").": "Supprimer les polices personalisées (font \"styles\").", - "Remove custom font sizes.": "Supprimer les tailles de polices personnalisées.", - "Remove custom text colors.": "Supprimer les couleurs de texte personalisées.", - "Remove lang attributes.": "Supprimer les attributs de langue.", - "Go": "Commencer", - "Cancel": "Annuler", - "Tidy failed. Check your HTML for syntax errors.": "Tidy a échoué. Vérifier la syntaxe HTML.", - "You don't have anything to tidy!": "Rien à transmettre à tidy !" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/ja.js b/ccm-core/web/assets/xinha/plugins/SuperClean/lang/ja.js deleted file mode 100644 index ae8b7976c..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/ja.js +++ /dev/null @@ -1,18 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Clean up HTML": "HTMLのクリーンナップ", - "Please select from the following cleaning options...": "以下のクリーンナップオプションを選択してください...", - "General tidy up and correction of some problems.": "一般的な適正化といくつかの問題を修正します。", - "Clean bad HTML from Microsoft Word": "Microsoft Wordによる不正なHTMLの清潔化", - "Remove custom typefaces (font \"styles\").": "独自フォント名設定の除去 (font face)。", - "Remove custom font sizes.": "独自フォントサイズ設定の除去。", - "Remove custom text colors.": "独自文字色設定の除去。", - "Remove lang attributes.": "言語属性の除去。", - "Go": "実行", - "Cancel": "中止", - "Tidy failed. Check your HTML for syntax errors.": "適正化に失敗しました。HTMLの文法エラーを確認してください。", - "You don't have anything to tidy!": "適正化するものは何もありません!", - "Replace directional quote marks with non-directional quote marks.": "方向つき引用符を方向なし引用符に置換。", - "CANCEL": "中止" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/nb.js b/ccm-core/web/assets/xinha/plugins/SuperClean/lang/nb.js deleted file mode 100644 index f8822d361..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/nb.js +++ /dev/null @@ -1,17 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Clean up HTML": "Vask HTML kode", - "Please select from the following cleaning options...": "Vennligst velg blandt de forskjellige mulighetene å vaske/ rydde i HTML koden", - "General tidy up and correction of some problems.": "Generell opprydding i HTML koden samt korrigering av typiske feil", - "Clean bad HTML from Microsoft Word": "Vask HTML kode for feil og problemer etter Microsoft Word", - "Remove custom typefaces (font \"styles\").": "Fjerne egendefinerte skrifttyper (font face)", - "Remove custom font sizes.": "Fjerne egendefinerte skriftstørrelser (font size)", - "Remove custom text colors.": "Fjerne egendefinerte skriftfarger (font color)", - "Remove lang attributes.": "Fjerne lang-attributter.", - "Go": "Utfør", - "Cancel": "Avbryt", - "Tidy failed. Check your HTML for syntax errors.": "Tidy (Programmet som retter HTML koden) feilet. Vennligst se over HTML koden for feil.", - "You don't have anything to tidy!": "Det finnes ingen HTML kode å vaske!" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/nl.js b/ccm-core/web/assets/xinha/plugins/SuperClean/lang/nl.js deleted file mode 100644 index 34c248507..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/nl.js +++ /dev/null @@ -1,17 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Clean up HTML": "HTML opschonen", - "Please select from the following cleaning options...": "Selecteer de gewenste opschoon opties...", - "General tidy up and correction of some problems.": "Algemeen opschonen en correctie", - "Clean bad HTML from Microsoft Word": "Overbodige/verkeerde HTML van Microsoft Word opschonen", - "Remove custom typefaces (font \"styles\").": "Verwijder aangepaste lettertypes (font face)", - "Remove custom font sizes.": "Verwijder aangepaste lettergroottes (font size)", - "Remove custom text colors.": "Verwijder aangepaste tekstkleuren (font color)", - "Remove lang attributes.": "Verwijder alle taal (lang) attributen.", - "Go": "Opschonen", - "Cancel": "Annuleren", - "Tidy failed. Check your HTML for syntax errors.": "Tidy mislukt. Controleer HTML op fouten.", - "You don't have anything to tidy!": "Er is niets om op te schonen!" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/SuperClean/lang/pt_br.js deleted file mode 100644 index 82df1eeba..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/lang/pt_br.js +++ /dev/null @@ -1,33 +0,0 @@ -// I18N constants -// -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation -// -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -{ - "Cancel": "", - "Clean bad HTML from Microsoft Word": "Limpar códigos mal formatados do Microsoft Word", - "Clean up HTML": "Limpar HTML", - "General tidy up and correction of some problems.": "Limpesa geral e correção de alguns problemas.", - "OK": "", - "Please select from the following cleaning options...": "Por favor, selecione uma das opções de limpesa...", - "Remove custom font sizes.": "Remover tamanho de fontes personalizados (font size).", - "Remove custom text colors.": "Remover cores de texto personalizados (font color).", - "Remove custom typefaces (font \"styles\").": "Remover tipos de letras personalizadas (font \"styles\").", - "Remove lang attributes.": "Remover atributos de idioma.", - "Replace directional quote marks with non-directional quote marks.": "", - // not find with lc_parse_strings.php - "Tidy failed. Check your HTML for syntax errors.": "Limpesa falhou. Verifique seu HTML por erros de sintaxe.", - "You don't have anything to tidy!": "Você não possui nada para limpar!" -} - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/super-clean.js b/ccm-core/web/assets/xinha/plugins/SuperClean/super-clean.js deleted file mode 100644 index 0461d6adf..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/super-clean.js +++ /dev/null @@ -1,214 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SuperClean/super-clean.js */ -function SuperClean(_1,_2){ -this.editor=_1; -var _3=this; -_1._superclean_on=false; -_1.config.registerButton("superclean",this._lc("Clean up HTML"),_1.imgURL("ed_superclean.gif","SuperClean"),true,function(e,_5,_6){ -_3._superClean(null,_6); -}); -_1.config.addToolbarElement("superclean","killword",0); -} -SuperClean._pluginInfo={name:"SuperClean",version:"1.0",developer:"James Sleeman, Niko Sams",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"}; -SuperClean.prototype._lc=function(_7){ -return Xinha._lc(_7,"SuperClean"); -}; -SuperClean.prototype._superClean=function(_8,_9){ -var _a=this; -var _b=function(){ -var _c=_a._dialog.hide(); -var _d=_a.editor; -if(_c.word_clean){ -_d._wordClean(); -} -var D=_d.getInnerHTML(); -for(var _f in _d.config.SuperClean.filters){ -if(_f=="tidy"||_f=="word_clean"){ -continue; -} -if(_c[_f]){ -D=SuperClean.filterFunctions[_f](D,_d); -} -} -D=D.replace(/(style|class)="\s*"/gi,""); -D=D.replace(/<(font|span)\s*>/gi,""); -_d.setHTML(D); -if(_c.tidy){ -var _10=function(_11){ -eval("var response = "+_11); -switch(response.action){ -case "setHTML": -_d.setHTML(response.value); -break; -case "alert": -alert(_a._lc(response.value)); -break; -} -}; -Xinha._postback(_d.config.SuperClean.tidy_handler,{"content":_d.getInnerHTML()},_10); -} -return true; -}; -if(this.editor.config.SuperClean.show_dialog){ -var _12={}; -this._dialog.show(_12,_b); -}else{ -var _13=this.editor; -var _14=_13.getInnerHTML(); -for(var _15 in _13.config.SuperClean.filters){ -if(_15=="tidy"){ -continue; -} -_14=SuperClean.filterFunctions[_15](_14,_13); -} -_14=_14.replace(/(style|class)="\s*"/gi,""); -_14=_14.replace(/<(font|span)\s*>/gi,""); -_13.setHTML(_14); -if(_13.config.SuperClean.filters.tidy){ -SuperClean.filterFunctions.tidy(_14,_13); -} -} -}; -Xinha.Config.prototype.SuperClean={"tidy_handler":Xinha.getPluginDir("SuperClean")+"/tidy.php","filters":{"tidy":Xinha._lc("General tidy up and correction of some problems.","SuperClean"),"word_clean":Xinha._lc("Clean bad HTML from Microsoft Word","SuperClean"),"remove_faces":Xinha._lc("Remove custom typefaces (font \"styles\").","SuperClean"),"remove_sizes":Xinha._lc("Remove custom font sizes.","SuperClean"),"remove_colors":Xinha._lc("Remove custom text colors.","SuperClean"),"remove_lang":Xinha._lc("Remove lang attributes.","SuperClean"),"remove_fancy_quotes":{label:Xinha._lc("Replace directional quote marks with non-directional quote marks.","SuperClean"),checked:false}},"show_dialog":true}; -SuperClean.filterFunctions={}; -SuperClean.filterFunctions.remove_colors=function(D){ -D=D.replace(/color="?[^" >]*"?/gi,""); -D=D.replace(/([^-])color:[^;}"']+;?/gi,"$1"); -return (D); -}; -SuperClean.filterFunctions.remove_sizes=function(D){ -D=D.replace(/size="?[^" >]*"?/gi,""); -D=D.replace(/font-size:[^;}"']+;?/gi,""); -return (D); -}; -SuperClean.filterFunctions.remove_faces=function(D){ -D=D.replace(/face="?[^" >]*"?/gi,""); -D=D.replace(/font-family:[^;}"']+;?/gi,""); -return (D); -}; -SuperClean.filterFunctions.remove_lang=function(D){ -D=D.replace(/lang="?[^" >]*"?/gi,""); -return (D); -}; -SuperClean.filterFunctions.word_clean=function(_1a,_1b){ -_1b.setHTML(_1a); -_1b._wordClean(); -return _1b.getInnerHTML(); -}; -SuperClean.filterFunctions.remove_fancy_quotes=function(D){ -D=D.replace(new RegExp(String.fromCharCode(8216),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8217),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8218),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8219),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8220),"g"),"\""); -D=D.replace(new RegExp(String.fromCharCode(8221),"g"),"\""); -D=D.replace(new RegExp(String.fromCharCode(8222),"g"),"\""); -D=D.replace(new RegExp(String.fromCharCode(8223),"g"),"\""); -return D; -}; -SuperClean.filterFunctions.tidy=function(_1d,_1e){ -Xinha._postback(_1e.config.SuperClean.tidy_handler,{"content":_1d},function(_1f){ -eval(_1f); -}); -}; -SuperClean.prototype.onGenerate=function(){ -if(this.editor.config.SuperClean.show_dialog&&!this._dialog){ -this._dialog=new SuperClean.Dialog(this); -} -if(this.editor.config.tidy_handler){ -this.editor.config.SuperClean.tidy_handler=this.editor.config.tidy_handler; -this.editor.config.tidy_handler=null; -} -if(!this.editor.config.SuperClean.tidy_handler&&this.editor.config.filters.tidy){ -this.editor.config.filters.tidy=null; -} -var sc=this; -for(var _21 in this.editor.config.SuperClean.filters){ -if(!SuperClean.filterFunctions[_21]){ -var _22=this.editor.config.SuperClean.filters[_21]; -if(typeof _22.filterFunction!="undefined"){ -SuperClean.filterFunctions[_21]=filterFunction; -}else{ -Xinha._getback(Xinha.getPluginDir("SuperClean")+"/filters/"+_21+".js",function(_23){ -eval("SuperClean.filterFunctions."+_21+"="+_23+";"); -sc.onGenerate(); -}); -} -return; -} -} -}; -SuperClean.Dialog=function(_24){ -var _25=this; -this.Dialog_nxtid=0; -this.SuperClean=_24; -this.id={}; -this.ready=false; -this.files=false; -this.html=false; -this.dialog=false; -this._prepareDialog(); -}; -SuperClean.Dialog.prototype._prepareDialog=function(){ -var _26=this; -var _27=this.SuperClean; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("SuperClean")+"/dialog.html",function(txt){ -_26.html=txt; -_26._prepareDialog(); -}); -return; -} -var _29=""; -for(var _2a in this.SuperClean.editor.config.SuperClean.filters){ -_29+="
    \n"; -var _2b=this.SuperClean.editor.config.SuperClean.filters[_2a]; -if(typeof _2b.label=="undefined"){ -_29+=" \n"; -_29+=" \n"; -}else{ -_29+=" \n"; -_29+=" \n"; -} -_29+="
    \n"; -} -this.html=this.html.replace("",_29); -var _2c=this.html; -var _2d=this.dialog=new Xinha.Dialog(_27.editor,this.html,"SuperClean"); -this.ready=true; -}; -SuperClean.Dialog.prototype._lc=SuperClean.prototype._lc; -SuperClean.Dialog.prototype.show=function(_2e,ok,_30){ -if(!this.ready){ -var _31=this; -window.setTimeout(function(){ -_31.show(_2e,ok,_30); -},100); -return; -} -var _32=this.dialog; -var _31=this; -if(ok){ -this.dialog.getElementById("ok").onclick=ok; -}else{ -this.dialog.getElementById("ok").onclick=function(){ -_31.hide(); -}; -} -if(_30){ -this.dialog.getElementById("cancel").onclick=_30; -}else{ -this.dialog.getElementById("cancel").onclick=function(){ -_31.hide(); -}; -} -this.SuperClean.editor.disableToolbar(["fullscreen","SuperClean"]); -this.dialog.show(_2e); -this.dialog.onresize(); -}; -SuperClean.Dialog.prototype.hide=function(){ -this.SuperClean.editor.enableToolbar(); -return this.dialog.hide(); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/tidy.php b/ccm-core/web/assets/xinha/plugins/SuperClean/tidy.php deleted file mode 100755 index d08d7faa2..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/tidy.php +++ /dev/null @@ -1,179 +0,0 @@ -,{,},@,\n,\r"; - - if(!is_array($strings)) - { - $tr = array(); - foreach(explode(',', $strings) as $chr) - { - $tr[$chr] = sprintf('\x%02X', ord($chr)); - } - $strings = $tr; - } - - return strtr($string, $strings); - } - - // Any errors would screq up our javascript - error_reporting(0); - ini_set('display_errors', false); - - if(trim(@$_REQUEST['content'])) - { - // PHP's urldecode doesn't understand %uHHHH for unicode - $_REQUEST['content'] = preg_replace('/%u([a-f0-9]{4,4})/ei', 'utf8_chr(0x$1)', $_REQUEST['content']); - function utf8_chr($num) - { - if($num<128)return chr($num); - if($num<1024)return chr(($num>>6)+192).chr(($num&63)+128); - if($num<32768)return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128); - if($num<2097152)return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128); - return ''; - } - ob_start(); - passthru("echo " . escapeshellarg($_REQUEST['content']) . " | tidy -q -i -u -wrap 9999 -utf8 -bare -asxhtml 2>/dev/null", $result); - $content = ob_get_contents(); - ob_end_clean(); - - if(strlen($content) < 4) - { - // Tidy on the local machine failed, try a post - $res_1 - = PostIt( - array - ( - '_function' => 'tidy', - '_html' => $_REQUEST['content'], - 'char-encoding' => 'utf8', - '_output' => 'warn', - 'indent' => 'auto', - 'wrap' => 9999, - 'break-before-br' => 'y', - 'bare' => 'n', - 'word-2000' => 'n', - 'drop-empty-paras' => 'y', - 'drop-font-tags' => 'n', - - ), - 'http://infohound.net/tidy/tidy.pl'); - - if(preg_match('/ diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/TableOperations.js b/ccm-core/web/assets/xinha/plugins/TableOperations/TableOperations.js new file mode 100644 index 000000000..77d7afd08 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/TableOperations.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.Config.prototype.TableOperations={showButtons:true};function TableOperations(d){this.editor=d;var b=d.config;var h=TableOperations.btnList;var c=this;b.removeToolbarElement(" inserttable toggleborders ");var a=["linebreak","inserttable","toggleborders"];for(var f=0;f":"";function h(I){var H=I.getElementsByTagName("td");for(var G=H.length;--G>=0;){var J=H[G];J.rowSpan=1;J.innerHTML=g}}function B(L){var K=parseInt(""+L.rowSpan);var J=parseInt(""+L.colSpan);L.rowSpan=1;b=L.parentNode;var H=b.rowIndex;var i=b.parentNode.rows;var G=L.cellIndex;while(--K>0){b=i[++H];var I=l._doc.createElement("td");I.colSpan=L.colSpan;I.innerHTML=g;b.insertBefore(I,b.cells[G])}l.forceRedraw();l.updateToolbar()}function a(I){var H=parseInt(""+I.colSpan);I.colSpan=1;b=I.parentNode;var G=I.nextSibling;while(--H>0){var i=l._doc.createElement("td");i.rowSpan=I.rowSpan;i.innerHTML=g;b.insertBefore(i,G)}l.forceRedraw();l.updateToolbar()}function F(I){var H=parseInt(""+I.colSpan);a(I);var i=I.parentNode.cells;var G=I.cellIndex;while(H-->0){B(i[G++])}}function C(i){var G=i.nextSibling;while(G&&G.nodeType!=1){G=G.nextSibling}if(!G){G=i.previousSibling;while(G&&G.nodeType!=1){G=G.previousSibling}}if(!G){G=i.parentNode}l.selectNodeContents(G)}function o(T,N,P,H,J){var U=[];var S=[];try{for(x=P;x1||V.cells[K].rowSpan>1){F(V.cells[K])}S.push(V.cells[K])}if(S.length>0){U.push(S);S=[]}}}catch(O){alert("Invalid selection");return false}var i=U[0][0].parentNode.rowIndex;var G=U[U.length-1][0].parentNode.rowIndex;var M=U[U.length-1][0].rowSpan;var L="";for(x=0;x=0;){var b=q[x];var w=l._doc.createElement("td");w.innerHTML=g;if(p&&Xinha.is_ie){b.insertBefore(w)}else{var j=b.cells[k+(/after/.test(m)?1:0)];b.insertBefore(w,j)}}l.focusEditor();break;case"TO-col-split":var n=this.getClosest("td");if(!n){break}a(n);break;case"TO-col-delete":var n=this.getClosest("td");if(!n){break}var k=n.cellIndex;if(n.parentNode.cells.length==1){alert(Xinha._lc("Xinha cowardly refuses to delete the last column in table.","TableOperations"));break}C(n);var q=n.parentNode.parentNode.rows;for(var x=q.length;--x>=0;){var b=q[x];b.removeChild(b.cells[k])}l.forceRedraw();l.focusEditor();l.updateToolbar();break;case"TO-cell-split":var n=this.getClosest("td");if(!n){break}F(n);break;case"TO-cell-insert-before":case"TO-cell-insert-after":var n=this.getClosest("td");if(!n){break}var b=n.parentNode;var w=l._doc.createElement("td");w.innerHTML=g;b.insertBefore(w,/after/.test(m)?n.nextSibling:n);l.forceRedraw();l.focusEditor();break;case"TO-cell-delete":var n=this.getClosest("td");if(!n){break}if(n.parentNode.cells.length==1){alert(Xinha._lc("Xinha cowardly refuses to delete the last cell in row.","TableOperations"));break}C(n);n.parentNode.removeChild(n);l.forceRedraw();l.updateToolbar();break;case"TO-cell-merge":var v=l._getSelection();if(!Xinha.is_ie&&v.rangeCount>1){var t=v.getRangeAt(0);var n=t.startContainer.childNodes[t.startOffset];var b=n.parentNode;var d=n.cellIndex;var s=b.rowIndex;var A=0;var E=s;var e=0;var D=0;var f,z;for(x=0;xe){e=D}if(z.rowIndex+f.rowSpan-1>A){A=z.rowIndex+f.rowSpan-1}}var c=A-s+1;var y=b.parentNode;o(y,d,s,e,c)}else{var n=this.getClosest("td");if(!n){alert(Xinha._lc("Please click into some cell","TableOperations"));break}var b=n.parentNode;var d=n.cellIndex;var s=b.rowIndex;this.dialogMerge(o,d,s)}break;case"TO-table-prop":this.dialogTableProperties();break;case"TO-row-prop":this.dialogRowCellProperties(false);break;case"TO-cell-prop":this.dialogRowCellProperties(true);break;default:alert("Button ["+m+"] not yet implemented")}};TableOperations.btnList=[["table-prop","table","Table properties"],null,["row-prop","tr","Row properties"],["row-insert-above","tr","Insert row before"],["row-insert-under","tr","Insert row after"],["row-delete","tr","Delete row"],["row-split","td[rowSpan!=1]","Split row"],null,["col-insert-before","td","Insert column before"],["col-insert-after","td","Insert column after"],["col-delete","td","Delete column"],["col-split","td[colSpan!=1]","Split column"],null,["cell-prop","td","Cell properties"],["cell-insert-before","td","Insert cell before"],["cell-insert-after","td","Insert cell after"],["cell-delete","td","Delete cell"],["cell-merge","tr","Merge cells"],["cell-split","td[colSpan!=1,rowSpan!=1]","Split cell"]];TableOperations.prototype.dialogMerge=function(h,g,e){var f=this.getClosest("table");var c=this;var b=this.editor;if(!this.dialogMergeCellsHtml){Xinha._getback(Xinha.getPluginDir("TableOperations")+"/popups/dialogMergeCells.html",function(i){c.dialogMergeCellsHtml=i;c.dialogMerge(h,g,e)});return}if(!this.dialogMergeCells){this.dialogMergeCells=new Xinha.Dialog(b,this.dialogMergeCellsHtml,"TableOperations",{width:400});this.dialogMergeCells.getElementById("cancel").onclick=function(){c.dialogMergeCells.hide()}}var d=this.dialogMergeCells;function a(){d.hide();no_cols=parseInt(d.getElementById("f_cols").value,10)+1;no_rows=parseInt(d.getElementById("f_rows").value,10)+1;h(f,g,e,no_cols,no_rows);return}this.dialogMergeCells.getElementById("ok").onclick=a;this.dialogMergeCells.show();this.dialogMergeCells.getElementById("f_cols").focus()};TableOperations.prototype.dialogTableProperties=function(){var l=this.getClosest("table");var k=this;var e=this.editor;if(!this.dialogTablePropertiesHtml){Xinha._getback(Xinha.getPluginDir("TableOperations")+"/popups/dialogTable.html",function(m){k.dialogTablePropertiesHtml=m;k.dialogTableProperties()});return}if(!this.dialogTable){this.dialogTable=new Xinha.Dialog(e,this.dialogTablePropertiesHtml,"TableOperations",{width:440});this.dialogTable.getElementById("cancel").onclick=function(){k.dialogTable.hide()}}var b=this.dialogTable;var f=new Xinha.InlineStyler(l,this.editor,b);function j(){var p=b.hide();f.applyStyle(p);for(var n in p){if(typeof p[n]=="function"){continue}var o=p[n];if(typeof o=="object"&&o!=null&&o.tagName){o=o.value}switch(n){case"caption":if(/\S/.test(o)){var m=l.getElementsByTagName("caption")[0];if(!m){m=b.editor._doc.createElement("caption");l.insertBefore(m,l.firstChild)}m.innerHTML=o}else{var m=l.getElementsByTagName("caption")[0];if(m){m.parentNode.removeChild(m)}}break;case"summary":l.summary=o;break;case"align":l.align=o;break;case"spacing":l.cellSpacing=o;break;case"padding":l.cellPadding=o;break;case"borders":l.border=o;break;case"frames":l.frame=o;break;case"rules":l.rules=o;break}}k.editor.forceRedraw();k.editor.focusEditor();k.editor.updateToolbar();var q=l.style.borderCollapse;l.style.borderCollapse="collapse";l.style.borderCollapse="separate";l.style.borderCollapse=q}var c=f.createStyleLayoutFieldset();var d=b.getElementById("TO_layout");d.replaceChild(c,d.firstChild);var h=f.createStyleFieldset();d=b.getElementById("TO_style");d.replaceChild(h,d.firstChild);this.dialogTable.getElementById("ok").onclick=j;var i={};var g=l.getElementsByTagName("caption")[0];if(g){i.caption=g.innerHTML}else{i.caption=""}i.summary=l.summary;i.spacing=l.cellSpacing;i.padding=l.cellPadding;var a=l.border;i.frames=l.frame;i.rules=l.rules;this.dialogTable.show(i)};TableOperations.prototype.dialogRowCellProperties=function(h){var e=this.getClosest(h?"td":"tr");var k=this.getClosest("table");var j=this;var d=this.editor;if(!j.dialogRowCellPropertiesHtml){Xinha._getback(Xinha.getPluginDir("TableOperations")+"/popups/dialogRowCell.html",function(l){j.dialogRowCellPropertiesHtml=l;j.dialogRowCellProperties(h)});return}if(!this.dialogRowCell){this.dialogRowCell=new Xinha.Dialog(d,j.dialogRowCellPropertiesHtml,"TableOperations",{width:440});this.dialogRowCell.getElementById("cancel").onclick=function(){j.dialogRowCell.hide()}}var b=this.dialogRowCell;b.getElementById("title").innerHTML=h?Xinha._lc("Cell Properties","TableOperations"):Xinha._lc("Row Properties","TableOperations");var f=new Xinha.InlineStyler(e,j.editor,b);function i(){var l=b.hide();f.applyStyle(l);j.editor.forceRedraw();j.editor.focusEditor();j.editor.updateToolbar();var m=k.style.borderCollapse;k.style.borderCollapse="collapse";k.style.borderCollapse="separate";k.style.borderCollapse=m}var a=f.createStyleLayoutFieldset();var c=b.getElementById("TO_layout");c.replaceChild(a,c.firstChild);var g=f.createStyleFieldset();c=b.getElementById("TO_style");c.replaceChild(g,c.firstChild);this.dialogRowCell.getElementById("ok").onclick=i;this.dialogRowCell.show()}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js index 94d068acf..dec919127 100644 --- a/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js @@ -1,6 +1,7 @@ // I18N constants // LANG: "da", ENCODING: UTF-8 // Author: Steen Sønderup, +// Niels Baggesen, , 0.95, 2009-08-15 { "Align": "Placer", "All four sides": "Alle fire sider", @@ -75,5 +76,7 @@ "Xinha cowardly refuses to delete the last column in table.": "Du kan ikke slette den sidste kolonne i en tabel.", "Xinha cowardly refuses to delete the last row in table.": "Du kan ikke slette den sidste række i en tabel.", "percent": "procent", - "pixels": "pixel" + "pixels": "pixel", + "OK": "OK", + "Cancel": "Fortryd" }; diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/lang/es.js b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/es.js new file mode 100644 index 000000000..ac10255d3 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/es.js @@ -0,0 +1,79 @@ +// I18N constants +// LANG: "es", ENCODING: UTF-8 +// translated: Derick Leony +{ + "Align": "Alinear", + "All four sides": "Todos los cuatro lados", + "Background": "Fondo", + "Baseline": "Línea base", + "Border": "Borde", + "Borders": "Bordes", + "Bottom": "Abajo", + "Style [CSS]": "Estilo [CSS]", + "Caption": "Título", + "Cell Properties": "Propiedades de la Celda", + "Center": "Centrar", + "Char": "Carácter", + "Collapsed borders": "Bordes colapsados", + "Color": "Color", + "Description": "Descripción", + "FG Color": "Color Principal", + "Float": "Flotante", + "Frames": "Marcos", + "Height": "Altura", + "How many columns would you like to merge?": "¿Cuántas columnas desea unir?", + "How many rows would you like to merge?": "¿Cuántas filas desea unir?", + "Image URL": "URL de la imágen", + "Justify": "Justificar", + "Layout": "Diseño", + "Left": "Izquierda", + "Margin": "Margen", + "Middle": "Medio", + "No rules": "Ninguna regla", + "No sides": "Ningún lado", + "None": "Ninguno", + "Padding": "Relleno (Padding)", + "Please click into some cell": "Por favor, haz clic en alguna celda", + "Right": "Derecha", + "Row Properties": "Propiedades de la Fila", + "Rules will appear between all rows and columns": "Las líneas aparecerán entre todas las filas y columnas", + "Rules will appear between columns only": "Las líneas aparecerán solo entre las columnas", + "Rules will appear between rows only": "Las líneas aparecerán solo entre las filas", + "Rules": "Líneas", + "Spacing and padding": "Espaciado y Relleno", + "Spacing": "Espaciado", + "Summary": "Resumen", + "Delete cell": "Suprimir celda", + "Insert cell after": "Insertar celda detrás", + "Insert cell before": "Insertar celda delante", + "Merge cells": "Unir celdas", + "Cell properties": "Propiedades de la celda", + "Split cell": "Dividir celda", + "Delete column": "Suprimir columna", + "Insert column after": "Insertar columna detrás", + "Insert column before": "Insertar columna delante", + "Split column": "Dividir columna", + "Delete row": "Suprimir fila", + "Insert row before": "Insertar fila delante", + "Insert row after": "Insertar fila detrás", + "Row properties": "Propiedades de la fila", + "Split row": "Dividir fila", + "Table properties": "Propiedades de la tabla", + "Table Properties": "Propiedades de la Tabla", + "Text align": "Alineación del texto", + "The bottom side only": "Solo el lado inferior", + "The left-hand side only": "Solo el lado izquierdo", + "The right and left sides only": "Solo los lados derecho e izquierdo", + "The right-hand side only": "Solo el lado derecho", + "The top and bottom sides only": "Solo los lados superior e inferior", + "The top side only": "Solo el lado superior", + "Top": "Alto", + "Unset color": "Remover color", + "Vertical align": "Alineación vertical", + "Width": "Ancho", + "Xinha cowardly refuses to delete the last cell in row.": "Xinha se reusa cobardemente a eliminar la última celda en la fila.", + "Xinha cowardly refuses to delete the last column in table.": "Xinha se reusa cobardemente a eliminar la última columna en la tabla.", + "Xinha cowardly refuses to delete the last row in table.": "Xinha se reusa cobardemente a eliminar la última fila en la tabla.", + "percent": "por ciento", + "pixels": "píxeles" +}; diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogMergeCells.html b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogMergeCells.html new file mode 100644 index 000000000..a891ec1d4 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogMergeCells.html @@ -0,0 +1,26 @@ +

    Merge Cells

    + + + + + + + + + + + + + + + +
    + Merge current cell with: +
    Cells to the right, and
    Cells down
    +
    +
    + + +
    +
    + diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogRowCell.html b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogRowCell.html new file mode 100644 index 000000000..17e8edd7f --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogRowCell.html @@ -0,0 +1,15 @@ +

    Title

    + + + + + + + +

    +

    +
    +
    + + +
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogTable.html b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogTable.html new file mode 100644 index 000000000..25b121e81 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogTable.html @@ -0,0 +1,119 @@ +

    Table Properties

    + + + + + + + + + + + + + + + + + + +
    +
    + + Description + + + + + + + + + + + + +
    + Caption: + + +
    + Summary: + + +
    +
    +

    +
    +
    + + Spacing and padding + + + + + + + + +
    + Spacing: + +  Padding:   pixels +
    +
    +
    +
    + + Frame and borders + + + + + + + + + + + + + + + + +
    + Borders: + +   pixels +
    + Frames: + + +
    + Rules: + + +
    +
    +

    +
    +
    + + +
    + diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/table-operations.js b/ccm-core/web/assets/xinha/plugins/TableOperations/table-operations.js deleted file mode 100644 index ec7116ee4..000000000 --- a/ccm-core/web/assets/xinha/plugins/TableOperations/table-operations.js +++ /dev/null @@ -1,910 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/TableOperations/table-operations.js */ -Xinha.Config.prototype.TableOperations={"showButtons":true}; -function TableOperations(_1){ -this.editor=_1; -var _2=_1.config; -var bl=TableOperations.btnList; -var _4=this; -_2.removeToolbarElement(" inserttable toggleborders "); -var _5=["linebreak","inserttable","toggleborders"]; -for(var i=0;i
    "+Xinha._lc("Description","TableOperations")+"
    "+Xinha._lc("Caption","TableOperations")+":
    "+Xinha._lc("Summary","TableOperations")+":
    "+Xinha._lc("Spacing and padding","TableOperations")+" "+"
    "+Xinha._lc("Spacing","TableOperations")+":  "+Xinha._lc("Padding","TableOperations")+":   "+Xinha._lc("pixels","TableOperations")+"
    "+Xinha._lc("Frame and borders","TableOperations")+"
    "+Xinha._lc("Borders","TableOperations")+":   "+Xinha._lc("pixels","TableOperations")+"
    "+Xinha._lc("Frames","TableOperations")+":
    "+Xinha._lc("Rules","TableOperations")+":
    "; -var _27=TableOperations.createStyleFieldset(_1a.doc,_1a.editor,_12); -var p=_1a.doc.getElementById("--HA-style"); -p.appendChild(_27); -var _29=TableOperations.createStyleLayoutFieldset(_1a.doc,_1a.editor,_12); -p=_1a.doc.getElementById("--HA-layout"); -p.appendChild(_29); -_1a.modal=true; -_1a.addButtons("OK","Cancel"); -_1a.showAtElement(_1a.editor._iframe,"c"); -}); -}; -TableOperations.prototype.dialogRowCellProperties=function(_2a){ -var _2b=this.getClosest(_2a?"td":"tr"); -var _2c=this.getClosest("table"); -var _2d=new PopupWin(this.editor,_2a?Xinha._lc("Cell Properties","TableOperations"):Xinha._lc("Row Properties","TableOperations"),function(_2e,_2f){ -TableOperations.processStyle(_2f,_2b); -for(var i in _2f){ -if(typeof _2f[i]=="function"){ -continue; -} -var val=_2f[i]; -switch(i){ -case "f_align": -_2b.align=val; -break; -case "f_char": -_2b.ch=val; -break; -case "f_valign": -_2b.vAlign=val; -break; -} -} -_2e.editor.forceRedraw(); -_2e.editor.focusEditor(); -_2e.editor.updateToolbar(); -var _32=_2c.style.borderCollapse; -_2c.style.borderCollapse="collapse"; -_2c.style.borderCollapse="separate"; -_2c.style.borderCollapse=_32; -},function(_33){ -var _34=_2b.align; -var _35=_2b.vAlign; -var _36=_2b.ch; -function selected(val){ -return val?" selected":""; -} -_33.content.style.width="400px"; -_33.content.innerHTML="
    "+Xinha._lc(_2a?"Cell Properties":"Row Properties","TableOperations")+"
    "+"
    "; -var _38=TableOperations.createStyleFieldset(_33.doc,_33.editor,_2b); -var p=_33.doc.getElementById("--HA-style"); -p.appendChild(_38); -var _3a=TableOperations.createStyleLayoutFieldset(_33.doc,_33.editor,_2b); -p=_33.doc.getElementById("--HA-layout"); -p.appendChild(_3a); -_33.modal=true; -_33.addButtons("OK","Cancel"); -_33.showAtElement(_33.editor._iframe,"c"); -}); -}; -TableOperations.prototype.buttonPress=function(_3b,_3c){ -this.editor=_3b; -var _3d=Xinha.is_gecko?"
    ":""; -function clearRow(tr){ -var tds=tr.getElementsByTagName("td"); -for(var i=tds.length;--i>=0;){ -var td=tds[i]; -td.rowSpan=1; -td.innerHTML=_3d; -} -} -function splitRow(td){ -var n=parseInt(""+td.rowSpan); -var nc=parseInt(""+td.colSpan); -td.rowSpan=1; -tr=td.parentNode; -var itr=tr.rowIndex; -var trs=tr.parentNode.rows; -var _47=td.cellIndex; -while(--n>0){ -tr=trs[++itr]; -var otd=_3b._doc.createElement("td"); -otd.colSpan=td.colSpan; -otd.innerHTML=_3d; -tr.insertBefore(otd,tr.cells[_47]); -} -_3b.forceRedraw(); -_3b.updateToolbar(); -} -function splitCol(td){ -var nc=parseInt(""+td.colSpan); -td.colSpan=1; -tr=td.parentNode; -var ref=td.nextSibling; -while(--nc>0){ -var otd=_3b._doc.createElement("td"); -otd.rowSpan=td.rowSpan; -otd.innerHTML=_3d; -tr.insertBefore(otd,ref); -} -_3b.forceRedraw(); -_3b.updateToolbar(); -} -function splitCell(td){ -var nc=parseInt(""+td.colSpan); -splitCol(td); -var _4f=td.parentNode.cells; -var _50=td.cellIndex; -while(nc-->0){ -splitRow(_4f[_50++]); -} -} -function selectNextNode(el){ -var _52=el.nextSibling; -while(_52&&_52.nodeType!=1){ -_52=_52.nextSibling; -} -if(!_52){ -_52=el.previousSibling; -while(_52&&_52.nodeType!=1){ -_52=_52.previousSibling; -} -} -if(!_52){ -_52=el.parentNode; -} -_3b.selectNodeContents(_52); -} -function cellMerge(_53,_54,_55,_56,_57){ -var _58=[]; -var _59=[]; -try{ -for(i=_55;i<_55+_57;i++){ -var row=_53.rows[i]; -for(j=_54;j<_54+_56;j++){ -if(row.cells[j].colSpan>1||row.cells[j].rowSpan>1){ -splitCell(row.cells[j]); -} -_59.push(row.cells[j]); -} -if(_59.length>0){ -_58.push(_59); -_59=[]; -} -} -} -catch(e){ -alert("Invalid selection"); -return false; -} -var _5b=_58[0][0].parentNode.rowIndex; -var _5c=_58[_58.length-1][0].parentNode.rowIndex; -var _5d=_58[_58.length-1][0].rowSpan; -var _5e=""; -for(i=0;i<_58.length;++i){ -var _59=_58[i]; -for(var j=0;j<_59.length;++j){ -var _60=_59[j]; -_5e+=_60.innerHTML; -(i||j)&&(_60.parentNode.removeChild(_60)); -} -} -var td=_58[0][0]; -td.innerHTML=_5e; -td.rowSpan=_5c-_5b+_5d; -var _62=0; -for(j=0;j<_58[0].length;j++){ -_62+=_58[0][j].colSpan; -} -td.colSpan=_62; -_3b.selectNodeContents(td); -_3b.forceRedraw(); -_3b.focusEditor(); -} -switch(_3c){ -case "TO-row-insert-above": -case "TO-row-insert-under": -var tr=this.getClosest("tr"); -if(!tr){ -break; -} -var otr=tr.cloneNode(true); -clearRow(otr); -tr.parentNode.insertBefore(otr,/under/.test(_3c)?tr.nextSibling:tr); -_3b.forceRedraw(); -_3b.focusEditor(); -break; -case "TO-row-delete": -var tr=this.getClosest("tr"); -if(!tr){ -break; -} -var par=tr.parentNode; -if(par.rows.length==1){ -alert(Xinha._lc("Xinha cowardly refuses to delete the last row in table.","TableOperations")); -break; -} -selectNextNode(tr); -par.removeChild(tr); -_3b.forceRedraw(); -_3b.focusEditor(); -_3b.updateToolbar(); -break; -case "TO-row-split": -var td=this.getClosest("td"); -if(!td){ -break; -} -splitRow(td); -break; -case "TO-col-insert-before": -case "TO-col-insert-after": -var td=this.getClosest("td"); -if(!td){ -break; -} -var _67=td.parentNode.parentNode.rows; -var _68=td.cellIndex; -var _69=(td.parentNode.cells.length==_68+1); -for(var i=_67.length;--i>=0;){ -var tr=_67[i]; -var otd=_3b._doc.createElement("td"); -otd.innerHTML=_3d; -if(_69&&Xinha.is_ie){ -tr.insertBefore(otd); -}else{ -var ref=tr.cells[_68+(/after/.test(_3c)?1:0)]; -tr.insertBefore(otd,ref); -} -} -_3b.focusEditor(); -break; -case "TO-col-split": -var td=this.getClosest("td"); -if(!td){ -break; -} -splitCol(td); -break; -case "TO-col-delete": -var td=this.getClosest("td"); -if(!td){ -break; -} -var _68=td.cellIndex; -if(td.parentNode.cells.length==1){ -alert(Xinha._lc("Xinha cowardly refuses to delete the last column in table.","TableOperations")); -break; -} -selectNextNode(td); -var _67=td.parentNode.parentNode.rows; -for(var i=_67.length;--i>=0;){ -var tr=_67[i]; -tr.removeChild(tr.cells[_68]); -} -_3b.forceRedraw(); -_3b.focusEditor(); -_3b.updateToolbar(); -break; -case "TO-cell-split": -var td=this.getClosest("td"); -if(!td){ -break; -} -splitCell(td); -break; -case "TO-cell-insert-before": -case "TO-cell-insert-after": -var td=this.getClosest("td"); -if(!td){ -break; -} -var tr=td.parentNode; -var otd=_3b._doc.createElement("td"); -otd.innerHTML=_3d; -tr.insertBefore(otd,/after/.test(_3c)?td.nextSibling:td); -_3b.forceRedraw(); -_3b.focusEditor(); -break; -case "TO-cell-delete": -var td=this.getClosest("td"); -if(!td){ -break; -} -if(td.parentNode.cells.length==1){ -alert(Xinha._lc("Xinha cowardly refuses to delete the last cell in row.","TableOperations")); -break; -} -selectNextNode(td); -td.parentNode.removeChild(td); -_3b.forceRedraw(); -_3b.updateToolbar(); -break; -case "TO-cell-merge": -var sel=_3b._getSelection(); -if(!Xinha.is_ie&&sel.rangeCount>1){ -var _6e=sel.getRangeAt(0); -var td=_6e.startContainer.childNodes[_6e.startOffset]; -var tr=td.parentNode; -var _6f=td.cellIndex; -var _70=tr.rowIndex; -var _71=0; -var _72=_70; -var _73=0; -var _74=0; -var td2,tr2; -for(i=0;i_73){ -_73=_74; -} -if(tr2.rowIndex+td2.rowSpan-1>_71){ -_71=tr2.rowIndex+td2.rowSpan-1; -} -} -var _76=_71-_70+1; -var _77=tr.parentNode; -cellMerge(_77,_6f,_70,_73,_76); -}else{ -var td=this.getClosest("td"); -if(!td){ -alert(Xinha._lc("Please click into some cell","TableOperations")); -break; -} -_3b._popupDialog("plugin://TableOperations/merge_cells.html",function(_78){ -if(!_78){ -return false; -} -_73=parseInt(_78["f_cols"],10)+1; -_76=parseInt(_78["f_rows"],10)+1; -var tr=td.parentNode; -var _7a=td.cellIndex; -var _7b=tr.rowIndex; -var _7c=tr.parentNode; -cellMerge(_7c,_7a,_7b,_73,_76); -},null); -} -break; -case "TO-table-prop": -this.dialogTableProperties(); -break; -case "TO-row-prop": -this.dialogRowCellProperties(false); -break; -case "TO-cell-prop": -this.dialogRowCellProperties(true); -break; -default: -alert("Button ["+_3c+"] not yet implemented"); -} -}; -TableOperations.btnList=[["table-prop","table","Table properties"],null,["row-prop","tr","Row properties"],["row-insert-above","tr","Insert row before"],["row-insert-under","tr","Insert row after"],["row-delete","tr","Delete row"],["row-split","td[rowSpan!=1]","Split row"],null,["col-insert-before","td","Insert column before"],["col-insert-after","td","Insert column after"],["col-delete","td","Delete column"],["col-split","td[colSpan!=1]","Split column"],null,["cell-prop","td","Cell properties"],["cell-insert-before","td","Insert cell before"],["cell-insert-after","td","Insert cell after"],["cell-delete","td","Delete cell"],["cell-merge","tr","Merge cells"],["cell-split","td[colSpan!=1,rowSpan!=1]","Split cell"]]; -TableOperations.getLength=function(_7d){ -var len=parseInt(_7d); -if(isNaN(len)){ -len=""; -} -return len; -}; -TableOperations.processStyle=function(_7f,_80){ -var _81=_80.style; -for(var i in _7f){ -if(typeof _7f[i]=="function"){ -continue; -} -var val=_7f[i]; -switch(i){ -case "f_st_backgroundColor": -_81.backgroundColor=val; -break; -case "f_st_color": -_81.color=val; -break; -case "f_st_backgroundImage": -if(/\S/.test(val)){ -_81.backgroundImage="url("+val+")"; -}else{ -_81.backgroundImage="none"; -} -break; -case "f_st_borderWidth": -_81.borderWidth=val; -break; -case "f_st_borderStyle": -_81.borderStyle=val; -break; -case "f_st_borderColor": -_81.borderColor=val; -break; -case "f_st_borderCollapse": -_81.borderCollapse=val?"collapse":""; -break; -case "f_st_width": -if(/\S/.test(val)){ -_81.width=val+_7f["f_st_widthUnit"]; -}else{ -_81.width=""; -} -break; -case "f_st_height": -if(/\S/.test(val)){ -_81.height=val+_7f["f_st_heightUnit"]; -}else{ -_81.height=""; -} -break; -case "f_st_textAlign": -if(val=="char"){ -var ch=_7f["f_st_textAlignChar"]; -if(ch=="\""){ -ch="\\\""; -} -_81.textAlign="\""+ch+"\""; -}else{ -if(val=="-"){ -_81.textAlign=""; -}else{ -_81.textAlign=val; -} -} -break; -case "f_st_verticalAlign": -_80.vAlign=""; -if(val=="-"){ -_81.verticalAlign=""; -}else{ -_81.verticalAlign=val; -} -break; -case "f_st_float": -if(Xinha.is_ie){ -_81.styleFloat=val; -}else{ -_81.cssFloat=val; -} -break; -} -} -}; -TableOperations.createColorButton=function(doc,_86,_87,_88){ -if(!_87){ -_87=""; -}else{ -if(!/#/.test(_87)){ -_87=Xinha._colorToRgb(_87); -} -} -var df=doc.createElement("span"); -var _8a=doc.createElement("input"); -_8a.type="hidden"; -df.appendChild(_8a); -_8a.name="f_st_"+_88; -_8a.value=_87; -var _8b=doc.createElement("span"); -_8b.className="buttonColor"; -df.appendChild(_8b); -var _8c=doc.createElement("span"); -_8c.className="chooser"; -_8c.style.backgroundColor=_87; -_8b.appendChild(_8c); -_8b.onmouseover=function(){ -if(!this.disabled){ -this.className+=" buttonColor-hilite"; -} -}; -_8b.onmouseout=function(){ -if(!this.disabled){ -this.className="buttonColor"; -} -}; -_8c.onclick=function(){ -if(this.parentNode.disabled){ -return false; -} -_86._popupDialog("select_color.html",function(_8d){ -if(_8d){ -_8c.style.backgroundColor="#"+_8d; -_8a.value="#"+_8d; -} -},_87); -}; -var _8e=doc.createElement("span"); -_8e.innerHTML="×"; -_8e.className="nocolor"; -_8e.title=Xinha._lc("Unset color","TableOperations"); -_8b.appendChild(_8e); -_8e.onmouseover=function(){ -if(!this.parentNode.disabled){ -this.className+=" nocolor-hilite"; -} -}; -_8e.onmouseout=function(){ -if(!this.parentNode.disabled){ -this.className="nocolor"; -} -}; -_8e.onclick=function(){ -_8c.style.backgroundColor=""; -_8a.value=""; -}; -return df; -}; -TableOperations.createStyleLayoutFieldset=function(doc,_90,el){ -var _92=doc.createElement("fieldset"); -var _93=doc.createElement("legend"); -_92.appendChild(_93); -_93.innerHTML=Xinha._lc("Layout","TableOperations"); -var _94=doc.createElement("table"); -_92.appendChild(_94); -_94.style.width="100%"; -var _95=doc.createElement("tbody"); -_94.appendChild(_95); -var _96=el.tagName.toLowerCase(); -var tr,td,input,select,option,options,i; -if(_96!="td"&&_96!="tr"&&_96!="th"){ -tr=doc.createElement("tr"); -_95.appendChild(tr); -td=doc.createElement("td"); -td.className="label"; -tr.appendChild(td); -td.innerHTML=Xinha._lc("Float","TableOperations")+":"; -td=doc.createElement("td"); -tr.appendChild(td); -select=doc.createElement("select"); -td.appendChild(select); -select.name="f_st_float"; -options=["None","Left","Right"]; -for(var i=0;i - -Insert template - - - - - - - -
    Insert template
    -
    - - - - - - -
    - - - - -
    -
    - -
    - -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Template/template.css b/ccm-core/web/assets/xinha/plugins/Template/template.css deleted file mode 100755 index 86c359afe..000000000 --- a/ccm-core/web/assets/xinha/plugins/Template/template.css +++ /dev/null @@ -1,3 +0,0 @@ -div { - border: 1px dotted ActiveBorder; -} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Template/template.js b/ccm-core/web/assets/xinha/plugins/Template/template.js deleted file mode 100644 index f0d778997..000000000 --- a/ccm-core/web/assets/xinha/plugins/Template/template.js +++ /dev/null @@ -1,86 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Template/template.js */ -function Template(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"template",tooltip:Xinha._lc("Insert template","Template"),image:_1.imgURL("ed_template.gif","Template"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("template","inserthorizontalrule",1); -} -Template._pluginInfo={name:"Template",version:"1.0",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath NeueMedien",license:"htmlArea"}; -Template.prototype.onGenerate=function(){ -this.editor.addEditorStylesheet(Xinha.getPluginDir("Template")+"/template.css"); -}; -Template.prototype.buttonPress=function(_5){ -_5._popupDialog("plugin://Template/template",function(_6){ -if(!_6){ -return false; -} -var _7=_5._doc.getElementsByTagName("body"); -var _8=_7[0]; -function getElement(x){ -var _a=_5._doc.getElementById(x); -if(!_a){ -_a=_5._doc.createElement("div"); -_a.id=x; -_a.innerHTML=x; -_8.appendChild(_a); -} -if(_a.style){ -_a.removeAttribute("style"); -} -return _a; -} -var _b=getElement("content"); -var _c=getElement("menu1"); -var _d=getElement("menu2"); -var _e=getElement("menu3"); -switch(_6["templ"]){ -case "1": -_c.style.position="absolute"; -_c.style.right="0px"; -_c.style.width="28%"; -_c.style.backgroundColor="#e1ddd9"; -_c.style.padding="2px 20px"; -_b.style.position="absolute"; -_b.style.left="0px"; -_b.style.width="70%"; -_b.style.backgroundColor="#fff"; -_d.style.visibility="hidden"; -_e.style.visibility="hidden"; -break; -case "2": -_c.style.position="absolute"; -_c.style.left="0px"; -_c.style.width="28%"; -_c.style.height="100%"; -_c.style.backgroundColor="#e1ddd9"; -_b.style.position="absolute"; -_b.style.right="0px"; -_b.style.width="70%"; -_b.style.backgroundColor="#fff"; -_d.style.visibility="hidden"; -_e.style.visibility="hidden"; -break; -case "3": -_c.style.position="absolute"; -_c.style.left="0px"; -_c.style.width="28%"; -_c.style.backgroundColor="#e1ddd9"; -_d.style.position="absolute"; -_d.style.right="0px"; -_d.style.width="28%"; -_d.style.backgroundColor="#e1ddd9"; -_b.style.position="absolute"; -_b.style.right="30%"; -_b.style.width="60%"; -_b.style.backgroundColor="#fff"; -_e.style.visibility="hidden"; -break; -} -},null); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/UnFormat.js b/ccm-core/web/assets/xinha/plugins/UnFormat/UnFormat.js new file mode 100644 index 000000000..6f86b2fe0 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/UnFormat/UnFormat.js @@ -0,0 +1,107 @@ +// Unormat plugin for Xinha + + +UnFormat._pluginInfo = { + name : "UnFormat", + version : "1.0", + license : "htmlArea" +}; + + +function UnFormat(editor) { + this.editor = editor; + var cfg = editor.config; + var self = this; + + cfg.registerButton({ + id : "unformat", + tooltip : Xinha._lc("Page Cleaner",'UnFormat'), + image : editor.imgURL("unformat.gif", "UnFormat"), + textMode : false, + action : function(editor) { + self.show(); + } + }); + + cfg.addToolbarElement("unformat", "killword", 1); +} + +UnFormat.prototype.onGenerateOnce = function(editor){ + // Load assets + var self = UnFormat; + if (self.loading) return; + self.loading = true; + self.methodsReady = true; + Xinha._getback(Xinha.getPluginDir('UnFormat') + '/dialog.html', function(getback) { self.html = getback; self.dialogReady = true; }); +} +UnFormat.prototype.onUpdateToolbar = function(editor){ + if (!(UnFormat.dialogReady && UnFormat.methodsReady)) + { + this.editor._toolbarObjects.UnFormat.state("enabled", false); + } + else this.onUpdateToolbar = null; + +} +UnFormat.prototype.prepareDialog = function(editor){ + var self = this; + var editor = this.editor; + + var dialog = this.dialog = new Xinha.Dialog(editor, UnFormat.html, 'Xinha',{width:400}) + // Connect the OK and Cancel buttons + dialog.getElementById('ok').onclick = function() {self.apply();} + dialog.getElementById('cancel').onclick = function() { self.dialog.hide()}; + + this.dialogReady = true; +} +UnFormat.prototype.show = function(editor){ + if (!this.dialog) this.prepareDialog(); + + var editor = this.editor; + + var values = + { + "cleaning_area" : 'selection', + "formatting" : '', + "html_all" : '' + } + // now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog + this.dialog.show(values); + this.dialog.onresize(); +} +UnFormat.prototype.apply = function(editor){ + var editor = this.editor; + var doc = editor._doc; + var param = this.dialog.getValues(); + + // selection is only restored on dialog.hide() + this.dialog.hide(); + // assign the given arguments + + if (param["cleaning_area"] == "all") { + var html = editor._doc.body.innerHTML; + } else { + var html = editor.getSelectedHTML(); + } + + if (param.html_all) { + html = html.replace(/<[\!]*?[^<>]*?>/g, ""); + } + + if (param.formatting) { + html = html.replace(/style="[^"]*"/gi, ""); + html = html.replace(/<\/?font[^>]*>/gi,""); + html = html.replace(/<\/?b>/gi,""); + html = html.replace(/<\/?strong[^>]*>/gi,""); + html = html.replace(/<\/?i>/gi,""); + html = html.replace(/<\/?em[^>]*>/gi,""); + html = html.replace(/<\/?u[^>]*>/gi,""); + html = html.replace(/<\/?strike[^>]*>/gi,""); + html = html.replace(/ align=[^\s|>]*/gi,""); + html = html.replace(/ class=[^\s|>]*/gi,""); + } + if (param["cleaning_area"] == "all") { + editor._doc.body.innerHTML = html; + } else { + editor.insertHTML(html); + } +}; diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/dialog.html b/ccm-core/web/assets/xinha/plugins/UnFormat/dialog.html new file mode 100644 index 000000000..5cbd89a4a --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/UnFormat/dialog.html @@ -0,0 +1,28 @@ +

    Page Cleaner

    + +
    +
    + Cleaning Area + Selection + All +
    +
    +
    + Cleaning options +
    +
    Formatting:
    + +

    +

    All HTML:
    + +

    +

    +

    +

    Select which types of formatting you would like to remove.

    + +
    + + +
    + +
    diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/popups/unformat.html b/ccm-core/web/assets/xinha/plugins/UnFormat/popups/unformat.html deleted file mode 100755 index eb4371aae..000000000 --- a/ccm-core/web/assets/xinha/plugins/UnFormat/popups/unformat.html +++ /dev/null @@ -1,85 +0,0 @@ - - - -Page Cleaner - - - - - - - -
    Page Cleaner
    - -
    -
    - Cleaning Area - Selection - All -
    -
    -
    - Cleaning options -
    -
    Formatting:
    - -

    -

    All HTML:
    - -

    -

    -

    -

    Select which types of formatting you would like to remove.

    - -
    - - -
    - -
    - - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/un-format.js b/ccm-core/web/assets/xinha/plugins/UnFormat/un-format.js deleted file mode 100644 index 0923c52e0..000000000 --- a/ccm-core/web/assets/xinha/plugins/UnFormat/un-format.js +++ /dev/null @@ -1,50 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/UnFormat/un-format.js */ -function UnFormat(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"unformat",tooltip:this._lc("Page Cleaner"),image:_1.imgURL("unformat.gif","UnFormat"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("unformat","killword",1); -} -UnFormat._pluginInfo={name:"UnFormat",version:"1.0",license:"htmlArea"}; -UnFormat.prototype._lc=function(_5){ -return Xinha._lc(_5,"UnFormat"); -}; -UnFormat.prototype.buttonPress=function(_6){ -_6._popupDialog("plugin://UnFormat/unformat",function(_7){ -if(_7){ -if(_7["cleaning_area"]=="all"){ -var _8=_6._doc.body.innerHTML; -}else{ -var _8=_6.getSelectedHTML(); -} -if(_7["html_all"]==true){ -_8=_8.replace(/<[\!]*?[^<>]*?>/g,""); -} -if(_7["formatting"]==true){ -_8=_8.replace(/style="[^"]*"/gi,""); -_8=_8.replace(/<\/?font[^>]*>/gi,""); -_8=_8.replace(/<\/?b>/gi,""); -_8=_8.replace(/<\/?strong[^>]*>/gi,""); -_8=_8.replace(/<\/?i>/gi,""); -_8=_8.replace(/<\/?em[^>]*>/gi,""); -_8=_8.replace(/<\/?u[^>]*>/gi,""); -_8=_8.replace(/<\/?strike[^>]*>/gi,""); -_8=_8.replace(/ align=[^\s|>]*/gi,""); -_8=_8.replace(/ class=[^\s|>]*/gi,""); -} -if(_7["cleaning_area"]=="all"){ -_6._doc.body.innerHTML=_8; -}else{ -_6.insertHTML(_8); -} -}else{ -return false; -} -},null); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/WysiwygWrap/WysiwygWrap.js b/ccm-core/web/assets/xinha/plugins/WysiwygWrap/WysiwygWrap.js new file mode 100644 index 000000000..839bbab28 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/WysiwygWrap/WysiwygWrap.js @@ -0,0 +1,101 @@ +/** + * WYSIWYG Wrap Plugin + * + * The purpose of this plugin is to wrap the content being edited in Xinha + * with certain elements of given ID and/or class when in the WYSIWYG view. + * + * The reason for this is to assist when styling content. + * + */ + +WysiwygWrap._pluginInfo = { + name : "WYSIWYG Wrap", + version : "1.0", + developer : "James Sleeman", + developer_url : "http://www.gogo.co.nz/", + c_owner : "James Sleeman", + license : "htmlArea" +}; + +Xinha.Config.prototype.WysiwygWrap = +{ + 'elements' : [ ] + // 'elements' : [ 'div.class#id', 'ul', 'li' ] +}; + + +function WysiwygWrap(editor) { + this.editor = editor; +} + +/** Take HTML and wrap it with the elements. + * + * @param string + * @return string + */ + +WysiwygWrap.prototype.inwardHtml = function(html) +{ + for(var x = this.editor.config.WysiwygWrap.elements.length - 1; x >= 0; x--) + { + var e = { tagName: this.editor.config.WysiwygWrap.elements[x], className: '', id: '' }; + if(e.tagName.match(/#(.+)$/)) + { + e.id = RegExp.$1; + e.tagName = e.tagName.replace(/#(.+)$/,''); + } + + if(e.tagName.match(/[^.]*\.(.+)$/)) + { + e.className = RegExp.$1.replace('.', ' '); + e.tagName = e.tagName.replace(/\..+$/, ''); + } + + if(!e.tagName.length) + { + e.tagName = 'div'; + } + + html = '<'+e.tagName+' id="'+e.id+'" class="'+e.className+'">'+html+''; + } + + return html; +} + +/** Take HTML and strip it from the elements. + * + * @param string + * @return string + */ + +WysiwygWrap.prototype.outwardHtml = function(html) +{ + for(var x = 0; x < this.editor.config.WysiwygWrap.elements.length; x++) + { + var e = { tagName: this.editor.config.WysiwygWrap.elements[x], className: '', id: '' }; + if(e.tagName.match(/#(.+)$/)) + { + e.id = RegExp.$1; + e.tagName = e.tagName.replace(/#(.+)$/,''); + } + + if(e.tagName.match(/[^.]*\.(.+)$/)) + { + e.className = RegExp.$1.replace('.', ' '); + e.tagName = e.tagName.replace(/\..+$/, ''); + } + + if(!e.tagName.length) + { + e.tagName = 'div'; + } + + var r1 = new RegExp('^(\\s|\\n|\\r)*<'+e.tagName+'[^>]*>(\\s|\\n|\\r)*', 'i'); + var r2 = new RegExp('(\\s|\\n|\\r)*]*>(\\s|\\n|\\r)*$', 'i'); + + html = html.replace(r1, ''); + html = html.replace(r2, ''); + } + + return html; +} diff --git a/ccm-core/web/assets/xinha/popups/about.html b/ccm-core/web/assets/xinha/popups/about.html deleted file mode 100755 index 7f129d621..000000000 --- a/ccm-core/web/assets/xinha/popups/about.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - -About Xinha - - - - - - - -
    - -

    Xinha

    - -
    - -
    -
    - -
    - -

    A free WYSIWYG editor replacement for <textarea> fields.

    -

    Visit the Xinha Website for more information.

    - -

    - Use of Xinha is granted by the terms of the htmlArea License (based on BSD license) -

    -
    -   Copyright (c) 2005-2008 Xinha Developer Team and contributors
    -  
    -

    - Xinha was originally based on work by Mihai Bazon which is: -

    -
    -Copyright (c) 2003-2004 dynarch.com.
    -Copyright (c) 2002-2003 interactivetools.com, inc.
    -This copyright notice MUST stay intact for use.
    -  
    -
    - -
    - -

    - The development of Xinha would not have been possible without the original work of Mihai Bazon, InteractiveTools.com, and the many sponsors and contributors from around the world. -

    - -
    - -
    -
    htmlArea License (based on BSD license)
    -Copyright (c) 2002-2004, interactivetools.com, inc.
    -Copyright (c) 2003-2004 dynarch.com
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -1) Redistributions of source code must retain the above copyright notice,
    -   this list of conditions and the following disclaimer.
    -
    -2) Redistributions in binary form must reproduce the above copyright notice,
    -   this list of conditions and the following disclaimer in the documentation
    -   and/or other materials provided with the distribution.
    -
    -3) Neither the name of interactivetools.com, inc. nor the names of its
    -   contributors may be used to endorse or promote products derived from this
    -   software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    - -
    -
    -
    -
    - - -
    - -
    - -
    - - -
    - - -
    -
    About
    Thanks
    License
    Plugins
    Version
    - -
    - -
    - - diff --git a/ccm-core/web/assets/xinha/popups/editor_help.html b/ccm-core/web/assets/xinha/popups/editor_help.html index f19781364..9aa7a89d6 100755 --- a/ccm-core/web/assets/xinha/popups/editor_help.html +++ b/ccm-core/web/assets/xinha/popups/editor_help.html @@ -23,7 +23,7 @@ function onCancel() { -
    Xinha Help
    +
    Editor Help
    diff --git a/ccm-core/web/assets/xinha/popups/popup.js b/ccm-core/web/assets/xinha/popups/popup.js index d08f6676c..372a39b79 100644 --- a/ccm-core/web/assets/xinha/popups/popup.js +++ b/ccm-core/web/assets/xinha/popups/popup.js @@ -1,108 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/popups/popup.js */ -if(typeof Xinha=="undefined"){ -Xinha=window.opener.Xinha; -} -HTMLArea=Xinha; -function getAbsolutePos(el){ -var r={x:el.offsetLeft,y:el.offsetTop}; -if(el.offsetParent){ -var _3=getAbsolutePos(el.offsetParent); -r.x+=_3.x; -r.y+=_3.y; -} -return r; -} -function comboSelectValue(c,_5){ -var _6=c.getElementsByTagName("option"); -for(var i=_6.length;--i>=0;){ -var op=_6[i]; -op.selected=(op.value==_5); -} -c.value=_5; -} -function __dlg_onclose(){ -opener.Dialog._return(null); -} -function __dlg_init(_9,_a){ -__xinha_dlg_init(_a); -} -function __xinha_dlg_init(_b){ -if(window.__dlg_init_done){ -return true; -} -if(window.opener._editor_skin){ -var _c=document.getElementsByTagName("head")[0]; -var _d=document.createElement("link"); -_d.type="text/css"; -_d.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css"; -_d.rel="stylesheet"; -_c.appendChild(_d); -} -if(!window.dialogArguments&&opener.Dialog._arguments){ -window.dialogArguments=opener.Dialog._arguments; -} -var _e=Xinha.pageSize(window); -if(!_b){ -_b={width:_e.x,height:_e.y}; -} -window.resizeTo(_b.width,_b.height); -var _f=Xinha.viewportSize(window); -window.resizeBy(0,_e.y-_f.y); -if(_b.top&&_b.left){ -window.moveTo(_b.left,_b.top); -}else{ -if(!Xinha.is_ie){ -var x=opener.screenX+(opener.outerWidth-_b.width)/2; -var y=opener.screenY+(opener.outerHeight-_b.height)/2; -}else{ -var x=(self.screen.availWidth-_b.width)/2; -var y=(self.screen.availHeight-_b.height)/2; -} -window.moveTo(x,y); -} -Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc); -window.__dlg_init_done=true; -} -function __dlg_translate(_12){ -var _13=["input","select","legend","span","option","td","th","button","div","label","a","img"]; -for(var _14=0;_14<_13.length;++_14){ -var _15=document.getElementsByTagName(_13[_14]); -for(var i=_15.length;--i>=0;){ -var _17=_15[i]; -if(_17.firstChild&&_17.firstChild.data){ -var txt=Xinha._lc(_17.firstChild.data,_12); -if(txt){ -_17.firstChild.data=txt; -} -} -if(_17.title){ -var txt=Xinha._lc(_17.title,_12); -if(txt){ -_17.title=txt; -} -} -if(_17.tagName.toLowerCase()=="input"&&(/^(button|submit|reset)$/i.test(_17.type))){ -var txt=Xinha._lc(_17.value,_12); -if(txt){ -_17.value=txt; -} -} -} -} -document.title=Xinha._lc(document.title,_12); -} -function __dlg_close(val){ -opener.Dialog._return(val); -window.close(); -} -function __dlg_close_on_esc(ev){ -ev||(ev=window.event); -if(ev.keyCode==27){ -__dlg_close(null); -return false; -} -return true; -} - +if(typeof Xinha=="undefined"){Xinha=window.opener.Xinha}HTMLArea=Xinha;function getAbsolutePos(b){var c={x:b.offsetLeft,y:b.offsetTop};if(b.offsetParent){var a=getAbsolutePos(b.offsetParent);c.x+=a.x;c.y+=a.y}return c}function comboSelectValue(f,d){var b=f.getElementsByTagName("option");for(var a=b.length;--a>=0;){var e=b[a];e.selected=(e.value==d)}f.value=d}function __dlg_onclose(){opener.Dialog._return(null)}function __dlg_init(b,a){__xinha_dlg_init(a)}function __xinha_dlg_init(b){if(window.__dlg_init_done){return true}if(window.opener._editor_skin){var c=document.getElementsByTagName("head")[0];var d=document.createElement("link");d.type="text/css";d.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css";d.rel="stylesheet";c.appendChild(d)}if(!window.dialogArguments&&opener.Dialog._arguments){window.dialogArguments=opener.Dialog._arguments}var e=Xinha.pageSize(window);if(!b){b={width:e.x,height:e.y}}window.resizeTo(b.width,b.height);var f=Xinha.viewportSize(window);window.resizeBy(0,e.y-f.y);if(b.top&&b.left){window.moveTo(b.left,b.top)}else{if(!Xinha.is_ie){var a=opener.screenX+(opener.outerWidth-b.width)/2;var g=opener.screenY+(opener.outerHeight-b.height)/2}else{var a=(self.screen.availWidth-b.width)/2;var g=(self.screen.availHeight-b.height)/2}window.moveTo(a,g)}Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc);window.__dlg_init_done=true}function __dlg_translate(e){var d=["input","select","legend","span","option","td","th","button","div","label","a","img"];for(var g=0;g=0;){var f=c[b];if(f.firstChild&&f.firstChild.data){var a=Xinha._lc(f.firstChild.data,e);if(a){f.firstChild.data=a}}if(f.title){var a=Xinha._lc(f.title,e);if(a){f.title=a}}if(f.tagName.toLowerCase()=="input"&&(/^(button|submit|reset)$/i.test(f.type))){var a=Xinha._lc(f.value,e);if(a){f.value=a}}}}document.title=Xinha._lc(document.title,e)}function __dlg_close(a){opener.Dialog._return(a);window.close()}function __dlg_close_on_esc(a){a||(a=window.event);if(a.keyCode==27){__dlg_close(null);return false}return true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/release-notes.txt b/ccm-core/web/assets/xinha/release-notes.txt index d2f765755..825701a08 100755 --- a/ccm-core/web/assets/xinha/release-notes.txt +++ b/ccm-core/web/assets/xinha/release-notes.txt @@ -1,212 +1,380 @@ -Xinha - The Community-Built Online HTML Editor - -For bug reports, forum, and updates go to -http://xinha.org - -Release History -Xinha 0.95 -Bugs Fixed - * fixed #1040 htmlRemoveTags doesn't work in IE - * fixed #645 IE Save as function only saves the original html - * fixed #1136 FF3 Linux select boxes in toolbar are too small - * fixed #1100 Extended File Manager - Error after opening window - * fixed #1103 [TransformInnerHTML] IE breaks singlet attributes starting with "no" - * fixed #1086 Repeated javascript insertion in onclick attributes - * fixed #1094 IE throws error in Xinha.loadStyle function - * fixed #1117 IE returns javascript error -1072896658 - * fixed #993 PageStyle to override styles in PageStylesheets - * #1112 switching between modes leaves strange characters in source - * fixed #1128 loading fails when Fullscreen tried to load as plugin - * fixed #1126 Percent (%) in URL prevent stripSelfNamedAnchors from working - * fixed #1120 HTML select overlaps color picker in IE6 - * #1115 + #1127 fixed compatibility issues with Firefox 3 - * #961 + #1130 changed behaviour of xinha_config.baseHref - * fixed #645 Save as function only saves the original html - * fixed #1040 htmlRemoveTags doesn't work in IE - * fixed #1015 Mozilla shows scrollbars on click in Stylist - * #918 removed mozParaHandler dirty as it had been broken for a long time - * fixed #1015 Mozilla shows scrollbars on click in Stylist - * fixed #1148 HTML entities break when cursor is inside when switching from HTML to WYSIWYG - * fixed #1151 form action always made absolute - * fixed #1155 InsertAnchor broken in IE 7 - * fixed #1158 [ImageManager] in Japanese environment, an error occurs by reading of lang/ja.js in IE6/7 - * fixed #1152 Plugins using surroundHTML (EditTag, LangMarks) no longer work in IE7 - * fixed #1161 permission error from ColorPicker.js - * fixed #1181 [TableOperations] Table Options dialog first entry for border style faulty - * fixed #1185 [TableOperations] IE: style float broken - * fixed #1197 [Linker] IE shows bug in line 262 - * fixed #1200 [Linker] Dialog does not show if scanned folder empty - -Enhancements - * #1143 add Safari support - * #938 add Opera support - * #1138 added API functions Xinha.getEditor(), Xinha.prototype.getPluginInstance(), Xinha.addOnloadHandler() - * #1137 [Equation] FF3 fixes & improved way of avoiding formula changes in editor - * #1150 synchronize "Remove Format" between browsers - * added plugin PreserveScripts for enhanced editing of pages containing PHP and/or JavaScript () - * Loading message facelift - * added XinhaLoader.js for enhanced user experience through early loading message - * made Xinha.makeEditors accept a DOM reference to the textarea instead of the id as part of xinha_editors array (#1105) - * #1123 Allow return of PHP array from xinha_pass_to_php_backend - * [Linker] scan.php: Allow specification of base url to use (so that a subdirectory can be used as $dir and return appropriate urls to the files (prefixing the url - * [ExtendedFileManager] new Version - * #961 + #1130 changed behaviour of xinha_config.baseHref - * #1137 [Equation] improved way of avoiding formula changes in editor - * #442 removed alert "Your Document is not well formed..." - * #1119 disabled Firefox 2 spell check when ContextMenu is enabled - * added a plugin "GenericPlugin" as a democase for plugin event handlers - * #1171 [SmartReplace] now also replaces three dots with an ellipsis - * #1119 [ContextMenu] optionally switch of Firefox Spell check - * #1172 [LangMarks] make available languages configurable - * enhanced behaviour when xinha_config.baseHref is set to another server - * #1195 Allow to specify an external url to load a plugin from - * #1201 Add inwardHtml/outwardHtml functions to Config object - -I18n - * #1109 Spanish language extended - * #1116 [ExtendedFileManager] added French translation - * #853 updated Translation for farsi - * fixed wrong encoding in Spanish language file - * fixed no bold/italic/underline button images in Spanish - * #1194 [ExtendedFileManager] updated French translation - - -Xinha 0.94 - * Ticket #1093 [InsertSmiley] remove smiley gifs from trunk - * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE - * [TableOperations] Add config option to not dispaly toolbar buttons - * fixed Ticket #1021 Prevent ExtendedFileManager from masking ImageManager - * fixed Ticket #1023 [ImageManager] Add config item to allow the advanced image options to be hidden from the user - * fixed Ticket #1026 fix problems with loading skins - * fixed Tickets #1030 & #1031: slow loading large pages in IE - * fixed Ticket #1034 [ExtendedFileManager] Color pickers shown when use_color_pickers is false - * fixed Ticket #1035 [TransformInnerHTML] tags corruptedunder certain circumstances - * fixed Ticket #1036 [ExtendedFileManager] window is only resized after all thumbnails have benn loaded, which can take quite some time - * fixed Ticket #1039 Firefox full page adds multiple paragraphs after view source - * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE7 - * fixed Ticket #1046 Error in IE 6 when switching from text to wysiwyg - * [DOMwalk] linebreaks inserted before
    s - * catch error in IE when trying to restore selection on non-displayed area - * fixed Ticket #973 Error switching wysiwyg/html including javascript file on the code - * fixed Ticket #1028 - [Linker] automatically (attempt to) work around an issue with mod_security being triggered because of the charset on our POST requests - * fixed Ticket #1055 [Stylist] Inappropriate styles (for other tags) are shown - * added Dutch language files - * added new hook 'onBeforeSubmit' for firePluginEvent() - * added new hook 'onBeforeUnload' for firePluginEvent() - * fixed Ticket #1048 Full Screen plugin doesn't load if many editors on page - * fixed Ticket #1053 ListType plugin doesn't work in panel config with multiple editors - * fixed Ticket #1026 Skins referenced with -tags don't work anymore - * fixed Ticket #1059 [Equation] loosing formula onsubmit - * fixed Ticket #1060 [Equation] various updates - * [Equation] preserve formula on reload in Mozilla - * [Equation] updated ASCIIMathML.js - * [Skin:silva] padding and border on textarea make the textmode too wide - * fixed Ticket#1001 Editor loads a bunch of null urls in ie - * fixed Ticket #1068 [TranformInnerHTML] newlines added after - * fixed Ticket#1069 Editor document URL prefixed to any href that only consists of URL parameters - * added Thai translation for core - * added complete Portuguese Brazilian translation - * updated lc_parse script - * fixed Ticket #1071 [ExtendedFileManager] external image URL image inserted with width/height 0, amking it invisible - * fixed Ticket #1074 [SuperClean] throws warnings in PHP 5 - * fixed Ticket #1079 [DynamicCSS] lists Xinha internal CSS - * fixed Ticket #1080 Some plugins leave behind stylesheet links in fullpage mode - * fixed Ticket #1083 Convert URLs to links - Error - * fixed Ticket #1084 URL auto-linking (Gecko): URLs with user:password@domain.tld falsely recognized as email address - * fixed Ticket #1085 URL auto-linking (Gecko): IP numbers don't work - * fixed Ticket #1081 Control character is not being removed inside SCRIPT tags or HEAD when switching from textmode to htmlmode - * fixed Ticket #1078 [InsertImage] spacing attributes: inconsistent behaviour when editing image - * fixed Ticket #1089 [Color Picker] Localize OK Label - * fixed Ticket #1091 [SaveSubmit] does not correctly submit value of checkboxes and radio buttons - -Xinha 0.93 - - fixed Ticket #967 Font Color Picker stops working after using one of ImageManager, ExtendedFileManager, FullPage, or HorizontalRule - - fixed Ticket #965 When switching between Xinhas in the same page, in textmode toolbar stays disabled - - fixwd Ticket #963 DOMwalk IE: head tag attributes without quotes and closing slash - - Ticket #962 DOMwalk Mozilla: improved source indentation - - fixed Ticket #957 If item in in xinha_editors is not a textarea: skip gracefully - - fixed Ticket #900: catch an fatal error that occured sometimes when switching between modes in fullpage mode in Mozilla - - fixed Ticket #969 DOMwalk Gecko: line breaks rendered as
    s inside
     blocks
    - - fixed Ticket #976 Loading message misplaced in IE7
    - - fixed Ticket #977 TableOperations toolbar off-place in ext_example.html
    - - fixed Ticket #978 defining a padding for 
    s in global css affects Xinha framework - - Ticket #979 improve checking for non-supported browsers - - fixed Ticket #934 SuperClean plugin returns just quotation when executed on localhost - - Ticket #929 Save changes on page unload fixed for Mozilla - - fixed Ticket #980 ImageManager color format bug - - fixed Ticket #981 No doctype in iframe content document/ editor always in quirks mode - - fixed Ticket #543 Stylist Panel overflow broken - - Ticket #983 added id for iframe - - fixed Ticket #984 !ExtendedFileManager produces php warning - - optimized icon file size - - fixed !JavaScript error in !ImageManager/!ExtendedFileManager image editor - - Ticket #908* Prompts broken in IE7: fixed for EFM, !ImageManager & !TableOperations - - Fixes for TableOperations, tickets #82, #908*, #912 and #947 - - fixed Ticket #998* whitespace added before and/or after content (in non-fullpage mode) - - fixed slow unloading in Mozilla - - Fix focus problem when switching from html to wysiwyg in Gecko. See ticket #900. - - fixed toolbar floating issue - - fixed #1003 HTML length limited to 1024 characters with plugin CharCounter - - Ticket #1000 new public methods for getting/setting editor content - - fixed #735 - IE eating scripts and comments at the beginning of pages. - - Added new config variables to set iframe width if less than editor width (ticket:322) and set alignment of toolbar buttons. - - added Basque translation for XinhaCore - - prevent an error if server is set to parse .js files as PHP - - Ticket #127 plugin HtmlEntities: Entities.js file corrupt - -Xinha 0.92beta - - fixed Ticket #831 stop empty anchors from being removed - - Make htmlarea.js just load XinhaCore.js instead of being a copy of it. - - fixed Ticket #445 Toggle TableBorder doesn't work if this.fullpage=true or using FullPage plugin - - fixed Ticket #551 shape and coord attributes of area element are ignored by IE - - fixed Ticket #650 SpellChecker is not compatible with FullPage plugin - - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE - - fixed Ticket #570 change behaviour of justify when an image is selected to make the image float left/right, - click the justify button again to undo it - - fixed Ticket #891 noscript content got escaped - - fixed Ticket #857 Firefox fails to load in fullpage mode when tag in wrong place. - - fixed Ticket #841 Spell Checker - Won't return to xinha. - - fixed Ticket #914 All buttons stay grey & this.getParentElement is not a function message when not calling - Xinha.loadPlugins() in xinha_init function - - fixed Ticket #911 Background color does not work in Firefox - - fixed Ticket #912 an error is thrown in Mozilla when clicking merge cells button and fewer than 2 cells are selected - - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE - - fixed Ticket #917 getHTMLWrapper in IE renders attributes like _stylist_usedtobe="[object Object]" - - fixed Ticket #556 stripBaseHref didn't work without baseHref defined explicitly. - - Update InsertPicture plugin Update - - fixed Ticket #921 EFM extended file manager - iframe height problem (IE) - - Ticket #923 colorPicker face lift & localisation - - fixed Ticket #924 EFM + ImageManager re-transforming of url to original image after automatic resize broken - - Ticket #900- retain editing position position between modes - - fixed Ticket #928 ImageManager fails if (another) Files.php exists in include path - - fixed Ticket #935 EFM demo_images php upload allowed: possible security risk - - Ticket #939 Japanese langage support - - fixed Ticket #3 Horizontal Rule Selection - - Plugin ExtendedFileManager: added doc to allowed upload extensions - - Plugin PasteText update - - Plugin HtmlEntities: default preset iso-8859-1 - - fixed Ticket #948 IE: inline styles are not rendered by DOMwalk getHTML() - - Plugin HorizontalRule update - - Plugin SaveSubmit update - - Plugin Linker update - - fixed Ticket #823 editor contents was not submitted when using JavaScript form.submit() without prior form.onsubmit() - - fixed Ticket #459 all body attributes removed in full page mode in FireFox - - _editor_url is now converted to absolute if it is relative. - - fixed Ticket #594 IE: insertHTML() inserts HTML outside editor when editor is not focussed - - Ticket #954 FullScreen mode can now be called programmatically or on startup with or without button - - fixed Ticket #321 FullScreen : select elements show through in IE6 - - fixed Ticket #953 Statusbar has ugly white gap at the bottom when switching back from full screen in IE - - fixed Ticket #952 FullScreen: scrollbars don't disappear in IE in QuirksMode - - fixed Ticket #603 Popop Dialog Height problems - - fixed Ticket #955 DOMwalk getHTML outputs empty attribute with value "true" instead of attribute name and some are skipped at all - -Xinha 0.91beta - - changed namespace from HTMLArea to Xinha - - the core file is now named XinhaCore.js instead of htmlarea.js, - please change your pages accordingly (the htmlarea.js will be removed!) - - the color picker script is now loaded on demand to reduce initial loading time - -Xinha 0.9beta -This equals Xinha revision 635 of Jan 11 2007 - - All JavaScript files over 2kb have been compressed using the dojo JavaScript compressor +Xinha - The Community-Built Online HTML Editor + +For bug reports, forum, and updates go to +http://xinha.org + +Release History + +Xinha 0.96 +== Bugs Fixed == + + * #1425 [SmartReplace][Gecko] When inserting opening quote, the space before the cursor is deleted + * #1429 Problems with Apache and HEAD requests... + * #1478 Further important security precautions for ExtendedFileManager and ImageManager + * #1478 Hide all dotfiles from the Linker scanner, the linker shouldn't be showing "hidden" files. + * #1478 CSS fix to dTree in linker, just to make sure it's styles were not getting clobbered. + * #1478 Stop the Stylist from possibly adding a duplicate stylesheet into pageStyleSheets, this was creating a subtle problem in certain circumstances. + * #1227 Improved handling of CSS imports in Stylist plugin. + * #1448 a[b.id] is undefined + * #1387 prevent crash in IE + * #1198 Fix for bad sizing of editor. + * #1121 Disable tab in Internet Explorer because it exits the Xinha area. + * #472 Disable InsertPicture + * #579 Pass value to dropdown handlers. + * #1472 _top not respected in editing link. + * #1467 autofocus=false not working as expected. + * #1461 Special characters in image make thumbnail not appear. + * #1435 IE failed in TransformInnerHTML + * #1232 Clickable icons on ExtendedFileManager + * #1409 Image Properties broken in ContextMenu + * #1419 Stylist display problem in IE6/7, HasLayout bug. + * #1262 Alternative method for restoring from fullscreen mode. + * #1388 Change — to &8212; for xml compatability. + * #1093, #1377 Rewrite the InsertSmiley plugin. Remains compatible with ray's changes in r904 if people have made a specific configuration. + * #1282 Opera losing it's events when designMode turned on causing status bar to not update amongst other things. + * r1228 Remove PersistantStorage from Newbie example, because it not actually usable atm + * r1229 Fix firefox version detection. + * r1230 avoid unecessary pollution of global namespace + * r1232 Removed CC license from Tango iconset, as it seems not appropriate + * r1232 Changed HtmlEntities plugin license to HTMLArea + * #1488 Fix Control Selection in IE8 + * r1235 Change license to HTMLArea - see http://xinha.org/punbb/viewtopic.php?id=2499 + * #1497 TransformInnerHtml handling of object tag + * #1498 Color picker display in new dialogs in IE6 + * #1499 Fix focus errors in new dialogs in IE + * #1503 xinha_to_js did not handle booleans correctly + * #1509 Prevent attempting to compress REs in Safari 4 + * #1515 Security patch to prevent rogue access to the compressors in contrib. + * #1518 Security patch which prevents non-default keys in xinha_pass_to_php_backend. + * #1518 Issue an error and ignore the special backend configuration when the key location is non default, for both the ImageManager and ExtendedFileManager deprecated config passing methods. + * #1209 and #1182 Upgrade Equation to use new AsciiMath, fix multiple equation editing. Thanks to Niraj Bhawnani of University of New South Wales. + * #1483 Fix cancel button in Equation editor. + * #1485 Add a double-click handler which will bring up the link/image insertion dialogs (or ImageManager/Linker) when a link or image is double clicked. + * #1492 Fix linker in some situations. + * #1471, #1508, #1510 Fix IE8 problems with TableOperations and other buttons, and absolute positioned editing. + +== New Features == + + * r1189 added toolbar config to Newbie example + * #1478 Add new method Xinha.extend to provide more classical object oriented subclasses within Javascript. + * #1478 Add new method Xinha.Dialog::setLocalizer() to more easily set a specific localizer for a dialog. + * #1478 File-Picker on arbitrary fields outside Xinha (ExtendedFileManager) + * #1478 Add config option to use HSpace and VSpace in ImageManager (default off) + * #1478 Add YouTube and Flickr support to ImageManager so that videos and Flickr images can be searched and selected in the ImageManager. + * #1478 Add a new dialog type "DetachedDialog" to help leverage Xinha plugins to perform tasks outside of Xinha, and an example of a simple dialog for those who wish to make their own. + * #1478 Link-Picker on arbitrary fields outside Xinha (Linker) + * #1478 New Plugin: WysiwygWrap - combined with an appropriate pageStyleSheet(s) you can more easily simulate in Xinha what it will "look like" when that HTML is "published". + * #1446 Provide a means for adding custom hooks into the ContextMenu plugin. + * #1220 Add ability to pass extra arguments in the post to the backend handler for SuperClean. + * #1465 Add an option `resize_files` to both ExtendedFileManager and ImageManager, defaults true, false turns off the automatic image resizing. + * #1189 Add the xml:lang attribute to LangMarks plugin. The configuration for this plugin has changed, old configurations are accepted with a warning to the console. + * #1433 Add a SaveOnBlur plugin, authored by Peter Siewert (with a clean up by James Sleeman). + * #1479 Add CSSPicker plugin. + * #1205 Add allow_delete and allow_edit to ImageManager + * #1205 Add allow_delete to ExtendedFileManager + * #1496 Make dialog title bar logo skinable + * r1243 Added a method to allow plugins to easily load assets synchronously (for dependancies). + * #1502 Add new plugin MootoolsFileManager - an advanced image and file uploader/picker/inserter with multi-file-upload, progress bars, and previews. + * #1507 Config option to show fonts in toolbar using actual fonts. + +== Translation == + + * #1477 Danish translation for ExtendedFileManager and SuperClean + * r1205 Updated Danish translation. + * #1470 Contribution from Niels Baggesen to assist translators. + * #1454, #1455, #1456, #1457, #1458, #1459, #1460 Spanish translations. + * #1469 Updated danish translation. + + +Xinha 0.96beta2 +Bugs Fixed + * #1376 [IE6 & IE7 Quirksmode] Dialogs are invisible + * #1381 [IE] QuirksMode dialog background rendered in wrong position when panel is detached + * #1383 [IE7] Secure and Nonsecure Warning + * #1382 [IE] QuirksMode dialog background falsely non-grey with modal dialogs, grey when dragging modeless dialogs + * #1389 [IE6] selection lost when clicking toolbar button + * #1386 [Safari] Setting default checkbox settings in dialogs does not work + * #1394 fullpage puts metas/ title all on the same line + * #1390 PreserveScripts shorthand php tags + * #1392 too much recursion when setting HTML in fullPage mode using onGenerate/onGenerateOnce + * #1407 [IE8] window resize causes infinite loop + * #1408 PHP5 IIS file upload problem + * #1374 [IE8] Table insert not work + * #1379 [Firefox] no longer corrupts image data from broken images + +Translation + * [SmartReplace] Added French translation + * #1406 [FullScreen] Added Spanish translation + +Xinha 0.96beta +Bugs Fixed + * #314 Status bar should wrap + * #741 ContextMenu should not overflow window boundaries + * #961 baseHref not correctly treated when stripping + * #1160 Safari puts selected HTML near bottom if edited + * #1166 TableOperations dialogs do not resize properly in Safari 3 + * #1173 IE8 beta toolbars broken + * #1174 IE8 beta no text cursor in wysiwyg + * #1187 ExtendedFileManager "imgManager.changeDir is not a function" error + * #1193 Stylist bug when formatting selected text + * #1213 Would be nice to protect unsaved changes from accidental loss when navigating away + * #1221 Selecting heading normal on nothing throws exception alert + * #1224 sevenbitclean? / ghost cursor error with html mode toggle (Firefox) + * #1227 No CSS rules load when using @import in external stylesheet + * #1230 CSS width attribute breaks select display in IE + * #1240 Linker: trim spaces from URL + * #1247 CharCounter problems with Silva skin + * #1257 Error if url query string included '/' + * #1258 Event object is not handed over to event handlers installed on textarea + * #1261 Dutch translation for Fullscreen module + * #1280 restoreSelection doesn't always work in internet explorer + * #1281 selectNodeContents is borken in IE when the node is a text node + * #1284 _editor_url is still used in a couple of plugins. + * #1286 use callbacks as criteria for getFirstAncestor + * #1288 [DefinitionList] list items restricted to small width and one line by CSS + * #1290 Improved support for pasting from Microsoft Word + * #1291 Xinha.removeFromParent() does not return correct reference + * #1292 change naming scheme of plugin files + * #1293 [Gecko] Window scrolls to top of editing area when switching from text to WYSIWYG + * #1294 Editor higher in HTML mode + * #1295 Textarea not aligned under toolbar + * #1298 CSS styling gets inserted into table cell after viewing source (Safari only) + * #1300 create namespace for plugins within Xinha namespace + * #1301 loading should not fail if plugin omits _pluginInfo + * #1302 add Array.prototype.forEach for Browser that doesn't support it + * #1303 add getElementsByClassName() + * #1306 Toolbar actions need access to the click event + * #1309 Xinha chokes on anchors + * #1315 Xinha's _addEvent uses event capturing + * #1316 In InternetExplorer, the cursor is lost when switching into source mode + * #1317 Xinha's postback and getback should allow for failure handlers + * #1319 make event hooks like onKeyPress accesible from the config object + * #1320 make it possible to use png images as icons in IE6 + * #1321 [SaveSubmit] icon is in "changed" state initially + * #1322 [SaveSubmit] error when form action is empty + * #1332 Panel classes are very generic, and risk conflict with users embedding it in their site + * #1337 GetHTML truncates hyperlinks + * #1346 statusbar shows b, i, strike instead of strong, em, and del + * #1357 safari form submit has empty form field names in POST data, causes failure with perl CGI + + +Enhancements + * #1176 Completely revamped dialog system, which uses inline lightbox-style dialogs instead of separate popup windows + * #326 Added support for customizable icon sets + * #1318 Added icon set from the Tango Project + * #1287 New InsertNote plugin for handling footnotes, with automatic note numbering and ordering, linking, and support for repeated references + * #1289 New InsertSnippet2 plugin, with categorization of snippets, search by name, and an XML data format + * #58 Additional settings for Linker plugin (link types and targets can be configured) + * #1219 Configuration option to autofocus editor + * #1285 Configuration option to set document body class + * #1323 Allow skins to have meta information (author, etc.) + * #1338 _editor_url is now automatically detected + * #1345 Add a static function that saves the contents of all Xinhas to their respective textareas + + +Xinha 0.95 +Bugs Fixed + * fixed #1040 htmlRemoveTags doesn't work in IE + * fixed #645 IE Save as function only saves the original html + * fixed #1136 FF3 Linux select boxes in toolbar are too small + * fixed #1100 Extended File Manager - Error after opening window + * fixed #1103 [TransformInnerHTML] IE breaks singlet attributes starting with "no" + * fixed #1086 Repeated javascript insertion in onclick attributes + * fixed #1094 IE throws error in Xinha.loadStyle function + * fixed #1117 IE returns javascript error -1072896658 + * fixed #993 PageStyle to override styles in PageStylesheets + * #1112 switching between modes leaves strange characters in source + * fixed #1128 loading fails when Fullscreen tried to load as plugin + * fixed #1126 Percent (%) in URL prevent stripSelfNamedAnchors from working + * fixed #1120 HTML select overlaps color picker in IE6 + * #1115 + #1127 fixed compatibility issues with Firefox 3 + * #961 + #1130 changed behaviour of xinha_config.baseHref + * fixed #645 Save as function only saves the original html + * fixed #1040 htmlRemoveTags doesn't work in IE + * fixed #1015 Mozilla shows scrollbars on click in Stylist + * #918 removed mozParaHandler dirty as it had been broken for a long time + * fixed #1015 Mozilla shows scrollbars on click in Stylist + * fixed #1148 HTML entities break when cursor is inside when switching from HTML to WYSIWYG + * fixed #1151 form action always made absolute + * fixed #1155 InsertAnchor broken in IE 7 + * fixed #1158 [ImageManager] in Japanese environment, an error occurs by reading of lang/ja.js in IE6/7 + * fixed #1152 Plugins using surroundHTML (EditTag, LangMarks) no longer work in IE7 + * fixed #1161 permission error from ColorPicker.js + * fixed #1181 [TableOperations] Table Options dialog first entry for border style faulty + * fixed #1185 [TableOperations] IE: style float broken + * fixed #1197 [Linker] IE shows bug in line 262 + * fixed #1200 [Linker] Dialog does not show if scanned folder empty + +Enhancements + * #1143 add Safari support + * #938 add Opera support + * #1138 added API functions Xinha.getEditor(), Xinha.prototype.getPluginInstance(), Xinha.addOnloadHandler() + * #1137 [Equation] FF3 fixes & improved way of avoiding formula changes in editor + * #1150 synchronize "Remove Format" between browsers + * added plugin PreserveScripts for enhanced editing of pages containing PHP and/or JavaScript () + * Loading message facelift + * added XinhaLoader.js for enhanced user experience through early loading message + * made Xinha.makeEditors accept a DOM reference to the textarea instead of the id as part of xinha_editors array (#1105) + * #1123 Allow return of PHP array from xinha_pass_to_php_backend + * [Linker] scan.php: Allow specification of base url to use (so that a subdirectory can be used as $dir and return appropriate urls to the files (prefixing the url + * [ExtendedFileManager] new Version + * #961 + #1130 changed behaviour of xinha_config.baseHref + * #1137 [Equation] improved way of avoiding formula changes in editor + * #442 removed alert "Your Document is not well formed..." + * #1119 disabled Firefox 2 spell check when ContextMenu is enabled + * added a plugin "GenericPlugin" as a democase for plugin event handlers + * #1171 [SmartReplace] now also replaces three dots with an ellipsis + * #1119 [ContextMenu] optionally switch of Firefox Spell check + * #1172 [LangMarks] make available languages configurable + * enhanced behaviour when xinha_config.baseHref is set to another server + * #1195 Allow to specify an external url to load a plugin from + * #1201 Add inwardHtml/outwardHtml functions to Config object + +I18n + * #1109 Spanish language extended + * #1116 [ExtendedFileManager] added French translation + * #853 updated Translation for farsi + * fixed wrong encoding in Spanish language file + * fixed no bold/italic/underline button images in Spanish + * #1194 [ExtendedFileManager] updated French translation + + +Xinha 0.94 + * Ticket #1093 [InsertSmiley] remove smiley gifs from trunk + * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE + * [TableOperations] Add config option to not dispaly toolbar buttons + * fixed Ticket #1021 Prevent ExtendedFileManager from masking ImageManager + * fixed Ticket #1023 [ImageManager] Add config item to allow the advanced image options to be hidden from the user + * fixed Ticket #1026 fix problems with loading skins + * fixed Tickets #1030 & #1031: slow loading large pages in IE + * fixed Ticket #1034 [ExtendedFileManager] Color pickers shown when use_color_pickers is false + * fixed Ticket #1035 [TransformInnerHTML] tags corruptedunder certain circumstances + * fixed Ticket #1036 [ExtendedFileManager] window is only resized after all thumbnails have benn loaded, which can take quite some time + * fixed Ticket #1039 Firefox full page adds multiple paragraphs after view source + * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE7 + * fixed Ticket #1046 Error in IE 6 when switching from text to wysiwyg + * [DOMwalk] linebreaks inserted before
    s + * catch error in IE when trying to restore selection on non-displayed area + * fixed Ticket #973 Error switching wysiwyg/html including javascript file on the code + * fixed Ticket #1028 - [Linker] automatically (attempt to) work around an issue with mod_security being triggered because of the charset on our POST requests + * fixed Ticket #1055 [Stylist] Inappropriate styles (for other tags) are shown + * added Dutch language files + * added new hook 'onBeforeSubmit' for firePluginEvent() + * added new hook 'onBeforeUnload' for firePluginEvent() + * fixed Ticket #1048 Full Screen plugin doesn't load if many editors on page + * fixed Ticket #1053 ListType plugin doesn't work in panel config with multiple editors + * fixed Ticket #1026 Skins referenced with -tags don't work anymore + * fixed Ticket #1059 [Equation] loosing formula onsubmit + * fixed Ticket #1060 [Equation] various updates + * [Equation] preserve formula on reload in Mozilla + * [Equation] updated ASCIIMathML.js + * [Skin:silva] padding and border on textarea make the textmode too wide + * fixed Ticket#1001 Editor loads a bunch of null urls in ie + * fixed Ticket #1068 [TranformInnerHTML] newlines added after + * fixed Ticket#1069 Editor document URL prefixed to any href that only consists of URL parameters + * added Thai translation for core + * added complete Portuguese Brazilian translation + * updated lc_parse script + * fixed Ticket #1071 [ExtendedFileManager] external image URL image inserted with width/height 0, amking it invisible + * fixed Ticket #1074 [SuperClean] throws warnings in PHP 5 + * fixed Ticket #1079 [DynamicCSS] lists Xinha internal CSS + * fixed Ticket #1080 Some plugins leave behind stylesheet links in fullpage mode + * fixed Ticket #1083 Convert URLs to links - Error + * fixed Ticket #1084 URL auto-linking (Gecko): URLs with user:password@domain.tld falsely recognized as email address + * fixed Ticket #1085 URL auto-linking (Gecko): IP numbers don't work + * fixed Ticket #1081 Control character is not being removed inside SCRIPT tags or HEAD when switching from textmode to htmlmode + * fixed Ticket #1078 [InsertImage] spacing attributes: inconsistent behaviour when editing image + * fixed Ticket #1089 [Color Picker] Localize OK Label + * fixed Ticket #1091 [SaveSubmit] does not correctly submit value of checkboxes and radio buttons + +Xinha 0.93 + - fixed Ticket #967 Font Color Picker stops working after using one of ImageManager, ExtendedFileManager, FullPage, or HorizontalRule + - fixed Ticket #965 When switching between Xinhas in the same page, in textmode toolbar stays disabled + - fixwd Ticket #963 DOMwalk IE: head tag attributes without quotes and closing slash + - Ticket #962 DOMwalk Mozilla: improved source indentation + - fixed Ticket #957 If item in in xinha_editors is not a textarea: skip gracefully + - fixed Ticket #900: catch an fatal error that occured sometimes when switching between modes in fullpage mode in Mozilla + - fixed Ticket #969 DOMwalk Gecko: line breaks rendered as
    s inside
     blocks
    + - fixed Ticket #976 Loading message misplaced in IE7
    + - fixed Ticket #977 TableOperations toolbar off-place in ext_example.html
    + - fixed Ticket #978 defining a padding for 
    s in global css affects Xinha framework + - Ticket #979 improve checking for non-supported browsers + - fixed Ticket #934 SuperClean plugin returns just quotation when executed on localhost + - Ticket #929 Save changes on page unload fixed for Mozilla + - fixed Ticket #980 ImageManager color format bug + - fixed Ticket #981 No doctype in iframe content document/ editor always in quirks mode + - fixed Ticket #543 Stylist Panel overflow broken + - Ticket #983 added id for iframe + - fixed Ticket #984 !ExtendedFileManager produces php warning + - optimized icon file size + - fixed !JavaScript error in !ImageManager/!ExtendedFileManager image editor + - Ticket #908* Prompts broken in IE7: fixed for EFM, !ImageManager & !TableOperations + - Fixes for TableOperations, tickets #82, #908*, #912 and #947 + - fixed Ticket #998* whitespace added before and/or after content (in non-fullpage mode) + - fixed slow unloading in Mozilla + - Fix focus problem when switching from html to wysiwyg in Gecko. See ticket #900. + - fixed toolbar floating issue + - fixed #1003 HTML length limited to 1024 characters with plugin CharCounter + - Ticket #1000 new public methods for getting/setting editor content + - fixed #735 - IE eating scripts and comments at the beginning of pages. + - Added new config variables to set iframe width if less than editor width (ticket:322) and set alignment of toolbar buttons. + - added Basque translation for XinhaCore + - prevent an error if server is set to parse .js files as PHP + - Ticket #127 plugin HtmlEntities: Entities.js file corrupt + +Xinha 0.92beta + - fixed Ticket #831 stop empty anchors from being removed + - Make htmlarea.js just load XinhaCore.js instead of being a copy of it. + - fixed Ticket #445 Toggle TableBorder doesn't work if this.fullpage=true or using FullPage plugin + - fixed Ticket #551 shape and coord attributes of area element are ignored by IE + - fixed Ticket #650 SpellChecker is not compatible with FullPage plugin + - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE + - fixed Ticket #570 change behaviour of justify when an image is selected to make the image float left/right, + click the justify button again to undo it + - fixed Ticket #891 noscript content got escaped + - fixed Ticket #857 Firefox fails to load in fullpage mode when tag in wrong place. + - fixed Ticket #841 Spell Checker - Won't return to xinha. + - fixed Ticket #914 All buttons stay grey & this.getParentElement is not a function message when not calling + Xinha.loadPlugins() in xinha_init function + - fixed Ticket #911 Background color does not work in Firefox + - fixed Ticket #912 an error is thrown in Mozilla when clicking merge cells button and fewer than 2 cells are selected + - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE + - fixed Ticket #917 getHTMLWrapper in IE renders attributes like _stylist_usedtobe="[object Object]" + - fixed Ticket #556 stripBaseHref didn't work without baseHref defined explicitly. + - Update InsertPicture plugin Update + - fixed Ticket #921 EFM extended file manager - iframe height problem (IE) + - Ticket #923 colorPicker face lift & localisation + - fixed Ticket #924 EFM + ImageManager re-transforming of url to original image after automatic resize broken + - Ticket #900- retain editing position position between modes + - fixed Ticket #928 ImageManager fails if (another) Files.php exists in include path + - fixed Ticket #935 EFM demo_images php upload allowed: possible security risk + - Ticket #939 Japanese langage support + - fixed Ticket #3 Horizontal Rule Selection + - Plugin ExtendedFileManager: added doc to allowed upload extensions + - Plugin PasteText update + - Plugin HtmlEntities: default preset iso-8859-1 + - fixed Ticket #948 IE: inline styles are not rendered by DOMwalk getHTML() + - Plugin HorizontalRule update + - Plugin SaveSubmit update + - Plugin Linker update + - fixed Ticket #823 editor contents was not submitted when using JavaScript form.submit() without prior form.onsubmit() + - fixed Ticket #459 all body attributes removed in full page mode in FireFox + - _editor_url is now converted to absolute if it is relative. + - fixed Ticket #594 IE: insertHTML() inserts HTML outside editor when editor is not focussed + - Ticket #954 FullScreen mode can now be called programmatically or on startup with or without button + - fixed Ticket #321 FullScreen : select elements show through in IE6 + - fixed Ticket #953 Statusbar has ugly white gap at the bottom when switching back from full screen in IE + - fixed Ticket #952 FullScreen: scrollbars don't disappear in IE in QuirksMode + - fixed Ticket #603 Popop Dialog Height problems + - fixed Ticket #955 DOMwalk getHTML outputs empty attribute with value "true" instead of attribute name and some are skipped at all + +Xinha 0.91beta + - changed namespace from HTMLArea to Xinha + - the core file is now named XinhaCore.js instead of htmlarea.js, + please change your pages accordingly (the htmlarea.js will be removed!) + - the color picker script is now loaded on demand to reduce initial loading time + +Xinha 0.9beta +This equals Xinha revision 635 of Jan 11 2007 + - All JavaScript files over 2kb have been compressed using the dojo JavaScript compressor - All gifs have been optimized using Trout's GIF Optimizer version 2.3 \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/skins/blue-look/skin.css b/ccm-core/web/assets/xinha/skins/blue-look/skin.css index 9f22add8d..b0d478c3a 100755 --- a/ccm-core/web/assets/xinha/skins/blue-look/skin.css +++ b/ccm-core/web/assets/xinha/skins/blue-look/skin.css @@ -68,6 +68,13 @@ font: 11px helvetica,arial,sans-serif; } +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #f7f8fd; +} + .htmlarea .statusBar .statusBarTree { display:block; @@ -95,4 +102,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css b/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css index e798e4789..1c6b80645 100755 --- a/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css +++ b/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css @@ -65,6 +65,13 @@ font: 11px helvetica,arial,sans-serif; } +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #f7f8fd; +} + .htmlarea .statusBar .statusBarTree { display:block; diff --git a/ccm-core/web/assets/xinha/skins/green-look/skin.css b/ccm-core/web/assets/xinha/skins/green-look/skin.css index bbbec2855..b27858020 100755 --- a/ccm-core/web/assets/xinha/skins/green-look/skin.css +++ b/ccm-core/web/assets/xinha/skins/green-look/skin.css @@ -60,6 +60,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.gif); + background-repeat: repeat-x; + background-color: #f8fdf8; +} + .htmlarea .statusBar .statusBarTree { display:block; @@ -85,4 +93,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/inditreuse/skin.css b/ccm-core/web/assets/xinha/skins/inditreuse/skin.css index f7c77e6df..a85197ead 100755 --- a/ccm-core/web/assets/xinha/skins/inditreuse/skin.css +++ b/ccm-core/web/assets/xinha/skins/inditreuse/skin.css @@ -48,6 +48,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #889fc9; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -70,4 +78,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/silva/skin.css b/ccm-core/web/assets/xinha/skins/silva/skin.css index 52f7dc891..936f014df 100755 --- a/ccm-core/web/assets/xinha/skins/silva/skin.css +++ b/ccm-core/web/assets/xinha/skins/silva/skin.css @@ -1,172 +1,2 @@ -/*--------------------------------*/ -/* silva skin for Xinha */ -/* */ -/* by Raimund Meyer (ray) */ -/* xinha@raimundmeyer.de */ -/* 2007-1-9 */ -/*--------------------------------*/ - -.htmlarea .toolbar, .htmlarea .toolbar .button -{ - background-color:transparent; -} -.htmlarea .toolbar -{ - padding:0; - background-image: url(toolbar.png); -} -.htmlarea .toolbarRow -{ - margin-top:0px; - margin-bottom:0px; - border:1px solid #F1F1F1; - padding:0px; - -moz-border-radius:15px; - margin:4px; - height:20px; -} -/* hack: IE6 does not know border-color: transparent;*/ -html > body .htmlarea .toolbarRow { - border-color: transparent; -} - -.htmlarea .toolbar .button -{ - width:18px; - height:18px; - padding:1px 2px 2px 1px ; - border: solid #F1F1F1; - border-width:1px; -} - -html > body .htmlarea .toolbar .button { - border-color: transparent; -} - -.buttonImageContainer -{ - position:relative; - left:1px; - top :1px; -} - -.htmlarea .toolbar a.button:hover -{ - border: solid 1px; - border-color: black; -} -.htmlarea .toolbar a.buttonDisabled:hover -{ - border: solid transparent 1px; -} - -.htmlarea .toolbar .button.buttonActive, -.htmlarea .toolbar .button.buttonPressed -{ - border: black dotted 1px; - padding:2px 1px 1px 2px; -} - -.htmlarea .toolbar .button.buttonPressed { - padding:1px 2px 2px 1px ; -} -.htmlarea .toolbar .separator { - margin: 3px; - border-left: 1px dotted black; - border-right: none; - width: 1px; - height: 11px; - padding: 0px; -} - -.htmlarea .statusBar { - border-color: #CCC white white #CCC; - padding: 0px; - height:20px; - background-image: url(statusbar.png); - background-repeat: repeat-x; - background-color: white; - color: grey; - font: 11px Arial,Helvetica,sans-serif; - vertical-align: middle; -} - -.htmlarea .statusBar .statusBarTree -{ - display:block; - margin: 3px; -} -.htmlarea .statusBar span { - display:none; -} -.htmlarea .statusBar .statusBarTree a -{ - padding: 0 5px; - color: green; - text-decoration:none; - letter-spacing:0.15em; - font-size:120%; - border: none; - padding: 2px 5px; -} -.htmlarea .statusBar .statusBarTree a:visited { color:green; } -.htmlarea .statusBar .statusBarTree a:hover { - background-color: transparent; - color: green; - border: none; - padding: 1px 5px; -} - -.dialog { - /* background: url(dialog.jpg) #f0f0f0 no-repeat; */ - background-color: #f0f0f0; - } -body.dialog { - padding-top:0; -} -.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table,.dialog td,.dialog th, .panel { - font: 11px Arial,Helvetica,sans-serif !IMPORTANT; -} -.panel a { - color:#444; - border-bottom: 1px dotted #bbb; -} -.panel a:hover { - background-color: #eee; -} -.dialog .title,.dialog h1,.htmlarea .panel h1 { - background-image: url(toolbar.png); - background-repeat: repeat-x; - color:black; - font:Arial,Helvetica,sans-serif !IMPORTANT; - letter-spacing:0.2em; - font-size:13px; - font-weight:400; -} -.dialog .title { - -} - -.dialog button{ - background: url(statusbar.png) bottom repeat-x; - border:1px solid grey; - height:18px; - vertical-align: middle -} -/* separate definition for the sake of IE6*/ -.dialog input[type=button],.dialog input[type=submit]{ - background: url(statusbar.png) bottom repeat-x; - border:1px solid grey; - height:18px; - vertical-align: middle -} -.htmlarea textarea.xinha_textarea { - background:url(html.gif) bottom right no-repeat; - /*padding:5px; - border:2px dotted #bbb;*/ - font-family: "Lucida Console",Courier,monospace; - font-size: 10pt; -} -.htmlarea .dTreeNode { - color:black; -} \ No newline at end of file +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +.htmlarea .toolbar,.htmlarea .toolbar .button{background-color:transparent;}.htmlarea .toolbar{padding:0;background-image:url(toolbar.png);}.htmlarea .toolbarRow{margin-top:0;margin-bottom:0;border:1px solid #F1F1F1;padding:0;-moz-border-radius:15px;margin:4px;height:20px;}html>body .htmlarea .toolbarRow{border-color:transparent;}.htmlarea .toolbar .button{width:18px;height:18px;padding:1px 2px 2px 1px;border:solid #F1F1F1;border-width:1px;}html>body .htmlarea .toolbar .button{border-color:transparent;}.buttonImageContainer{position:relative;left:1px;top:1px;}.htmlarea .toolbar a.button:hover{border:solid 1px;border-color:black;}.htmlarea .toolbar a.buttonDisabled:hover{border:solid transparent 1px;}.htmlarea .toolbar .button.buttonActive,.htmlarea .toolbar .button.buttonPressed{border:black dotted 1px;padding:2px 1px 1px 2px;}.htmlarea .toolbar .button.buttonPressed{padding:1px 2px 2px 1px;}.htmlarea .toolbar .separator{margin:3px;border-left:1px dotted black;border-right:none;width:1px;height:11px;padding:0;}.htmlarea .statusBar{border-color:#CCC white white #CCC;padding:0;height:20px;background-image:url(statusbar.png);background-repeat:repeat-x;background-color:white;color:grey;font:11px Arial,Helvetica,sans-serif;vertical-align:middle;}.htmlarea .statusBar .statusBarWidgetContainer{background-image:url(statusbar.png);background-repeat:repeat-x;background-color:white;}.htmlarea .statusBar .statusBarTree{display:block;margin:3px;}.htmlarea .statusBar .statusBarTree a{padding:0 5px;color:green;text-decoration:none;letter-spacing:.15em;font-size:120%;border:none;padding:2px 5px;}.htmlarea .statusBar .statusBarTree a:visited{color:green;}.htmlarea .statusBar .statusBarTree a:hover{background-color:transparent;color:green;border:none;padding:1px 5px;}.dialog{background-color:#f0f0f0;}body.dialog{padding-top:0;}.dialog,.dialog button,.dialog input,.dialog select,.dialog textarea,.dialog table,.dialog td,.dialog th,.panel{font:11px Arial,Helvetica,sans-serif!IMPORTANT;}.panel a{color:#444;border-bottom:1px dotted #bbb;}.panel a:hover{background-color:#eee;}.dialog .title,.dialog h1,.htmlarea .panel h1{background-image:url(toolbar.png);background-repeat:repeat-x;color:black;font:Arial,Helvetica,sans-serif!IMPORTANT;letter-spacing:.2em;font-size:13px;font-weight:400;}.dialog button{background:url(statusbar.png) bottom repeat-x;border:1px solid grey;height:18px;vertical-align:middle;}.dialog input[type=button],.dialog input[type=submit]{background:url(statusbar.png) bottom repeat-x;border:1px solid grey;height:18px;vertical-align:middle;}.htmlarea textarea.xinha_textarea{background:url(html.gif) bottom right no-repeat;font-family:"Lucida Console",Courier,monospace;font-size:10pt;}.htmlarea .dTreeNode{color:black;} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/skins/silva/skin.css_uncompr.js b/ccm-core/web/assets/xinha/skins/silva/skin.css_uncompr.js new file mode 100644 index 000000000..5044b56ed --- /dev/null +++ b/ccm-core/web/assets/xinha/skins/silva/skin.css_uncompr.js @@ -0,0 +1,177 @@ +/*--------------------------------*/ +/* silva skin for Xinha */ +/* */ +/* by Raimund Meyer (ray) */ +/* xinha@raimundmeyer.de */ +/* 2007-1-9 */ +/*--------------------------------*/ + +.htmlarea .toolbar, .htmlarea .toolbar .button +{ + background-color:transparent; +} +.htmlarea .toolbar +{ + padding:0; + background-image: url(toolbar.png); +} +.htmlarea .toolbarRow +{ + margin-top:0px; + margin-bottom:0px; + border:1px solid #F1F1F1; + padding:0px; + -moz-border-radius:15px; + margin:4px; + height:20px; +} +/* hack: IE6 does not know border-color: transparent;*/ +html > body .htmlarea .toolbarRow { + border-color: transparent; +} + +.htmlarea .toolbar .button +{ + width:18px; + height:18px; + padding:1px 2px 2px 1px ; + border: solid #F1F1F1; + border-width:1px; +} + +html > body .htmlarea .toolbar .button { + border-color: transparent; +} + +.buttonImageContainer +{ + position:relative; + left:1px; + top :1px; +} + +.htmlarea .toolbar a.button:hover +{ + border: solid 1px; + border-color: black; +} +.htmlarea .toolbar a.buttonDisabled:hover +{ + border: solid transparent 1px; +} + +.htmlarea .toolbar .button.buttonActive, +.htmlarea .toolbar .button.buttonPressed +{ + border: black dotted 1px; + padding:2px 1px 1px 2px; +} + +.htmlarea .toolbar .button.buttonPressed { + padding:1px 2px 2px 1px ; +} +.htmlarea .toolbar .separator { + margin: 3px; + border-left: 1px dotted black; + border-right: none; + width: 1px; + height: 11px; + padding: 0px; +} + +.htmlarea .statusBar { + border-color: #CCC white white #CCC; + padding: 0px; + height:20px; + background-image: url(statusbar.png); + background-repeat: repeat-x; + background-color: white; + color: grey; + font: 11px Arial,Helvetica,sans-serif; + vertical-align: middle; +} + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(statusbar.png); + background-repeat: repeat-x; + background-color: white; +} + +.htmlarea .statusBar .statusBarTree +{ + display:block; + margin: 3px; +} + +.htmlarea .statusBar .statusBarTree a +{ + padding: 0 5px; + color: green; + text-decoration:none; + letter-spacing:0.15em; + font-size:120%; + border: none; + padding: 2px 5px; +} +.htmlarea .statusBar .statusBarTree a:visited { color:green; } +.htmlarea .statusBar .statusBarTree a:hover { + background-color: transparent; + color: green; + border: none; + padding: 1px 5px; +} + +.dialog { + /* background: url(dialog.jpg) #f0f0f0 no-repeat; */ + background-color: #f0f0f0; + } +body.dialog { + padding-top:0; +} +.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table,.dialog td,.dialog th, .panel { + font: 11px Arial,Helvetica,sans-serif !IMPORTANT; +} +.panel a { + color:#444; + border-bottom: 1px dotted #bbb; +} +.panel a:hover { + background-color: #eee; +} +.dialog .title,.dialog h1,.htmlarea .panel h1 { + background-image: url(toolbar.png); + background-repeat: repeat-x; + color:black; + font:Arial,Helvetica,sans-serif !IMPORTANT; + letter-spacing:0.2em; + font-size:13px; + font-weight:400; +} +.dialog .title { + +} + +.dialog button{ + background: url(statusbar.png) bottom repeat-x; + border:1px solid grey; + height:18px; + vertical-align: middle +} +/* separate definition for the sake of IE6*/ +.dialog input[type=button],.dialog input[type=submit]{ + background: url(statusbar.png) bottom repeat-x; + border:1px solid grey; + height:18px; + vertical-align: middle +} +.htmlarea textarea.xinha_textarea { + background:url(html.gif) bottom right no-repeat; + /*padding:5px; + border:2px dotted #bbb;*/ + font-family: "Lucida Console",Courier,monospace; + font-size: 10pt; +} +.htmlarea .dTreeNode { + color:black; +} diff --git a/ccm-core/web/assets/xinha/skins/silva/skin.xml b/ccm-core/web/assets/xinha/skins/silva/skin.xml new file mode 100644 index 000000000..cfe00d3a9 --- /dev/null +++ b/ccm-core/web/assets/xinha/skins/silva/skin.xml @@ -0,0 +1,11 @@ + + + + + + + + + + Crystal + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/skins/titan/skin.css b/ccm-core/web/assets/xinha/skins/titan/skin.css index cac340191..dc65fbd62 100755 --- a/ccm-core/web/assets/xinha/skins/titan/skin.css +++ b/ccm-core/web/assets/xinha/skins/titan/skin.css @@ -48,6 +48,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #889fc9; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -70,4 +78,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/xp-blue/skin.css b/ccm-core/web/assets/xinha/skins/xp-blue/skin.css index bd7b95509..c8f8564ed 100755 --- a/ccm-core/web/assets/xinha/skins/xp-blue/skin.css +++ b/ccm-core/web/assets/xinha/skins/xp-blue/skin.css @@ -51,6 +51,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #c3daf9; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -73,4 +81,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/xp-green/skin.css b/ccm-core/web/assets/xinha/skins/xp-green/skin.css index 9e4733c62..4a284dc54 100755 --- a/ccm-core/web/assets/xinha/skins/xp-green/skin.css +++ b/ccm-core/web/assets/xinha/skins/xp-green/skin.css @@ -51,6 +51,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #f2f0e4; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -73,4 +81,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl b/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl index 2609c5bf9..e6a444bde 100755 --- a/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl +++ b/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl @@ -54,7 +54,7 @@ diff --git a/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl b/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl index 2609c5bf9..e6a444bde 100644 --- a/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl +++ b/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl @@ -54,7 +54,7 @@