From: skodak Date: Sat, 16 May 2009 20:53:21 +0000 (+0000) Subject: MDL-19184, MDL-19212 - refactoring, cleanup and improvements in text editors support... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=5ca3c8386f2ddee40590a77663244acf9d635362;p=moodle.git MDL-19184, MDL-19212 - refactoring, cleanup and improvements in text editors support; localization support is not finished, inline docs incomplete, expect more commits soon --- diff --git a/admin/settings/appearance.php b/admin/settings/appearance.php index 615d2fafad..06e4db76d6 100644 --- a/admin/settings/appearance.php +++ b/admin/settings/appearance.php @@ -48,19 +48,21 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page $temp->add(new admin_setting_configtext('calendar_exportsalt', get_string('calendarexportsalt','admin'), get_string('configcalendarexportsalt', 'admin'), random_string(60))); $ADMIN->add('appearance', $temp); +/* TODO: reimplement editor settings and preferences, editors are now full plugins ;-) // "htmleditor" settingpage $ADMIN->add('appearance', new admin_category('htmleditor', get_string('htmleditor', 'admin'))); $temp = new admin_settingpage('htmleditorsettings', get_string('htmleditorsettings', 'admin')); - $htmleditors = get_available_html_editors(); + $htmleditors = get_available_editors(); $temp->add(new admin_setting_configselect('defaulthtmleditor', get_string('defaulthtmleditor', 'admin'), null, 'tinymce', $htmleditors)); $temp->add(new admin_setting_configcheckbox('htmleditor', get_string('usehtmleditor', 'admin'), get_string('confightmleditor','admin'), 1)); $temp->add(new admin_setting_emoticons()); $ADMIN->add('htmleditor', $temp); -/* TODO: before deleting these settings migrate or drop config values! + + TODO: before deleting these settings migrate or drop config values! $temp = new admin_settingpage('htmlarea', get_string('htmlarea', 'admin')); $temp->add(new admin_setting_configtext('editorbackgroundcolor', get_string('editorbackgroundcolor', 'admin'), get_string('edhelpbgcolor'), '#ffffff', PARAM_NOTAGS)); $temp->add(new admin_setting_configtext('editorfontfamily', get_string('editorfontfamily', 'admin'), get_string('edhelpfontfamily'), 'Trebuchet MS,Verdana,Arial,Helvetica,sans-serif', PARAM_NOTAGS)); @@ -69,13 +71,13 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page $temp->add(new admin_setting_configcheckbox('editorkillword', get_string('editorkillword', 'admin'), get_string('edhelpcleanword'), 1)); $temp->add(new admin_setting_special_editorhidebuttons()); $ADMIN->add('htmleditor', $temp); -*/ $temp = new admin_settingpage('tinymce', 'TinyMCE'); // add tinymce configuration options here $ADMIN->add('htmleditor', $temp); +*/ - // "htmlsettings" settingpage + // "htmlsettings" settingpage $temp = new admin_settingpage('htmlsettings', get_string('htmlsettings', 'admin')); $temp->add(new admin_setting_configcheckbox('formatstringstriptags', get_string('stripalltitletags', 'admin'), get_string('configstripalltitletags', 'admin'), 1)); $ADMIN->add('appearance', $temp); diff --git a/lang/en_utf8/editor_textarea.php b/lang/en_utf8/editor_textarea.php new file mode 100644 index 0000000000..f93029a5e3 --- /dev/null +++ b/lang/en_utf8/editor_textarea.php @@ -0,0 +1,3 @@ + diff --git a/lib/accesslib.php b/lib/accesslib.php index 1830ce6f37..df82af9a6a 100755 --- a/lib/accesslib.php +++ b/lib/accesslib.php @@ -3069,6 +3069,10 @@ function load_capability_def($component) { $defpath = $CFG->dirroot.'/course/'.$component.'/db/access.php'; $varprefix = $compparts[0].'_'.$compparts[1]; + } else if ($compparts[0] == 'editor') { + $defpath = $CFG->dirroot.'/lib/editor/'.$compparts[1].'/db/access.php'; + $varprefix = $compparts[0].'_'.$compparts[1]; + } else if ($compparts[0] == 'gradeimport') { $defpath = $CFG->dirroot.'/grade/import/'.$compparts[1].'/db/access.php'; $varprefix = $compparts[0].'_'.$compparts[1]; @@ -3914,6 +3918,10 @@ function get_capability_string($capabilityname) { $string = get_string($stringname, 'format_'.$componentname); break; + case 'format': + $string = get_string($stringname, 'editor_'.$componentname); + break; + case 'gradeexport': $string = get_string($stringname, 'gradeexport_'.$componentname); break; diff --git a/lib/adminlib.php b/lib/adminlib.php index c944bea9d9..5687ab6d34 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -99,6 +99,7 @@ function get_plugin_types() { 'auth' => 'auth', 'enrol' => 'enrol', 'format' => 'course/format', + 'editor' => 'lib/editor', 'gradeexport' => 'grade/export', 'gradeimport' => 'grade/import', 'gradereport' => 'grade/report', diff --git a/lib/editor/common/dragmath/COPYRIGHT.html b/lib/editor/common/dragmath/COPYRIGHT.html deleted file mode 100644 index 6a64688000..0000000000 --- a/lib/editor/common/dragmath/COPYRIGHT.html +++ /dev/null @@ -1,30 +0,0 @@ - - -DragMath Documentation - License - - - -DragMath copyright information - - - -

DragMath is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html) -

-All source code in this package is written by Alex Billingsley except the libraries used. The copyright information for the libaries is included below:

-
-

-

JDOM
http://www.jdom.org

-JDOM is available under an Apache-style open source license, with the acknowledgment clause removed. This license is among the least restrictive license available, enabling developers to use JDOM in creating new products without requiring them to release their own products as open source. This is the license model used by the Apache Project, which created the Apache server. The license is available at the top of every source file and in LICENSE.txt in the root of the distribution. -

-
-

-

JEP
https://sourceforge.net/projects/jep/

-JEP is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html)

-

-
-

glyFX Common Toolbar Set Icons
http://www.glyfx.com

-Icons used in software, license found at; http://www.glyfx.com/license-toolbar.html

-
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/LICENSE-gpl.txt b/lib/editor/common/dragmath/LICENSE-gpl.txt deleted file mode 100644 index c872f2629e..0000000000 --- a/lib/editor/common/dragmath/LICENSE-gpl.txt +++ /dev/null @@ -1,341 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -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 give any other recipients of the Program a copy of this License -along with the Program. - -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 Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -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 Program, 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 Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) 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; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, 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 executable. However, as a -special exception, the source code 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. - -If distribution of executable or 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 counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program 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. - - 5. 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 Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program 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 to -this License. - - 7. 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 Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program 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 Program. - -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. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program 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. - - 9. The Free Software Foundation may publish revised and/or new versions -of the 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 Program -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 Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, 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 - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "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 PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. 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 PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - diff --git a/lib/editor/common/dragmath/README.html b/lib/editor/common/dragmath/README.html deleted file mode 100644 index 8bbac45c1d..0000000000 --- a/lib/editor/common/dragmath/README.html +++ /dev/null @@ -1,66 +0,0 @@ - - -DragMath - README - - - -DragMath README - - -

- -

-
-This is an open-source drag and drop equation editor written in Java. Once an expression is created the user can convert it into a variety of different linear syntax for mathematics, including MathML, LaTeX, Maple, Maxima or any user defined style. -

-DragMath Website:www.dragmath.bham.ac.uk
-SoureForge.net Project:http://sourceforge.net/projects/dragmath -

-
-

-Package Contents: -

-
-
- -
README.html -
This file
- -
-
LICENSE-gpl.txt -
License Agreement
- -
-
COPYRIGHT.html -
Copyright Information
- -
-
Release Notes.html -
Release Notes for this version
- -
-
index.html -
DragMath Website including Demonstrations
- -

-
doc/ -
Documentation
- -
-
-
applet/classes/ -
-
formats/ -
Export formats
-
-
lang/ -
Language files
- -
- - - -
-
- - \ No newline at end of file diff --git a/lib/editor/common/dragmath/Release Notes.html b/lib/editor/common/dragmath/Release Notes.html deleted file mode 100644 index c99f705f7f..0000000000 --- a/lib/editor/common/dragmath/Release Notes.html +++ /dev/null @@ -1,40 +0,0 @@ - - -DragMath - Release Notes for Version 0.7.2 - - - -Release Notes for DragMath 0.7.2 - - -

- -www.dragmath.bham.ac.uk -

-
- -DragMath 0.7.2 released 04/04/2008 -

-New Features: -

-
    -
  1. MoodleTex format file
  2. -
  3. ASCIIMathML format file
  4. -
-New languages: -

-
    -
  1. Norwegian
  2. -
-Bugs fixed: -

-
    -
  1. Unary minus not working with infinity
  2. -
-
- - -
-
- - \ No newline at end of file diff --git a/lib/editor/common/dragmath/applet/HotEqn/HotEqn.class b/lib/editor/common/dragmath/applet/HotEqn/HotEqn.class deleted file mode 100644 index 2d494e858c..0000000000 Binary files a/lib/editor/common/dragmath/applet/HotEqn/HotEqn.class and /dev/null differ diff --git a/lib/editor/common/dragmath/applet/HotEqn/HotEqn.jar b/lib/editor/common/dragmath/applet/HotEqn/HotEqn.jar deleted file mode 100644 index 70825cc09e..0000000000 Binary files a/lib/editor/common/dragmath/applet/HotEqn/HotEqn.jar and /dev/null differ diff --git a/lib/editor/common/dragmath/applet/Latex.html b/lib/editor/common/dragmath/applet/Latex.html deleted file mode 100644 index 98c01317ca..0000000000 --- a/lib/editor/common/dragmath/applet/Latex.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - -DragMath Latex Example - - - - - - -
- - -
DragMath Latex Example
-

- - - - - -To use this page you need a Java-enabled browser. Download the latest Java plug-in from Java.com - -
- -
- -
- -

Latex Rendering:

- - - -
-
-Latex rendering performed by freeware Java applet HotEqn - - diff --git a/lib/editor/common/dragmath/applet/MathML.html b/lib/editor/common/dragmath/applet/MathML.html deleted file mode 100644 index 6709f7259b..0000000000 --- a/lib/editor/common/dragmath/applet/MathML.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - -DragMath MathML Example - - - - - - -
- - -
DragMath MathML Example
-

- - - - -To use this page you need a Java-enabled browser. Download the latest Java plug-in from Java.com - -
- -
- -
- -

MathML Rendering:

- - - -
-
-JavaScript used for rendering from Mozilla website, re-used under Creative Commons License - - - diff --git a/lib/editor/common/dragmath/applet/Maxima.html b/lib/editor/common/dragmath/applet/Maxima.html deleted file mode 100644 index f4808b0758..0000000000 --- a/lib/editor/common/dragmath/applet/Maxima.html +++ /dev/null @@ -1,49 +0,0 @@ - - -DragMath Maxima Example - - - - - - -
DragMath Maxima Example
-

- -
- -

Factorise 20*x+5 -
- - -

- -

Differentiate 2·x5+2·x4-x3+3·x2-2·x with respect to x -
- - -

- -

Integrate cos( 5·x ) with respect to x -
- - -

- - -
- - - diff --git a/lib/editor/common/dragmath/applet/MaximaPopup.html b/lib/editor/common/dragmath/applet/MaximaPopup.html deleted file mode 100644 index 7f68b688fa..0000000000 --- a/lib/editor/common/dragmath/applet/MaximaPopup.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - -
- -
- - - diff --git a/lib/editor/common/dragmath/applet/classes/AbsoluteLayout.jar b/lib/editor/common/dragmath/applet/classes/AbsoluteLayout.jar deleted file mode 100644 index 7095af9ba2..0000000000 Binary files a/lib/editor/common/dragmath/applet/classes/AbsoluteLayout.jar and /dev/null differ diff --git a/lib/editor/common/dragmath/applet/classes/Config.xml b/lib/editor/common/dragmath/applet/classes/Config.xml deleted file mode 100644 index a834dcc6e7..0000000000 --- a/lib/editor/common/dragmath/applet/classes/Config.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/editor/common/dragmath/applet/classes/Display/MainApplet.class b/lib/editor/common/dragmath/applet/classes/Display/MainApplet.class deleted file mode 100644 index 29679280db..0000000000 Binary files a/lib/editor/common/dragmath/applet/classes/Display/MainApplet.class and /dev/null differ diff --git a/lib/editor/common/dragmath/applet/classes/Project.jar b/lib/editor/common/dragmath/applet/classes/Project.jar deleted file mode 100644 index e02ed70b0d..0000000000 Binary files a/lib/editor/common/dragmath/applet/classes/Project.jar and /dev/null differ diff --git a/lib/editor/common/dragmath/applet/classes/formats/ASCIIMathML.xml b/lib/editor/common/dragmath/applet/classes/formats/ASCIIMathML.xml deleted file mode 100644 index 82f099526e..0000000000 --- a/lib/editor/common/dragmath/applet/classes/formats/ASCIIMathML.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - ASCIIMathML - - - ` - ` - - - - - - - - - - - - - - - - - - - + - - - - * - - - - xx - - - = - - - uu - - - nn - - - , - - - -= - - - - - - - - - - - - ( - )! - - - ln - - - - log - - - - sin - - - - cos - - - - tan - - - - sin^{-1} - - - - cos^{-1} - - - - tan^{-1} - - - - sinh - - - - cosh - - - - tanh - - - - sinh^{-1} - - - - cosh^{-1} - - - - tanh^{-1} - - - - sqrt{ - } - - - e^{ - } - - - max - - - - min - - - - det - - - - Tr - - - - - - - - - != - - - - - +- - - - - - := - - - - - - - - - - ( - )/( - ) - - - - -: - - - - - - - - - - > - - - - - - - - - - =]]> - - - - - sub - - - - - sube - - - - - \not\subset - - - - - \not\subseteq - - - - - ^{ - } - - - - _{ - } - - - root( - )( - ) - - - - ( - ) - - - - larr - - - - - rarr - - - - - uarr - - - - - darr - - - - - lArr - - - - - rArr - - - - - harr - - - - - hArr - - - - - \nearrow - - - - - \searrow - - - - - \nwarrow - - - - - \swarrow - - - - - - EE - - - - - AA - - - - - in - - - - - \not\exists - - - - - !in - - - - - \simeq - - - - - vv - - - - - ^^ - - - - - not - - - - - - - int - d - - - - d/(d - ) - - - - del/(del - ) - - - - sum_( - = - )^( - ) - - - - prod_( - = - )^( - ) - - - - lim_( - -> - ) - - - - - \left|_{{ - }={ - }} - - - int_{ - }^{ - } - d - - - - - - - - [ - [ - - - , - ] - , - ] - - - - - - - ( - ) - - - { - } - - - [ - ] - - - |\ - | - - - - - - - oo - - - - <Γ> - Gamma - - <Δ> - Delta - - <Θ> - Theta - - <Λ> - Lamda - - <Ξ> - Xi - - <Π> - Pi - - <Σ> - Sigma - - <Î¥> - Upsilon - - <Φ> - Phi - - <Ψ> - Psi - - <Ω> - Omega - - - - <α> - alpha - - <β> - beta - - <γ> - gamma - - <δ> - delta - - <ε> - epsilon - - <ζ> - zeta - - <η> - eta - - <θ> - theta - - <ι> - iota - - <κ> - kappa - - <λ> - lambda - - <μ> - mu - - <ν> - nu - - <ξ> - xi - - <π> - pi - - <ρ> - rho - - <σ> - sigma - - <τ> - tau - - <υ> - upsilon - - <φ> - phi - - <χ> - chi - - <ψ> - psi - - <ω> - omega - - - diff --git a/lib/editor/common/dragmath/applet/classes/formats/Latex.xml b/lib/editor/common/dragmath/applet/classes/formats/Latex.xml deleted file mode 100644 index 8720b21509..0000000000 --- a/lib/editor/common/dragmath/applet/classes/formats/Latex.xml +++ /dev/null @@ -1,541 +0,0 @@ - - - - Latex - - - - - - - - - - - - - - - - - - - - - - - + - - - \cdot - - - \times - - - = - - - \cup - - - \cap - - - , - - - \equiv - - - - - - - - - - - - { - }! - - - \ln - - - - \log - - - - \sin - - - - \cos - - - - \tan - - - - \sin^{-1} - - - - \cos^{-1} - - - - \tan^{-1} - - - - \sinh - - - - \cosh - - - - \tanh - - - - \sinh^{-1} - - - - \cosh^{-1} - - - - \tanh^{-1} - - - - \sqrt{ - } - - - e^{ - } - - - \max - - - - \min - - - - \det - - - - Tr - - - - - - - - - \neq - - - - - \pm - - - - - := - - - - - - - - - - \frac{ - }{ - } - - - - \div - - - - - - - - - - > - - - - - \le - - - - - \ge - - - - - \subset - - - - - \subseteq - - - - - \not\subset - - - - - \not\subseteq - - - - - ^{ - } - - - - _{ - } - - - \sqrt[ - ]{ - } - - - - \left( - \right) - - - - \leftarrow - - - - - \rightarrow - - - - - \uparrow - - - - - \downarrow - - - - - \Leftarrow - - - - - \Rightarrow - - - - - \leftrightarrow - - - - - \Leftrightarrow - - - - - \nearrow - - - - - \searrow - - - - - \nwarrow - - - - - \swarrow - - - - - - \exists - - - - - \forall - - - - - \epsilon - - - - - \not\exists - - - - - \not\epsilon - - - - - \simeq - - - - - \vee - - - - - \wedge - - - - - \neg - - - - - - - \int - \,d - - - - \frac{d}{d - } - - - - \frac{\partial}{\partial - } - - - - \sum_{{ - }={ - }}^{ - } - - - - \prod_{{ - }={ - }}^{ - } - - - - \lim_{ - \to - } - - - - - \left|_{{ - }={ - }} - - - \int_{ - }^{ - } - \,d - - - - - - - - \left( \begin{array}{ccc} - - - - - \\ - - \end{array} \right) - - - - - - - \left( - \right) - - - \{ - \} - - - \left[ - \right] - - - \left| - \right| - - - - - - - \infty - - - - <Γ> - \Gamma - - <Δ> - \Delta - - <Θ> - \Theta - - <Λ> - \Lamda - - <Ξ> - \Xi - - <Π> - \Pi - - <Σ> - \Sigma - - <Î¥> - \Upsilon - - <Φ> - \Phi - - <Ψ> - \Psi - - <Ω> - \Omega - - - - <α> - \alpha - - <β> - \beta - - <γ> - \gamma - - <δ> - \delta - - <ε> - \epsilon - - <ζ> - \zeta - - <η> - \eta - - <θ> - \theta - - <ι> - \iota - - <κ> - \kappa - - <λ> - \lambda - - <μ> - \mu - - <ν> - \nu - - <ξ> - \xi - - <π> - \pi - - <ρ> - \rho - - <σ> - \sigma - - <τ> - \tau - - <υ> - \upsilon - - <φ> - \phi - - <χ> - \chi - - <ψ> - \psi - - <ω> - \omega - - - diff --git a/lib/editor/common/dragmath/applet/classes/formats/Maple.xml b/lib/editor/common/dragmath/applet/classes/formats/Maple.xml deleted file mode 100644 index 7b42b78cce..0000000000 --- a/lib/editor/common/dragmath/applet/classes/formats/Maple.xml +++ /dev/null @@ -1,539 +0,0 @@ - - - - Maple - - - - - - - - - - - - - - - - - - - - - - + - - - * - - - * - - - = - - - union - - - intersect - - - , - - - ≡ - - - - - - - - - - - - factorial - - - - ln - - - - log - - - - sin - - - - cos - - - - tan - - - - arcsin - - - - arccos - - - - arctan - - - - sinh - - - - cosh - - - - tanh - - - - arcsinh - - - - arccosh - - - - arctanh - - - - sqrt - - - - exp - - - - max - - - - min - - - - det - - - - trace - - - - - - - - - ≠ - - - - - ± - - - - - := - - - - - - - - - - - / - - - - - / - - - - - - - - - - > - - - - - - - - - - >= - - - - `subset`( - , - ) - - - `subset`( - , - ) - - - not `subset`( - , - ) - - - not `subset`( - , - ) - - - - ^ - - - - - [ - ] - - - surd( - , - ) - - - - ( - ) - - - - ← - - - - - → - - - - - ↑ - - - - - ↓ - - - - - ⇐ - - - - - ⇒ - - - - - ↔ - - - - - ⇔ - - - - - ↗ - - - - - ↘ - - - - - ↖ - - - - - ↙ - - - - - - ∃ - - - - - ∀ - - - - - ∈ - - - - - ∄ - - - - - ∉ - - - - - ≃ - - - - - ∨ - - - - - ∧ - - - - - ¬ - - - - - - - int( - , - ) - - - diff( - , - ) - - - diff( - , - ) - - - sum( - , - = - .. - ) - - - product( - , - = - .. - ) - - - limit( - , - = - ) - - - subs( - = - , - ) - - - int( - , - = - .. - ) - - - - - - - Matrix([ - [ - - - , - ] - , - ]) - - - - - - - ( - ) - - - { - } - - - [ - ] - - - abs( - ) - - - - - - - infinity - - - <Γ> - Gamma - - <Δ> - Delta - - <Θ> - Theta - - <Λ> - Lamda - - <Ξ> - Xi - - <Π> - PI - - <Σ> - Sigma - - <Î¥> - Upsilon - - <Φ> - Phi - - <Ψ> - Psi - - <Ω> - Omega - - - - <α> - alpha - - <β> - beta - - <γ> - gamma - - <δ> - delta - - <ε> - epsilon - - <ζ> - zeta - - <η> - eta - - <θ> - theta - - <ι> - iota - - <κ> - kappa - - <λ> - lambda - - <μ> - mu - - <ν> - nu - - <ξ> - xi - - <π> - Pi - - <ρ> - rho - - <σ> - sigma - - <τ> - tau - - <υ> - upsilon - - <φ> - phi - - <χ> - chi - - <ψ> - psi - - <ω> - omega - - - diff --git a/lib/editor/common/dragmath/applet/classes/formats/MathML.xml b/lib/editor/common/dragmath/applet/classes/formats/MathML.xml deleted file mode 100644 index f70367cc0a..0000000000 --- a/lib/editor/common/dragmath/applet/classes/formats/MathML.xml +++ /dev/null @@ -1,539 +0,0 @@ - - - - MathML - - - ]]> - ]]> - - - ]]> - ]]> - - - ]]> - ]]> - - - ]]> - ]]> - - - - - - - + ]]> - - - ⋅ ]]> - - - × ]]> - - - = ]]> - - - ⋃ ]]> - - - ⋂ ]]> - - - , ]]> - - - ≡ ]]> - - - - - - - - - - - ]]> - !]]> - - - ln ]]> - - - - log ]]> - - - - sin ]]> - - - - cos ]]> - - - - tan ]]> - - - - sin-1 ]]> - - - - cos-1 ]]> - - - - tan-1 ]]> - - - - sinh ]]> - - - - cosh ]]> - - - - tanh ]]> - - - - sinh-1 ]]> - - - - cosh-1 ]]> - - - - tanh-1 ]]> - - - - ]]> - ]]> - - - e ]]> - ]]> - - - max ]]> - - - - min ]]> - - - - det ]]> - - - - trace ]]> - - - - - - - - - ≠ ]]> - - - - - ± ]]> - - - - - ≔ ]]> - - - - - − ]]> - - - - ]]> - ]]> - ]]> - - - - ÷ ]]> - - - - - < ]]> - - - - - > ]]> - - - - - ≤ ]]> - - - - - ≥ ]]> - - - - - ⊂ ]]> - - - - - ⊆ ]]> - - - - - ⊄ ]]> - - - - - ⊈ ]]> - - - - ]]> - ]]> - ]]> - - - ]]> - ]]> - ]]> - - - ]]> - ]]> - ]]> - - - ]]> - ]]> - ]]> - - - - - - ]]> - ]]> - ]]> - - - ]]> - ]]> - ]]> - - - ]]> - ]]> - ]]> - - - ]]> - = ]]> - ]]> - ]]> - ]]> - - - ]]> - = ]]> - ]]> - ]]> - ]]> - - - lim ]]> - → ]]> - ]]> - ]]> - - - - | ]]> - = ]]> - ]]> - - - ]]> - ]]> - ]]> - ]]> - ]]> - - - - ← ]]> - - - - - → ]]> - - - - - ↑ ]]> - - - - - ↓ ]]> - - - - - ⇐ ]]> - - - - - ⇒ ]]> - - - - - ↔ ]]> - - - - - ⇔ ]]> - - - - - ↗ ]]> - - - - - ↘ ]]> - - - - - ↖ ]]> - - - - - ↙ ]]> - - - - - - ∃ ]]> - - - - - ∀ ]]> - - - - - ∈ ]]> - - - - - ∄ ]]> - - - - - ∉ ]]> - - - - - ≃ ]]> - - - - - ∨ ]]> - - - - - ∧ ]]> - - - - - ¬ ]]> - - - - - - - - ]]> - ]]> - - - ]]> - ]]> - - - ]]> - ]]> - - - ]]> - ]]> - - - - - - - ]]> - ]]> - ]]> - ]]> - - ]]> - - ]]> - - - - - - - ∞ ]]> - - - <Γ> - Γ ]]> - - <Δ> - Δ ]]> - - <Θ> - Θ ]]> - - <Λ> - &Lamda; ]]> - - <Ξ> - Ξ ]]> - - <Π> - Π ]]> - - <Σ> - Σ ]]> - - <Î¥> - Υ ]]> - - <Φ> - Φ ]]> - - <Ψ> - Ψ ]]> - - <Ω> - Ω ]]> - - - - <α> - α ]]> - - <β> - β ]]> - - <γ> - γ ]]> - - <δ> - δ ]]> - - <ε> - ε ]]> - - <ζ> - ζ ]]> - - <η> - η ]]> - - <θ> - θ ]]> - - <ι> - ι ]]> - - <κ> - κ ]]> - - <λ> - &lamda; ]]> - - <μ> - μ ]]> - - <ν> - ν ]]> - - <ξ> - ξ ]]> - - <π> - π ]]> - - <ρ> - ρ ]]> - - <σ> - σ ]]> - - <τ> - τ ]]> - - <υ> - υ ]]> - - <φ> - φ ]]> - - <χ> - χ ]]> - - <ψ> - ψ ]]> - - <ω> - ω ]]> - - diff --git a/lib/editor/common/dragmath/applet/classes/formats/Maxima.xml b/lib/editor/common/dragmath/applet/classes/formats/Maxima.xml deleted file mode 100644 index ce58ae1543..0000000000 --- a/lib/editor/common/dragmath/applet/classes/formats/Maxima.xml +++ /dev/null @@ -1,544 +0,0 @@ - - - - Maxima - - - - - - - - - - - - - - - - - - - - - - - + - - - * - - - * - - - = - - - union( - , - ) - - - intersection( - , - ) - - - , - - - ≡ - - - - - - - - - - - - ( - )! - - - log - - - - log10 - - - - sin - - - - cos - - - - tan - - - - asin - - - - acos - - - - atan - - - - sinh - - - - cosh - - - - tanh - - - - asinh - - - - acosh - - - - atanh - - - - sqrt - - - - exp - - - - max - - - - min - - - - det - - - - trace - - - - - - - - - ≠ - - - - - ± - - - - - : - - - - - - - - - - - / - - - - - / - - - - - - - - - - > - - - - - - - - - - >= - - - - subsetp( - , - ) - - - subsetp( - , - ) - - - not(subsetp( - , - )) - - - not(subsetp( - , - )) - - - - ^ - - - - - [ - ] - - - ( - )^(1/( - )) - - - - ( - ) - - - - ← - - - - - → - - - - - ↑ - - - - - ↓ - - - - - ⇐ - - - - - ⇒ - - - - - ↔ - - - - - ⇔ - - - - - ↗ - - - - - ↘ - - - - - ↖ - - - - - ↙ - - - - - - ∃ - - - - - ∀ - - - - - ∈ - - - - - ∄ - - - - - ∉ - - - - - ≃ - - - - - ∨ - - - - - ∧ - - - - - ¬ - - - - - - - integrate( - , - ) - - - diff( - , - ) - - - diff( - , - ) - - - sum( - , - , - , - ); - - - product( - , - , - , - ); - - - limit( - , - = - ); - - - subst( - = - , - ) - - - integrate( - , - , - , - ) - - - - - - - matrix( - [ - - - , - ] - , - ) - - - - - - - ( - ) - - - { - } - - - [ - ] - - - abs( - ) - - - - - - - infinity - - - <Γ> - Gamma - - <Δ> - Delta - - <Θ> - Theta - - <Λ> - Lamda - - <Ξ> - Xi - - <Π> - Pi - - <Σ> - Sigma - - <Î¥> - Upsilon - - <Φ> - Phi - - <Ψ> - Psi - - <Ω> - Omega - - - - <α> - alpha - - <β> - beta - - <γ> - %gamma - - <δ> - delta - - <ε> - epsilon - - <ζ> - zeta - - <η> - eta - - <θ> - theta - - <ι> - iota - - <κ> - kappa - - <λ> - lambda - - <μ> - mu - - <ν> - nu - - <ξ> - xi - - <π> - %pi - - <ρ> - rho - - <σ> - sigma - - <τ> - tau - - <υ> - upsilon - - <φ> - phi - - <χ> - chi - - <ψ> - psi - - <ω> - omega - - - diff --git a/lib/editor/common/dragmath/applet/classes/formats/MoodleTex.xml b/lib/editor/common/dragmath/applet/classes/formats/MoodleTex.xml deleted file mode 100644 index 92e63017cd..0000000000 --- a/lib/editor/common/dragmath/applet/classes/formats/MoodleTex.xml +++ /dev/null @@ -1,541 +0,0 @@ - - - - MoodleTex - - - $$ - $$ - - - - - - - - - - - - - - - - - - - + - - - \cdot - - - \times - - - = - - - \cup - - - \cap - - - , - - - \equiv - - - - - - - - - - - - { - }! - - - \ln - - - - \log - - - - \sin - - - - \cos - - - - \tan - - - - \sin^{-1} - - - - \cos^{-1} - - - - \tan^{-1} - - - - \sinh - - - - \cosh - - - - \tanh - - - - \sinh^{-1} - - - - \cosh^{-1} - - - - \tanh^{-1} - - - - \sqrt{ - } - - - e^{ - } - - - \max - - - - \min - - - - \det - - - - Tr - - - - - - - - - \neq - - - - - \pm - - - - - := - - - - - - - - - - \frac{ - }{ - } - - - - \div - - - - - - - - - - > - - - - - \le - - - - - \ge - - - - - \subset - - - - - \subseteq - - - - - \not\subset - - - - - \not\subseteq - - - - - ^{ - } - - - - _{ - } - - - \sqrt[ - ]{ - } - - - - \left( - \right) - - - - \leftarrow - - - - - \rightarrow - - - - - \uparrow - - - - - \downarrow - - - - - \Leftarrow - - - - - \Rightarrow - - - - - \leftrightarrow - - - - - \Leftrightarrow - - - - - \nearrow - - - - - \searrow - - - - - \nwarrow - - - - - \swarrow - - - - - - \exists - - - - - \forall - - - - - \epsilon - - - - - \not\exists - - - - - \not\epsilon - - - - - \simeq - - - - - \vee - - - - - \wedge - - - - - \neg - - - - - - - \int - \,d - - - - \frac{d}{d - } - - - - \frac{\partial}{\partial - } - - - - \sum_{{ - }={ - }}^{ - } - - - - \prod_{{ - }={ - }}^{ - } - - - - \lim_{ - \to - } - - - - - \left|_{{ - }={ - }} - - - \int_{ - }^{ - } - \,d - - - - - - - - \left( \begin{array}{ccc} - - - - - \\ - - \end{array} \right) - - - - - - - \left( - \right) - - - \{ - \} - - - \left[ - \right] - - - \left| - \right| - - - - - - - \infty - - - - <Γ> - \Gamma - - <Δ> - \Delta - - <Θ> - \Theta - - <Λ> - \Lamda - - <Ξ> - \Xi - - <Π> - \Pi - - <Σ> - \Sigma - - <Î¥> - \Upsilon - - <Φ> - \Phi - - <Ψ> - \Psi - - <Ω> - \Omega - - - - <α> - \alpha - - <β> - \beta - - <γ> - \gamma - - <δ> - \delta - - <ε> - \epsilon - - <ζ> - \zeta - - <η> - \eta - - <θ> - \theta - - <ι> - \iota - - <κ> - \kappa - - <λ> - \lambda - - <μ> - \mu - - <ν> - \nu - - <ξ> - \xi - - <π> - \pi - - <ρ> - \rho - - <σ> - \sigma - - <τ> - \tau - - <υ> - \upsilon - - <φ> - \phi - - <χ> - \chi - - <ψ> - \psi - - <ω> - \omega - - - diff --git a/lib/editor/common/dragmath/applet/classes/jdom.jar b/lib/editor/common/dragmath/applet/classes/jdom.jar deleted file mode 100644 index d9cda2a67d..0000000000 Binary files a/lib/editor/common/dragmath/applet/classes/jdom.jar and /dev/null differ diff --git a/lib/editor/common/dragmath/applet/classes/jep.jar b/lib/editor/common/dragmath/applet/classes/jep.jar deleted file mode 100644 index f9e315c73e..0000000000 Binary files a/lib/editor/common/dragmath/applet/classes/jep.jar and /dev/null differ diff --git a/lib/editor/common/dragmath/applet/classes/lang/ca.xml b/lib/editor/common/dragmath/applet/classes/lang/ca.xml deleted file mode 100644 index a60a24e275..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/ca.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - Error llegint el fitxer: Comproveu-ne la validesa - Error carregant el fitxer amb format: - Error carregant l'expressió desada - Error desant l'expressió - No es pot retallar la selecció: - No es pot copiar la selecció: - No es pot mostrar l'arbre: - No s'ha pogut completar l'acció: - No es pot afegir la Matriu a aquesta posició - Manca un operador en aquesta posició - Manca un argument o operador en aquesta posició - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - L'expressió no pot ser analitzada - DragMath - Escull una expressió per ser carregada - DragMath - Escull un lloc on desar l'expressió - Introduïu el nombre de files de la matriu - Introduïu el nombre de columnes de la matriu - Dimensions de la matriu - No hi ha res seleccionat per retallar - No hi ha res per enganxar - No hi ha cap quadre seleccionat per enganxar-hi - No hi ha res seleccionat per copiar - Copiat - S'ha produït un error al llegir les dades de sortida - S'ha copiat l'expressió al porta-retalls - No hi ha cap expressió per convertir - Encara no s'ha carregat un fitxer amb format - Choose the image size 1-10 (Smallest-Largest) - - - Multiplica - Divideix - Suma - Resta - Coma - Més-menys - No es igual - Arrel Quadrada - Arrel n-éssima - Superíndex - Subíndex - Matriu - Integral - Diferencial - Menor que - Major que - Menor o igual que - Major o igual que - Igual - Unió - Intersecció - Subconjunt - Subconjunt o igual que - No inclòs - No inclòs o igual que - Sinus - Cosinus - Tangent - Arcsinus - Arccosinus - Arctangent - Sinus hiperbòlic - Cosinus hiperbòlic - Tangent hiperbòlica - Invers del sinus hiperbòlic - Invers del cosinus hiperbòlic - Invers de la tangent hiperbòlica - Logaritme - Logaritme neperià - Exponencial - Menys - Parèntesis - Claus - Claudàtors - Valor absolut - Infinit - Lletra grega - Factorial - Màxim del conjunt - Mínim del conjunt - Assignació - Funció general - Determinant - Traça - Integral definida - Producte - Suma - Límit - Avalua una expressió en un punt - Fletxa esquerra - Fletxa dreta - Fletxa amunt - Fletxa avall - Fletxa esquerra-dreta - Fletxa doble esquerra - Fletxa doble dreta - Fletxa doble esquerra-dreta - Fletxa dreta-amunt - Fletxa dreta-avall - Fletxa esquerra-amun - Fletxa esquerra-avall - Multiplica - Divideix - Equivalència - Existeix - Per a tot - Pertany - No existeix - No pertany - Semblant - Unió Lògica - Intersecció lògica - Negació lògica - Partial Differential - - - Carrega un format personalitzat de sortida - Desar fórmula a un fitxer - Exportar l'expressió al porta-retalls - Desfés - Refés - Retalla - Còpia - Enganxa - Neteja tot l'àrea de treball - Selecciona tot l'àrea de treball - Carrega un fitxer amb format exportat - Carrega un fitxer d'idioma - Mostra l'arbre de l'expressió - Mostra el contorn - Carrega documents d'ajuda al navegador - Quant a DragMath - - - Fitxer - Obrir... - Anomenar i desar... - Exportar al porta-retalls - Export to image - - Edició - Desfer - Refer - Retallar - Còpia - Enganxa - Neteja tot - Seleccionar tot - - Opcions - Format d'Exportació - Idioma - - Ajuda - Depuració - Mostrar arbre de l'expressió - Mostrar contorn - Ajuda en línia - Quant a DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/cz.xml b/lib/editor/common/dragmath/applet/classes/lang/cz.xml deleted file mode 100644 index 0c9afdb60a..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/cz.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - Chyba při načítání souboru s formátem - Chyba při načítání souboru s formátem - Chyba při načítání uložených výrazů - Chyba při ukládání výrazů - Nelze vyjmout výběr: - Nelze zkopírovat výrěr: - Nelze zobrazit strom: - Akce nemůže být dokončena: - Sem nelze přidat matici - Chybí operátor - Chybí proměnná či operátor (na vhodné pozici) - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Výraz nelze rozpoznat - DragMath - Vyberte soubor s výrazem k načtení - DragMath - Vyberte umístění kam uložit výraz - Zadejte počet řádků matice - Zadejte počet sloupců matice - Rozměr matice - Nebylo vybráno nic na vyjmutí - Nic na vložení - Není vybráno políčko kam vkládat - Není nic vybráno ke kopírování - Zkopírováno - Cyba při čtení výstupních dat - : výrazy uloženy do schránky - Žádné výrazy na konvertování - JeÅ¡tě nebyl načten soubor s definicí formátu - Choose the image size 1-10 (Smallest-Largest) - - - Součin - Podíl - Součet - Rozdíl - Desetinná čárka - Plus-Minus - Druhá odmocnina - N-tá odmocnina - Horní index nebo mocnina - Dolní index - Matice - Integrál - Derivace - Menší než - Větší než - Menší nebo rovno - Větší nebo rovno - Rovno - Není rovno - Sjednocení - Průnik - Vlastní podmnožina - Podmnožina - Není vlastní podmnožinou - Není podmnožinou - Sinus - Kosinus - Tangens - Arkus sinus - Arkus kosinus - Arkus tangens - Hyperbolický sinus - Hyperbolický kosinus - Hyperbolický tangens - Hyperbolický arkus sinus - Hyperbolický arkus kosinus - Hyperbolický arkus tangens - Logaritmus - Přirozený logaritmus - Exponenciální funkce - Mínus - Kulaté závorky - Složené závorky - Hranaté závorky - Absolutní hodnota - Nekonečno - Řecká písmena - Faktoriál - Maximum množiny - Minimum množiny - Přiřazení - Uživatelem definovaná funkce - Determinant - Stopa - Určitý integrál - Součin - Suma - Limita - Hodnota výrazu v bodě - Left arrow - Right arrow - Up arrow - Down arrow - Left double arrow - Right double arrow - Left-Right arrow - Left-Right double arrow - North-East arrow - South-East arrow - North-West arrow - South-West arrow - Multiplication - Division - Equivalence - There Exists - For All - Element Of - There Does Not Exist - Not An Element Of - Asymptotically Equivalent To - Or - And - Not - Partial Differential - - - - Načíst výraz ze souboru - Uložit výraz do souboru - Exportovat výraz do schránky - Zpět - Opakovat - Vyjmout - Zkopírovat - Vložit - Vyčistit pracovní plochu - Vybrat celou pracovní plochu - Nahrát formát pro export - Nahrát soubor s jazykovym nastavením - Zobrazit stromovou strukturu výrazů - Zobrazit obrysy výrazů na pracovní ploÅ¡e - Nahrát nápovědu ve webovém prohlížeči - O programu - - - Soubor - Otevřít... - Uložit jako... - Exportovat do schránky - Export to image - - Změnit - Zpět - Opakovat - Vyjmout - Zkopírovat - Vložit - Vyčistit pracovní plochu - Vybrat vÅ¡e - - Možnosti - Nastavit formát pro export - Nastavit jazyk - - Nápověda - Ladění - Zobrazit strukturu vzorce - Zobrazit výstup - Online nápověda - O programu - - - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/de.xml b/lib/editor/common/dragmath/applet/classes/lang/de.xml deleted file mode 100644 index 0979a7eaed..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/de.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - Fehler beim Lesen des Dateiformats: Bitte auf Gültigkeit überprüfen - Fehler beim Laden der Datei: - Fehler beim Laden der Erweiterung - Fehler beim Speichern der Erweiterung - Ausschneiden der Auswahl nicht möglich: - Kopieren der Auswahl nicht möglich: - Verzeichnisbaum kann nicht angezeigt werden: - Aktion konnte nicht fertiggestellt werden: - Matrix konnte an der Stelle nicht hinzugefügt werden - Operator fehlt an Position - Argument des Operators fehlt an Position - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Ausdruck kann mathematisch nicht bestimmt werden - DragMath - Wählen Sie eine Datei im DragMath-Format zum Laden - DragMath - Wählen Sie einen Speicherort zum Speichern der Datei im DragMath-Format - Geben Sie die Anzahl der Reihen der Matrix ein - Geben Sie die Anzahl der Spalten der Matrix ein - Dimension der Matrix - Nichts zum Ausschneiden gewählt - Nichts zum Kopieren gewählt - Keine Box zum Hineinkopieren gewählt - Nichts zum Kopieren ausgewählt - Kopiert - Fehler beim Lesen des Ausgabeformats - Format wurde in die Zwischenablage kopiert - Kein Format zum Konvertieren - Es wurde kein Dateiformat geladen - Choose the image size 1-10 (Smallest-Largest) - - - Multiplikation - Division - Addition - Subtraktion - Komma - Plus-Minus - Quadratwurzel - n-te Wurzel - Hochgestellt - Tiefgestellt - Matrix - Integration - Differentation - kleiner als - größer als - kleiner als oder gleich - größer als oder gleich - gleich - ungleich - Vereinigung - Durchschnitt - Teilmenge - Echte Teilmenge - Keine Teilmenge - Keine echte Teilmenge - Sinus - Kosinus - Tangens - Arkusinus - Arkuskosinus - Arkustangens - Sinus Hyperbolicus - Kosinus Hyperbolicus - Tangens Hyperbolicus - Areasinus Hyperbolicus - Areakosinus Hyperbolicus - Areatangens Hyperbolicus - Logarithmus - Natürlicher Logarithmus - Exponentialfunktion - Minus - Runde Klammern - Geschwungene Klammern - Eckige Klammern - Betrag - Unendlich - Griechische Buchstaben - Faktorisieren - Maximum - Minimum - Aufgabe - Unbekannte Funktion - Determinante - Spur - Bestimmtes Integral - Produkt - Summe - Grenzwert - Ausdruck auswerten - Links arrow - Recht arrow - Bis arrow - Down arrow - Links doppel arrow - Recht doppel arrow - Links-Recht arrow - Links-Recht doppel arrow - Nord-Ost Pfeil - Süd-Ost Pfeil - Nord-West Pfeil - Süd-West Pfeil - Multiplikation - Division - Gleichwertigkeit - Vorhanden - Für alle - Ist in - Nicht vorhanden - Nicht in - Asymptotisch äquivalent zu - Oder - Und - Nicht - Partial Differential - - - Lade Format von Datei - Speichere Format als Datei - Exportiere Format in die Zwischenablage - Rückgägig - Wiederholen - Ausschneiden - Kopieren - Einfügen - Leere das gesamte Arbeitsfeld - Wähle das gesamte Arbeitsfeld - Lade eine Formatdatei - Lade eine Sprachdatei - Zeige Baumstruktur eines Ausdrucks - Zeige außerhalb des Objektes im Arbeitsfeld - Lade Hilfedateien im Browser - Über DragMath - - - Datei - Öffnen... - Speichern als... - Exportiere in die Zwischenablage - Export to image - - Bearbeiten - Rückgängig - Wiederholen - Ausschneiden - Kopieren - Einfügen - Arbeitsfeld leeren - Alle auswählen - - Optionen - Export-Format einstellen - Sprache einstellen - - Hilfe - Debug - Zeige Ausdruck in Baumstruktur - Zeige außerhalb - Online-Hilfe - Über DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/en.xml b/lib/editor/common/dragmath/applet/classes/lang/en.xml deleted file mode 100644 index b741cf0387..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/en.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - Error reading format file: Check file is valid - Error loading format file: - Error loading saved expression - Error saving expression - Cannot cut selection: - Cannot copy selection: - Cannot display tree: - Action could not be completed: - Cannot add Matrix at this location - Operator missing at position - Argument of operator missing at position - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Expression could not be parsed - DragMath - Choose an expression file to load - DragMath - Choose the location to save the expression - Enter number of rows of matrix - Enter number of columns of matrix - Matrix Dimensions - Nothing selected to cut - Nothing to paste - No box selected to paste into - Nothing selected to copy - Copied - Error reading output data - Expression exported to clipboard - No expression to convert - No format file has been loaded yet - Choose the image size 1-10 (Smallest-Largest) - - - Multiplication - Division - Addition - Subtraction - Comma - Plus-Minus - Square Root - N-th Root - Superscript - Subscript - Matrix - Integration - Differentiation - Less Than - Greater Than - Less Than or Equal To - Greater Than or Equal To - Equals - Not Equal - Union - Intersection - Subset - Subset or Equal To - Not Subset - Not Subset or Equal To - Sine - Cosine - Tangent - Inverse Sine - Inverse Cosine - Inverse Tangent - Hyperbolic Sine - Hyperbolic Cosine - Hyperbolic Tangent - Inverse Hyperbolic Sine - Inverse Hyperbolic Cosine - Inverse Hyperbolic Tangent - Logarithm - Natural Logarithm - Exponential Function - Minus - Round Brackets - Curly Brackets - Square Brackets - Absolute Value - Infinity - Greek letter - Factorial - Maximum of a set - Minimum of a set - Assignment - Unknown function - Determinant - Trace - Definite Integral - Product - Sum - Limit - Evaluate an expression at a point - Left arrow - Right arrow - Up arrow - Down arrow - Left double arrow - Right double arrow - Left-Right arrow - Left-Right double arrow - North-East arrow - South-East arrow - North-West arrow - South-West arrow - Multiplication - Division - Equivalence - There Exists - For All - Element Of - There Does Not Exist - Not An Element Of - Asymptotically Equivalent To - Or - And - Not - Partial Differential - - - - Load expression from file - Save expression to file - Export expression to clipboard - Undo - Redo - Cut - Copy - Paste - Clear the entire workspace - Select the entire workspace - Load an export format file - Load a language file - Show tree structure of expression - Display outline of objects on workspace - Loads help documents in web browser - About DragMath - - - File - Open... - Save As... - Export to clipboard - Export to image - - Edit - Undo - Redo - Cut - Copy - Paste - Clear Workspace - Select All - - Options - Set export format - Set language - - Help - Debug - Show expression tree - Show outline - Online Help - About DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/es.xml b/lib/editor/common/dragmath/applet/classes/lang/es.xml deleted file mode 100644 index 37982342b8..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/es.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - Error leyendo el archivo: Verifique archivo - Error cargando el archivo con formato: - Error cargando expresión guardada - Error guardando expresión - No se puede cortar selección: - No se puede copiar selección: - No se puede mostrar el árbol: - Acción no puede ser completada: - No se puede agregar una matriz en este lugar - Operador no encontrado en esta posición - Argumento del operador no encontrado - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Expresión no puede ser enviada - DragMath - Seleccione un archivo de expresiones - DragMath - ¿Dónde desea guardar el archivo? - Inserte el número de filas de la matriz - Inserte el número de columnas de la matriz - Dimensiones de la matriz - No ha seleccionado nada para cortar - Nada para pegar - No ha seleccionado sitio para pegar - No ha seleccionado nada para copiar - Copiado - Error leyendo datos de salida - Expresión exportada al portapapeles - No ha seleccionado expresión para convertir - No ha cargado un archivo con formato aún - Choose the image size 1-10 (Smallest-Largest) - - - Multiplicación - Fracción - Adición - Sustracción - Coma - Mas-Menos - Raíz Cuadrada - N-ésima Raíz - SuperIndice - SubIndice - Matriz - Integración - Diferenciación - Menor que - Mayor que - Menor o Igual que - Mayor o Igual que - Igual - No Igual - Unión - Intersección - SubConjunto - SubConjunto o Igual que - No SubConjunto - No es SubConjunto o Igual que - Seno - Coseno - Tangente - Inversa Seno - Inversa Coseno - Inversa Tangente - Seno Hiperbólico - Coseno Hiperbólico - Tangente Hiperbólico - Seno Hiperbólico Inverso - Coseno Hiperbólico Inverso - Tangente Hiperbólica Inversa - Logaritmo - Logaritmo Natural - Función Exponencial - Menos - Parentesis - Llaves - Corchetes - Valor Absoluto - Infinito - Letras Griegas - Factorial - Máximo del Conjunto - Minimo del Conjutno - Asignación - Función Desconocida - Determinante - Ruta - Integral Definida - Productoria - Sumatoria - Limite - Evaluar una expresión en un punto - Flecha izquierda - Flecha derecha - Flecha arriba - Flecha abajo - Flecha izquierda-dreta - Flecha doble izquierda - Flecha doble derecha - Flecha doble izquierda-derecha - Flecha derecha-arriba - Flecha derecha-abajo - Flecha izquierda-arriba - Flecha izquierda-abajo - Multiplicación - División - Equivalencia - Existe - Para todo - Pertenece - No existe - No pertenece - Parecido - Unión Lógica - Intersección lógica - Negación lógica - Diferenciales Parciales - - - Cargar una expresión de un archivo - Salvar una expresión a un archivo - Exportar la expresión al portapapeles - Deshacer - Rehacer - Cortar - Copiar - Pegar - Limpiar toda el área de trabajo - Seleccionar toda el área de trabajo - Cargar archivo con formato exportado - Cargar un archivo de lenguaje - Mostrar la expresión como un árbol - Mostrar bordes de expresiones - Cargar documentos de ayuda en el navegador - Acerca de DragMath - - - Archivo - Abrir... - Salvar como... - Exportar al portapapeles - Export to image - - Editar - Deshacer - Rehacer - Cortar - Copiar - Pegar - Limpiar todo - Seleccionar todo - - Opciones - Formato de Exportación - Lenguaje - - Ayuda - Depurar - Mostrar árbol de expresión - Mostrar bordes - Ayuda en linea - Acerca de DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/fr.xml b/lib/editor/common/dragmath/applet/classes/lang/fr.xml deleted file mode 100644 index 1c0d35214e..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/fr.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - Erreur de lecture du format de fichier: Vérifiez si le fichier est valide - Erreur de lecture du fichier: - Erreur lors du chargement des expressions - Erreur lors de l'enregistrement des expressions - Découpe de la sélection impossible: - Copie de la sélection impossible: - Affichage de l'arbre impossible - L'action n'a pas pu être terminée: - La matrice n'a pas pu être ajoutée à cette position - L'opérateur est manquant à cette position - L'argument de l'opérateur est manquant à cette position - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - L'expression n'a pas pu être lu - DragMath - Choisissez un fichier d'expression à lire - DragMath - Choisissez un endroit pour sauver l'expression - Entrez le nombre de lignes de la matrice - Entrez le nombre de colonne de la matrice - Dimensions de la matrice - Rien à couper - Rien à coller - Pas de boîte sélectionné pour collage - Rien à copier - Copié - Erreur lors de la lecture des données de sortie - Expression exporté dans le Presse-papiers - Aucune expression à convertir - Aucun format de fichier n'a encore été chargé - Choose the image size 1-10 (Smallest-Largest) - - - Multiplication - Division - Addition - Soustraction - Virgule - Plus ou Moin - Carré - Racine - Puissance - Indice - Matrice - Integrale - Différenciation - Inférieur à - Supérieur à - Inférieur ou égal à - Supérieur ou égal à - Egal - Inégal - Union - Intersection - Appartient - Appartient ou est égal à - N'appartient pas - N'appartient pas ou est égal à - Sinus - Cosinus - Tangente - Sinus Inverse - Cosinus Inverse - Tangente inversée - Hyperbolic Sinus - Cosinus hyperbolique - Tangente hyperbolique - Sinus hyperbolique inversée - Cosinus hyperbolique inversée - Tangente hyperbolique inversée - Logarithme - Logarithme naturelle - Exposant - Moins - Parenthèses - Accolades - Crochets - Valeur absolue - Infinie - Lettres grecque - Factoriel - Maximale d'un ensemble - Minimum d'un ensemble - Cession - Fonction inconnue - Déterminant - Trace - Integrale définie - Produit - Somme - Limite - Évaluer l'expression en un point - Gauche arrow - Droite arrow - Up arrow - Down arrow - Gauche double arrow - Right double arrow - Gauche-Droite arrow - Gauche-Droite double arrow - Nord-Est Arrow - Sud-Est arrow - Nord-Ouest arrow - Sud-Ouest arrow - Gauche-Up arrow - Gauche-Down arrow - Right-Up arrow - Droite-down arrow - - Multiplication - Division - Equivalence - Il existe - Pour tous - Est en - Il n'existe pas - Pas un élément de - Asymptotiquement équivalente à - Ou - Et - Non - Dérivée partielle - - - Charger une expression à partir d'un fichier - Sauvegarde de l'expression à partir d'un fichier - Exporter l'expression dans le presse-papier - Défaire - Refaire - Couper - Copier - Coller - Tout effacer - Tout sélectionner - Charger un fichier de format d'expression - Charger un fichier de langage - Afficher l'arborescence de l'expression - Afficher la structure de l'expression - Charger l'aide en ligne - A propos de DragMath - - - Fichier - Ouvrir... - Enregistrer sous... - Exporter dans le presse-papier - Export to image - - Editer - Défaire - Refaire - Couper - Copier - Coller - Tout effacer - Tout sélectionner - - Options - Changer de format de sorti - Changer de langue - - Aide - Debug - Afficher l'arborescence de l'expression - Afficher la structure de l'expression - Aide Online - A propos de DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/nl.xml b/lib/editor/common/dragmath/applet/classes/lang/nl.xml deleted file mode 100644 index 435ff53db0..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/nl.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - Fout bij lezen bestand: Controleer geldigheid bestandstype - Fout bij laden bestand: - Fout bij laden uitdrukking - Fout bij bewaren uitdrukking - Kan selectie niet knippen: - Kan selectie niet kopiëren: - Kan boomstructuur niet weergeven: - Kon bewerking niet uitvoeren: - Kan matrix hier niet invoegen - Operator ontbreekt - Argument ontbreekt - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Uitdrukking kon niet behandeld worden - DragMath - Kies een te laden bestand - DragMath - Kies een map om de uitdrukking te bewaren - Aantal in te voegen - Aantal in te voegen kolommen - Matrix Dimensies - Niets geselecteerd om te knippen - Niets te plakken - Geen box geselecteerd waarin geplakt moet worden - Niets geselecteerd om te kopiëren - Gekopieerd - Fout bij lezen output gegevens - Gekopieerd naar klembord - Niets te converteren - ER werd geen format-bestand geladen - Choose the image size 1-10 (Smallest-Largest) - - - Vermenigvuldigen - Delen - Optellen - Aftrekken - Komma - Plus-Minus - Vierkantswortel - N-de Machtswortel - Superscript - Subscript - Matrix - Integreren - Differentiëren - Kleiner Dan - Groter Dan - Kleiner dan of Gelijk Aan - Groter Dan of Gelijk Aan - Gelijk - Niet Gelijk - Vereniging - Doorsnede - Deelverzameling - Deelverzameling of Gelijk Aan - Geen Deelverzameling - Geen Deelverzameling of Gelijk Aan - Sinus - Cosinus - Tangens - Boog Sinus - Boog Cosinus - Boog Tangens - Sinus Hyperbolicus - Cosinus Hyperbolicus - Tangens Hyperbolicus - Boog Sinus Hyperbolicus - Boog Cosinus Hyperbolicus - Boog Tangens Hyperbolicus - Logaritme - Natuurlijke Logaritmen - Exponentiële Functie - Min - Rondde Haakjes - Accolades - Vierkante Haakjes - Absolute Waarde - Oneindig - Griekse letter - Factor - Maximum - Minimum - Toekenning - Onbekende functie - Determinant - Spoor - Bepaalde Integraal - Product - Som - Limiet - Evalueer een uitdrukking in een punt - Links arrow - Recht arrow - Up arrow - Omlaag arrow - Links dubbel arrow - Right dubbel arrow - Links-Recht arrow - Links-Recht dubbel arrow - Noord-Oost-arrow - Zuid-Oost-arrow - Noord-West-arrow - Zuid-West arrow - Vermenigvuldigen - Divisie - Gelijkwaardigheid - Er Bestaat - Voor alle - Element van - Er bestaat niet - Niet een element van - Asymptotically gelijk aan - Of - En - Niet - Partiële differentiaalvergelijking - - - - Laad uitdrukking uit bestand - Bewaar uitdrukking in bestand - Exporteer uitdrukking naar het klembord - Ongedaan maken - Herstellen - Knippen - Kopiëren - Plakken - Alles Wissen - Alles Selecteren - Laad een export format bestand - Laad een Taalbestand - Toon Boomstructuur - Toon outline of objecten - Laad help in webbrowser - About DragMath - - - Bestand - Openen... - Bewaar Als... - Kopieer naar klembord - Export to image - - Bewerk - Ongedaan maken - Herstellen - Knippen - Kopiëren - Plakken - Alles Wissen - Alles Selecteren - - Opties - Kies Export Format - Kies Taal - - Help - Debug - Toon boomstructuur - Toon outline - Online Help - About DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/no.xml b/lib/editor/common/dragmath/applet/classes/lang/no.xml deleted file mode 100644 index 3664133d88..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/no.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - Feil ved lesing av formatfil: Sjekk om fila er gyldig - Feil ved lasting av formatfil: - Feil ved lasting av lagret uttrykk - Feil ved lagring av uttrykk - Kan ikke klippe ut markeringen: - Kan ikke kopiere markeringen: - Kan ikke vise treet: - Oppgaven kunne ikke fullføres: - Kan ikke legge til en matrise her - Operator mangler ved posisjon - Operatorens variabel (Argument) mangler ved posisjon - Feil: Kan ikke eksportere til bilde. Sjekk internettforbindelsen og tilgangen til http://www.mathtran.org - - - Uttrykket kan ikke tolkes - DragMath - Velg formatfil som skal lastes - DragMath - Velg uttykksfil som skal lastes - DragMath - Velg hvor du vil lagre uttrykket - Angi antall rader i matrisen - Ange antall kolonner i matrisen - Matrisedimmensjoner - Ingenting er valgt for utklipp - Ingenting Ã¥ lime inn - Ingen boks valgt for Ã¥ lime inn i - Ingenting valgt for kopiering - Kopiert - Feil ved lesning av output data - Uttrykket er eksportert til utklippstavlen - Inget uttrykk Ã¥ omforme - Ingen formatfil har blitt lastet ennÃ¥ - Velg bildestørrelse 1-10 (Minst-Størst) - - - Multiplikasjon - Divisjon - Addisjon - Subtraksjon - Komma - Plusss-Minus - Kvadratrot - N-te rot - Eksponent - Indeks - Matrise - Integrasjon - Derivasjon - mindre enn - større enn - mindre enn eller lik - større enn eller lik - lik - Ulik - Union - Snitt - Inneholdt i - Inneholdt i eller lik - Ikke inneholdt i - Ikke inneholdt i eller lik - Sinus - Cosinus - Tangens - Invers Sinus - Invers Cosinus - Invers Tangens - Hyperbolsk Sinus - Hyperbolsk Cosinus - Hyperbolsk Tangens - Invers Hyperbolsk Sinus - Invers Hyperbolsk Cosinus - Invers Hyperbolsk Tangens - Logaritme - Naturlig Logaritme - Eksponetialfunksjon - Minus - rund parentes - klammeparentes - hakeparentes - Absoluttverdi - Uendelig - Gresk bokstav - Faktorial - Maksimum av en mengde - Minimum av en mengde - Tilordning - Ukjent funksjon - Determinant - Spor - Bestemt integral - Produkt - Sum - Grenseverdi - Beregn et uttrykk i et punkt - Venstrepil - Høyrepil - Oppoverpil - Nedoverpil - Dobbel venstrepil - Dobbel høyrepil - Venstre-høyre-pil - Dobbel venstre-høyre-pil - Nordøst-pil - Sørøst-pil - Nordøst-pil - Sørvest-pil - Multiplikasjon - Divisjon - Ekvivalens - Eksisterer - For alle - Element i - Eksisterer ikke - Ikke element i - Asymptotisk ekvivalent med - Eller - Og - Ikke - Partiell derivert - - - Last uttrykk fra en fil - Lagre uttrykk til fil - Eksporter uttrykk til utklippstavlen - Angre - Gjør om - Klipp ut - Kopier - Lim inn - Rens hele arbeidsomrÃ¥det - Velg hele arbeidsomrÃ¥det - Last en eksportformatfil - Last en sprÃ¥kfil - Vis uttykkstre - Vis innholdsblokk for uttykkene i arbeidsomrÃ¥det - Åpne hjelpefiler i nettleseren - Om DragMath - - - Fil - Åpne... - Lagre som... - Eksporter til utklippstavlen - Eksporter til bilde - - Rediger - Angre - Gjør om - Klipp ut - Kopier - Lim inn - Rens arbeidsomrÃ¥det - Velg alle - - Alternativer - Velg eksportformat - Velg sprÃ¥k - - Hjelp - Debug - Vis uttykkstre - Vis innholdsblokk - Online Hjelp - Om DragMath - - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/pl.xml b/lib/editor/common/dragmath/applet/classes/lang/pl.xml deleted file mode 100644 index ef1879b9bd..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/pl.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - Błąd wczytania pliku: Sprawdź format pliku - Błąd wczytania pliku - Błąd wczytania wyrażenia - Błąd zapisu wyrażenia - Nie można wyciąć - Nie można skopiować - Nie można wyświetlić drzewa - Działanie nie może zostać zakończone - Nie można dodać macierzy w tym miejscu - Brakujący operator na pozycji - Brakujący argument na pozycji - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Błąd parsowania wyrażenia - DragMath -Wybierz plik do wczytania - DragMath - Wybierz lokalizację zapisu - Wprowadź liczbę wierszy macierzy - Wprowadź liczbę kolumn macierzy - Wymiar macierzy - Nie zaznaczono nic do wycięcia - Brak elementów do wklejenia - Nie wybrano nic do wklejenia - Nie wybrano nic do skopiowania - Skopiowane - Błąd wczytania danych - Eksport wyrażenia do schowka - Brak wyrażenia do konwersji - Nie wybrano żadnego formatu - Choose the image size 1-10 (Smallest-Largest) - - - Mnożenie - Ułamek - Dodawanie - Odejmowanie - Przecinek dziesiętny - Plus-Minus - Pierwiastek kwadratowy - Pierwiastek n-tego stopnia - Indeks górny - Indeks dolny - Macierz - Całka nieoznaczona - Różniczkowanie - Mniejsze niż - Większe niż - Mniejsze lub równe - Większe lub równe - Równe - Nie równe - Suma - Iloczyn - Zawiera się - Zawiera się lub jest równy - Nie zawiera się - Nie zawiera się i nie jest równy - sin (sinus) - cos (cosinus) - tg (tangens) - arcsin (arcus sinus) - arccos (arcus cosinus) - arctg (arcus tangens) - sinh (sinus hiperboliczny) - cosh (cosinus hiperboliczny) - tgh (tangens hiperboliczny) - arcsinh (arcus sinus hiperboliczny) - arccosh (arcus cosinus hiperboliczny) - arctgh (arcus tangens hiperboliczny) - Logarytm - Logarytm naturalny - Exp (Funkcja eksponencjalna) - Minus - Nawiasy okrągłe - Nawiasy klamrowe - Nawiasy kwadratowe - Wartość bezwzględna - Nieskończoność - Greckie litery - Silnia - Maksimum - Minimum - Przypisanie - Funkcja - Wyznacznik macierzy - Ślad macierzy - Całka oznaczona - Iloczyn - Suma - Granica - Wartość wyrażenia w punkcie - Left arrow - Right arrow - Up arrow - Down arrow - Left double arrow - Right double arrow - Left-Right arrow - Left-Right double arrow - North-East arrow - South-East arrow - North-West arrow - South-West arrow - Multiplication - Division - Equivalence - There Exists - For All - Element Of - There Does Not Exist - Not An Element Of - Asymptotically Equivalent To - Or - And - Not - Partial Differential - - - Wczytaj wyrażenie z pliku - Zapisz wyrażenie do pliku - Eksportuj wyrażenie do schowka - Cofnij - Ponów - Wytnij - Kopiuj - Wklej - Wyczyść wszystko - Zaznacz wszystko - Wczytaj format pliku do eksportu - Wczytaj plik językowy - Pokaż strukturę drzewiastą wyrażenia - Display outline of objects on workspace - Pomoc online - O DragMath - - - Plik - Otwórz ... - Zapisz jako ... - Eksportuj do schowka - Export to image - - Edycja - Cofnij - Ponów - Wytnij - Kopiuj - Wklej - Wyczyść wszystko - Zaznacz wszystko - - Opcje - Wybierz format (Latex,MathML,...) - Wybierz język (pl,eng...) - - Pomoc - Debug - Pokaż drzewo wyrażenia - Outline - Pomoc Online - O programie DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/pt-br.xml b/lib/editor/common/dragmath/applet/classes/lang/pt-br.xml deleted file mode 100644 index a43f93a399..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/pt-br.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - Erro lendo arquivo: Verifique se o arquivo é válido - Erro lendo arquivo: - Erro carregando expressão salva - Erro salvando expressão - Seleção não pode ser recortada: - Seleção não pode ser copiada: - Árvore não pode ser mostrada: - Ação não pode ser completada: - Matriz não pode ser adicionada neste local - Operador faltando na posição - Argumento do operador faltando na posição - Erro: Não é possível exportar para imagem. Verifique sua conexão com a internet e acesse http://www.mathtran.org - - - Expressão não pode ser analisada - DragMath - Escolha uma expressão em arquivo para ser carregada - DragMath - Escolha o local para salvar a expressão - Informe o número de linhas da matriz - Informe o número de colunas da matriz - Dimensões da Matriz - Nada selecionado para recortar - Nada para colar - Nenhuma caixa selecionada para colar dentro - Nada selecionado para copiar - Copiado - Erro lendo dados externos - Expressão exportada para a área de transferência - Nenhuma expressão para converter - Nenhum formato de arquivo foi carregado ainda - Escolha o tamanho da imagem de 1-10 (Menor-Maior) - - - Multiplicação - Divisão - Adição - Subtração - Vírgula - Mais-Menos - Raiz Quadrada - Raiz de N - Sobrescrito - Subscrito - Matriz - Integral - Diferencial - Menor Que - Maior Que - Menor Que ou Igual A - Maior Que ou Igual A - Igual - Diferente - União - Intersecção - Subconjunto - Subconjunto ou Igual A - Não é Subconjunto - Não é Subconjunto ou Igual A - Seno - Cosseno - Tangente - Arco-Seno - Arco-Cosseno - Arco-Tangente - Seno Hiperbólico - Cosseno Hiperbólico - Tangente Hiperbólica - Arco-Seno Hiperbólico - Arco-Cosseno Hiperbólico - Arco-Tangente Hiperbólico - Logaritmo - Logaritmo Neperiano - Função Exponencial - Menos - Parênteses - Chaves - Colchetes - Valor Absoluto - Infinito - Letra Grega - Fatorial - Máximo de um conjunto - Mínimo de um conjunto - Atribuição - Função desconhecida - Determinante - Traço - Integral Definida - Produto - Soma - Limite - Determina uma expressão num ponto - Seta para esquerda - Seta para direita - Seta para cima - Seta para baixo - Seta dupla para esquerda - Seta dupla para direita - Seta para Esquerda-Direita - Seta dupla para Esquerda-Direita - Seta para Nordeste - Seta para Sudeste - Seta para Noroeste - Seta para Sudoeste - Multiplicação - Divisão - Equivalência - Existe - Para Todos - Elemento De - Não Existe - Não É Um Elemento De - Assintoticamente Equivalente A - Ou - E - Não - Diferencial Parcial - - - Carregar expressão de um arquivo - Salvar expressão em arquivo - Exportar expressão para área de transferência - Desfazer - Refazer - Recortar - Copiar - Colar - Limpar toda a área de trabalho - Selecionar toda a área de trabalho - Carregar um formato de exportação - Carregar um arquivo de idioma - Mostrar estrutura em árvore da expressão - Mostrar contorno dos objetos da área de trabalho - Carregar documentos de ajuda no navegador - Sobre DragMath - - - Arquivo - Abrir... - Salvar Como... - Exportar para área de transferência - Exportar para imagem - - Editar - Desfazer - Refazer - Recortar - Copiar - Colar - Limpar a área de trabalho - Selecionar Tudo - - Opções - Escolher formato de exportação - Escolher idioma - - Ajuda - Debugar - Mostrar árvore de expressão - Mostrar contorno - Ajuda Online - Sobre DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/ru.xml b/lib/editor/common/dragmath/applet/classes/lang/ru.xml deleted file mode 100644 index 4dccacca70..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/ru.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - Îøèáêà ôîðìàòà ôàéëà: Ïðîâåðüòå ïðàâèëüíîñòü óêàçàííîãî ôàéëà - Îøèáêà çàãðóçêè ôîðìàòà ôàéëà: - Îøèáêà çàãðóçêè ñîõðàíåííîãî âûðàæåíèÿ - Îøèáêà ñîõðàíåíèÿ âûðàæåíèÿ - Íåâîçìîæíî âûðåçàòü âûáðàííîå: - Íåâîçìîæíî êîïèðîâàòü âûáðàííîå: - Íåâîçìîæíî îòîáðàçèòü äåðåâî: - Äåéñòâèå íå ìîæåò áûòü âûïîëíåííî: - Íåâîçìîæíî äàáàâèòü Ìàòðèöó â óêàçàííîå ìåñòî - Îòñóòâòâóåò Îïåðàòîð íà ïîçèöèè - Îòñóòñòâóåò àðãóìåíò îïåðàòîðà íà ïîçèöèè - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Íåâîçìîæåí ðàçáîð âûðàæåíèÿ - DragMath - Âûáåðèòå ôàéë âûðàæåíèÿ äëÿ çàãðóçêè - DragMath - Âûáåðèòå ìåñòîïîëîæåíèå äëÿ ñîõðàíåíèÿ âûðàæåíèÿ - Ââåäèòå êîëè÷åñòâî ñòðîê â ìàòðèöå - Ââåäèòå êîëè÷åñòâî ñòîëáöåâ â ìàòðèöå - Ðàçìåð Ìàòðèöû - Íè÷åãî íå âûáðàííî ÷òîáû âûðåçàòü - Íå÷åãî âñòàâëÿòü - Íå âûáðàí áëîê äëÿ âñòàâêè - Íè÷åãî íå âûáðàíî äëÿ êîïèðîâàíèÿ - Ñêîïèðîâàíî - Îøèáêà ÷òåíèÿ âûõîäíûõ äàííûõ - Âûðàæåíèå ýêñïîðòèðîâàííî â áóôåð îáìåíà - Íåò âûðàæåíèÿ äëÿ êîíâåðòàöèè - Íå çàãðóæåí ôàéë ôîðìàòà - Choose the image size 1-10 (Smallest-Largest) - - - Óìíàæåíèå - Äåëåíèå - Ñëîæåíèå - Âû÷èòàíèå - Çàïÿòàÿ - Ïëþñ-Ìèíóñ - Êâàäðàòíûé Êîðåíü - N-é Êîðåíü - Âåðõíèé Èíäåêñ - Íèæíèé Èíäåêñ - Ìàòðèöà - Èíòåãðèðîâàíèå - Äèôôåðåíöèðîâàíèå - Ìåíüøå - Áîëüøå - Ìåíüøå èëè Ðàâíî - Áîëüøè èëè Ðàâíî - Ðàâåíñòâî - Íåðàâåíñòâî - Îáúåäèíåíèå - Ïåðåñå÷åíèå - Ïîäìíîæåñòâî - Ïîäìíîæåñòâî èëè Ðàâåíñòâî - Íå Ïîäìíîæåñòâî - Íå Ïîäìíîæåñòâî èëè Ðàâåíñòâî - Ñèíóñ - Êîñèíóñ - Tangent - Èíâåðñíûé Ñèíóñ - Èíâåðñíûé Êîñèíóñ - Èíâåðñíûé Òàíãåíñ - Ãèïåðáîëè÷åñêèé Ñèíóñ - Ãèïåðáîëè÷åñêèé Êîñèíóñ - Ãèïåðáîëè÷åñêèé Òàíãåíñ - Èíâåðñíûé Ãèïåðáîëè÷åñêèé Ñèíóñ - Èíâåðñíûé Ãèïåðáîëè÷åñêèé Êîñèíóñ - Èíâåðñíûé Ãèïåðáîëè÷åñêèé Òàíãåíñ - Ëîãàðèôì - Íàòóðàëüíûé Ëîãàðèôì - Ýêñïîíåíöèàëüíàÿ Ôóíêöèÿ - Ìèíóñ - Êðóãëûå Ñêîáêè - Ôèãóðíûå Ñêîáêè - Êâàäðàòíûå Ñêîáêè - Ìîäóëü - Áåñêîíåñíîñòü - Ãðå÷åñêàÿ Áóêâà - Ôàêòîðèàë - Ìàêñèìóì - Ìèíèìóì - Ïðèñâàèâàíèå - Íåèçâåñòíàÿ ôóíêöèÿ - Äåòåðìèíàíò - Òðàññèðîâêà - Îïðåäåë¸ííûé Èíòåãðàë - Ïðîèçâåäåíèå - Ñóììèðîâàíèå - Ïðåäåë - Âû÷èñëèòü âûðàæåíèå â òî÷êå - Left arrow - Right arrow - Up arrow - Down arrow - Left double arrow - Right double arrow - Left-Right arrow - Left-Right double arrow - North-East arrow - South-East arrow - North-West arrow - South-West arrow - Multiplication - Division - Equivalence - There Exists - For All - Element Of - There Does Not Exist - Not An Element Of - Asymptotically Equivalent To - Or - And - Not - Partial Differential - - - Çàãðóçèòü âûðàæåíèå èç ôàéëà - Ñîõðàíèòü âûðàæåíèå â ôàéë - Ýêñïîðòèðîâàòü âûðàæåíèå â áóôåð îáìåíà - Îòìåíèòü - Ïîâòîðèòü - Âûðåçàòü - Êîïèðîâàòü - Âñòàâèòü - Î÷èñòèòü ðàáî÷åå ïðîñòðàíñòâî - Âûáðàòü ðàáî÷åå ïðîñòðàíñòâî - Çàãðóçèòü ýêñïîðò ôàéëà ôîðìàòà - Çàãðóçèòü ÿçûêîâîé ôàë - Ïîêàçàòü äðåâîâèäíóþ ñòðóêòóðó âûðàæåíèÿ - Ïîêàçàòü î÷åðòàíèå îáúåêòîâ íà ðàáî÷åì ïðîñòðàíñòâå - Çàãðóçèòü äîêóìåíò ïîìîùè â âåá-áðàóçåðå - Î DragMath - - - Ôàéë - Îòêðûòü... - Ñîõðàíèòü êàê... - Ýêñïîðòèðîâàòü â áóôåð îáìåíà - Export to image - - Ïðàâêà - Îòìåíèòü - Ïîâòîðèòü - Âûðåçàòü - Êîïèðîâàòü - Âûðåçàòü - Î÷èñòèòü Ðàáî÷åå Ïðîñòðàíñòâî - Âûáðàòü Âñ¸ - - Íàñòðîéêè - Óñòàíîâèòü ôîðìàò ýêñïîðòà - Óñòàíîâèòü ÿçûê - - Ïîìîùü - Îòëàäêà - Ïîêàçàòü äåðåâî âûðàæåíèÿ - Ïîêàçàòü î÷åðòàíèÿ - Îíëàéí Ïîìîùü - Î DragMath - - diff --git a/lib/editor/common/dragmath/applet/classes/lang/sv.xml b/lib/editor/common/dragmath/applet/classes/lang/sv.xml deleted file mode 100644 index 82a7861a9f..0000000000 --- a/lib/editor/common/dragmath/applet/classes/lang/sv.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - Fel vid format filläsning: Kolla att filen är giltig - Error loading format file: - Fel vid laddning av sparad uttryck - Fel vid sparande av uttryck - Kan inte klippa ut markeringen: - Kan inte kopiera markeringen: - Kan inte visa trädet: - Åtgärden kunde inte fullgöras: - Kan inte lägga till en Matris här - Operator saknas vid läge - Operatorns variabel (Argument) saknas vid läge - Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org - - - Uttrycket kan inte tolkas - DragMath - Välj en format fil att ladda - DragMath - Välj en uttrycksfil att ladda - DragMath - Välj var du vill spara uttrycket - Ange antalet rader i matrisen - Ange antalet kolumner i matrisen - Matris mÃ¥tt - Inget vald att klippa ut - Ingeting att klistra in - Ingen box vald att klistra in i - Inget vald att kopiera - Kopierad - Fel vid läsning av output data - uttryck kopierad till minnet - Inget uttryck att omvandla - Ingen format fil har laddats än - Choose the image size 1-10 (Smallest-Largest) - - - Multiplikation - Division - Addition - Subtraktion - Komma - Plus-Minus - Kvadratrot - N-te rot - exponent - index - Matris - Integration - Differentiering - mindre än - större än - mindre än eller lika med - större än eller lika med - lika med - Ingen lika med - Union - Intersektion - Subset (undergrupp) - Subset (undergrupp) eller lika med - Ingen Subset (undergrupp) - Ingen Subset (undergrupp) eller lika med - Sinus - Cosinus - Tangens - Invers Sinus - Invers Cosinus - Invers Tangens - Hyperbolisk Sinus - Hyperbolisk Cosinus - Hyperbolisk Tangens - Invers Hyperbolisk Sinus - Invers Hyperbolisk Cosinus - Invers Hyperbolisk Tangens - Logaritm - Naturlig Logaritm - Exponentiell Funktion - Minus - rundparentes - klammerparentes - hakparentes - Absolut Värde - oändlighet - Grekisk bokstav - Faktorial - Maximum av en mängd - Minimum av en mängd - Assignment - okänd funktion - Determinant - Trace - Bestämd Integral - Produkt - Summa - Gränvärdet - utvärdera ett uttryck vid en punkt - Left arrow - Right arrow - Up arrow - Down arrow - Left double arrow - Right double arrow - Left-Right arrow - Left-Right double arrow - North-East arrow - South-East arrow - North-West arrow - South-West arrow - Multiplication - Division - Equivalence - There Exists - For All - Element Of - There Does Not Exist - Not An Element Of - Asymptotically Equivalent To - Or - And - Not - Partial Differential - - - Ladda uttryck frÃ¥n en fil - Spara uttryck till fil - Export expression to clipboard - Ångra - Redo - Klipp ut - Kopiera - klistra in - Clear the entire workspace - Select the entire workspace - Load an export format file - Load a language file - Visa träd för Uttrycket - Display outline of objects on workspace - Loads help documents in web browser - Om DragMath - - - File - Open... - Save As... - Export to clipboard - Export to image - - Edit - Ångra - Redo - Klipp ut - Kopiera - klistra in - Clear Workspace - Select All - - Options - Set export format - Set language - - Help - Debug - Visa träd för uttryck - Visa innehÃ¥llsblock - Online Help - Om DragMath - - - diff --git a/lib/editor/common/dragmath/applet/classes/swing-layout-1.0.jar b/lib/editor/common/dragmath/applet/classes/swing-layout-1.0.jar deleted file mode 100644 index 8d3f66f324..0000000000 Binary files a/lib/editor/common/dragmath/applet/classes/swing-layout-1.0.jar and /dev/null differ diff --git a/lib/editor/common/dragmath/demo.html b/lib/editor/common/dragmath/demo.html deleted file mode 100644 index 7369071f2c..0000000000 --- a/lib/editor/common/dragmath/demo.html +++ /dev/null @@ -1,56 +0,0 @@ - - - -DragMath - Demonstration - - - - - -

-

DragMath

-
- - -
-

-Home    -Demonstration    -Download    -Documentation    -Integrations    -Support DragMath    -Contact -

-
-
- -
- -

Demonstration

-

- -To use this page you need a Java-enabled browser. Download the latest Java plug-in from Java.com -

-
- - -

Maxima Demo
-This example shows setting the default output format to 'Maxima', and how JavaScript can be used to provide further interaction between a web-page and DragMath.
-
-LaTeX Demo
-This example sets the default output format to 'LaTeX', and passes the LaTeX syntax to an external applet which renders it dynamically.
-
-MathML Demo
-This example dynamically inserts the generated MathML syntax in the web-page, so the created expression is displayed with MathML.It requires a MathML enabled Gecko browser, or Internet Explorer and a MathML plugin.

-
-
-

© 2008 Alex Billingsley, Chris Sangwin -

-

- -
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/about.html b/lib/editor/common/dragmath/doc/about.html deleted file mode 100644 index f82898dd64..0000000000 --- a/lib/editor/common/dragmath/doc/about.html +++ /dev/null @@ -1,20 +0,0 @@ - - -DragMath Documentation - About DragMath - - - - - -

About DragMath

- -

-DragMath is a simple "drag and drop" equation editor for mathematics. Accepting certain traditional mathematical conventions, the user can build a mathematical expression. This expression can be exported in a number of different formats. DragMath is a simple Java applet, and could be incorporated into web-based applications or other Java applications. -

-

-DragMath started as a final-year University project at the University of Birmingham by Alex Billingsley under the supervision of Chris Sangwin. It's main application is therefore directed toward an educational one. -

- -
- - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/acknowledgments.html b/lib/editor/common/dragmath/doc/acknowledgments.html deleted file mode 100644 index 4c70f247ce..0000000000 --- a/lib/editor/common/dragmath/doc/acknowledgments.html +++ /dev/null @@ -1,32 +0,0 @@ - - -DragMath Documentation - License - - - - - -

DragMath copyright information

- -

DragMath is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html) -

-All source code in this package is written by Alex Billingsley except the libraries used. The copyright information for the libaries is included below:

-
-

-

JDOM
http://www.jdom.org

-JDOM is available under an Apache-style open source license, with the acknowledgment clause removed. This license is among the least restrictive license available, enabling developers to use JDOM in creating new products without requiring them to release their own products as open source. This is the license model used by the Apache Project, which created the Apache server. The license is available at the top of every source file and in LICENSE.txt in the root of the distribution. -

-
-

-

JEP
https://sourceforge.net/projects/jep/

-JEP is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html)

-

-
-

glyFX Common Toolbar Set Icons
http://www.glyfx.com

-Icons used in software, license found at; http://www.glyfx.com/license-toolbar.html

- - -
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/browser.html b/lib/editor/common/dragmath/doc/browser.html deleted file mode 100644 index 585d74f25c..0000000000 --- a/lib/editor/common/dragmath/doc/browser.html +++ /dev/null @@ -1,85 +0,0 @@ - - -DragMath Documentation - Running applet in web browser - - - - - -

Running applet in web browser

- -

-Details are given on the file structure of the required files, and <APPLET> tag to enable the applet to run in a web browser. -

-The applet currently requires Java Runtime Environment (JRE) 1.4 or higher to run, which can be obtained from www.java.com -

-The recommended file structure is: -

- -
-
applet.html
-
-
\dragmath
-
-
-
\Display
-
-
MainApplet.class
-
-
-
\lang
-
-
en.xml
-
-
-
\formats
-
-
Maple.xml
-
Latex.xml
-
MathML.xml
-
Maxima.xml
-
-
-
AbsoluteLayout.jar
-
swing-layouts-1.0.jar
-
jdom.jar
-
jep.jar
-
Project.jar
-
-
-
-Using this structure the following <APPLET> tag should be used: -

-

- -<applet -name= -"dragmath" -codebase="classes" -code= -"Display.MainApplet.class" - archive= -"Project.jar,AbsoluteLayout.jar,swing-layout-1.0.jar,,jdom.jar,,jep.jar" - width= -540 - height= -300 ->
-<param -name=
-language -value= -"en" - >
-</applet > -
-

- -All of the .jar files in the \dragmath directory require digitally signing. A tutorial on how to do this can be viewed at,
-http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html#example - -
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/complex.html b/lib/editor/common/dragmath/doc/complex.html deleted file mode 100644 index 98317bffd5..0000000000 --- a/lib/editor/common/dragmath/doc/complex.html +++ /dev/null @@ -1,209 +0,0 @@ - - -DragMath Documentation - Creating complex expressions - - - - - -

Creating complex expressions

- -

-To apply an object to multiple objects, you will need to select the multiple objects and then click on the object to apply in the toolbar. Selection is performed as it is in any program, by using the mouse to highlight the desired area. -

-

-Operators and functions can be entered into text boxes using the keyboard with the following syntax: -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameSyntax
Addition+
Multiplication*
Division/
Greater than>
Less than<
Equal=
==
Less than or Equal<=
Greater than or Equal>=
Power^
Sinesin(x)
Cosinecos(x)
Tangenttan(x)
Arc Sineasin(x)
Arc Cosineacos(x)
Arc Tangentatan(x)
Hyperbolic Sinesinh(x)
Hyperbolic Cosinecosh(x)
Hyperbolic Tangenttanh(x)
Inverse Hyperbolic Sineasinh(x)
Inverse Hyperbolic Cosineacosh(x)
Inverse Hyperbolic Tangentatanh(x)
Natural Logarithmln(x)
Logarithmlog(x)
Exponentialexp(x)
Absolute Valueabs(x)
Square Rootsqrt(x)
Unionunion(a,b)
Intersectionintersection(a,b)
Determinantdet(a)
Tracetrace(a)
Subsetsubset(a,b)
Integralintegrate(f,x)
-int(f,x)
Definite Integralintegrate(f,x,a,b)
-int(f,x,a,b) -
Differentialdiff(f,x)
Sumsum(n^2,n,1,10)
Productproduct(n^2,n,1,10)
- -

-Once the box that you have been typing in has been left then the text is turned into templates automatically for you. -

-
- -How to use layout templates - - -

-There are special templates called layout templates, beause they each take a unique layout. These are:
-Fraction
-Square Root
-N-th Root
-Subscript
-Superscript
-Matrix
-Integral
-Differential
-Product
-Sum
-Limit
-Evaluate at a point
-Grouping (round brackets, curly brackets, square brackets, modulus)
-

-

-These layout templates can be used in exactly the same way as the other math templates. -

- -
- -How to add symbols - -

-Symbols such as greek letters are added by clicking in the box you wish to insert the symbol, and then clicking on the symbol in the toolbar. -

- -
- - diff --git a/lib/editor/common/dragmath/doc/cvs.html b/lib/editor/common/dragmath/doc/cvs.html deleted file mode 100644 index dc9f60795b..0000000000 --- a/lib/editor/common/dragmath/doc/cvs.html +++ /dev/null @@ -1,73 +0,0 @@ - - -DragMath Documentation - Setting up DragMath CVS in NetBeans - - - - - -

Setting up DragMath CVS in NetBeans

- -

-Below are the instructions on how to get active as a developer of DragMath and set up NetBeans with the DragMath code versioning system (CVS).

-

-1. Install NetBeans
-2. Get source code from DragMath CVS repository
-3. Update and Commiting your local source code copy -

-
- - -1. Install NetBeans - -
-

-NetBeans is the integrated development environment (IDE) used for DragMath. -It is open source and can be downloaded from http://www.netbeans.org. -

-
- - -2. Get source code from DragMath CVS repository - -

-Start NetBeans and do the following to get the DragMath source code:
-

-1. File -> New Project -

-2. Choose the 'General' category, and then 'Java Application' under Projects, then click Next. -

-3. Set the Project Name as "ddma". Click Browse to choose the location where you would like the code stored. Then click Next. -

-4. CVS -> Checkout. The click Edit. -

-5. Fill in the location information identifying the DragMath CVS repository and click OK.
- Access Method: pserver for anonymous, ext for developer accounts
- User: "anonymous" or your DragMath developer account at SourceForge
- Host: dragmath.cvs.sourceforge.net
- Repository Path: /cvsroot/dragmath -

-6. Enter your password, none for anonymous login, then click Next -

-7. Set the Module as "ddma", and the Local Folder to the same location the Project was created. Then click Finish. -

-8. Once the source code has been downloaded, click Close to the popup message about opening the project. -

-9. The different packages containing the source code can now be seen in the projects window. The package 'ddma' containing the Main.java class can be deleted, as it was created for the new Project and is not part of the DragMath source code. -

-10. The libraries used by DragMath must now be added to the Project. Right click on Libraries in the Project window, and go to 'Add JAR/Folder...'. Navigate to the ddma -> lib folder and add all the .jar files from this folder. -

-11. The code is now ready to work on. -

-
- -3. Update and Commiting your local source code copy - -

-The code can be updated and commited using the Update and Commit options under the CVS menu in NetBeans. -

- -
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/editing.html b/lib/editor/common/dragmath/doc/editing.html deleted file mode 100644 index ee79b40b34..0000000000 --- a/lib/editor/common/dragmath/doc/editing.html +++ /dev/null @@ -1,47 +0,0 @@ - - -DragMath Documentation - Editing an expression - - - - - -

Editing an expression

- -

-Basic editing options are supplied to edit the expression: -

- -
    -
  • -Select - Selection is performed similar to any program, by dragging the mouse to highlight the desired area. Objects can also be selected by double clicking on them. You can select all the objects on the workspace by using Select All on the menu, or Ctrl+A on the keyboard. -

    -
  • -Cut – Select the desired area to cut, then either click the Cut button or use Ctrl+X on the keyboard. -

    -
  • -Copy – Select the desired area to copy, then either click the Copy button or use Ctrl+C on the keyboard. -

    -
  • -Paste – Once a selection has been copied, it can be pasted into any box, by clicking on the box to select it, and then either clicking the Paste button or using Ctrl+V on the keyboard. -

    -
  • -Delete – Delete is performed by selecting the area to delete and pressing delete on the keyboard. -

    -
  • -Undo – You can perform an undo by clicking the Undo button -

    -
  • -Redo – You can perform a redo by clicking the Redo button -

    -
  • -Open – Saved expressions can be opened from a file using the Open button -

    -
  • -Save – Expressions can be saved to a file using the Save button -

    -
-
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/img/plus.jpg b/lib/editor/common/dragmath/doc/img/plus.jpg deleted file mode 100644 index a3a73c67ab..0000000000 Binary files a/lib/editor/common/dragmath/doc/img/plus.jpg and /dev/null differ diff --git a/lib/editor/common/dragmath/doc/img/sin on box.jpg b/lib/editor/common/dragmath/doc/img/sin on box.jpg deleted file mode 100644 index a8c31dc867..0000000000 Binary files a/lib/editor/common/dragmath/doc/img/sin on box.jpg and /dev/null differ diff --git a/lib/editor/common/dragmath/doc/img/sin on plus.jpg b/lib/editor/common/dragmath/doc/img/sin on plus.jpg deleted file mode 100644 index 33ae10411d..0000000000 Binary files a/lib/editor/common/dragmath/doc/img/sin on plus.jpg and /dev/null differ diff --git a/lib/editor/common/dragmath/doc/img/sin.jpg b/lib/editor/common/dragmath/doc/img/sin.jpg deleted file mode 100644 index a4ed07d54b..0000000000 Binary files a/lib/editor/common/dragmath/doc/img/sin.jpg and /dev/null differ diff --git a/lib/editor/common/dragmath/doc/index.html b/lib/editor/common/dragmath/doc/index.html deleted file mode 100644 index adcc364d6a..0000000000 --- a/lib/editor/common/dragmath/doc/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - -DragMath Documentation - - - - - - - - - - - - diff --git a/lib/editor/common/dragmath/doc/integrations.html b/lib/editor/common/dragmath/doc/integrations.html deleted file mode 100644 index 73d65b34a4..0000000000 --- a/lib/editor/common/dragmath/doc/integrations.html +++ /dev/null @@ -1,41 +0,0 @@ - - -DragMath Documentation - Integrations - - - - - -

Integrations

- -

-DragMath has been successfully integrated with a number of different systems. The main method used for extracting the expression in the desired format is by using the getMathExpression() method called from JavaScript within a web page. This method returns the expression in the format specified. -

-
- - -Moodle - -

-Moodle is a free, open source course management system (CMS). Also know as a Learning Managment System (LMS) or Virtual Learning Environment (VLE). For further details please see the specific Moodle installation instructions. -

-
- - -STACK - -

-STACK is a computer aided assessment (CAA) package for mathematics. It was mainly developed by Chris Sangwin (a developer of DragMath). -

-
- - -YourMathsTutor Website - -

-YourMathsTutor is a website created primarily to help students studying the for the UK's Key Stage 3, GCSE, AS and A Level mathematics and physics exams. DragMath has been integrated into the forum on this website. The forum is a Simple Machines Forum (SMF), which is a powerful open source forum. More information on how it was integrated and how it is used in the forum. -

-
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/language.html b/lib/editor/common/dragmath/doc/language.html deleted file mode 100644 index 88ea0057d2..0000000000 --- a/lib/editor/common/dragmath/doc/language.html +++ /dev/null @@ -1,31 +0,0 @@ - - -DragMath Documentation - Adding a language - - - - - -

Adding a language

- -

-The software is supplied with an English language file, ‘en.xml’. This can be used as a template for creating other language files. To change the language data simply change the text within the tags in XML file. -

-

-For example consider the error message when a file cannot be read, -

- -<ReadingFile> -Error reading format file: Check file is valid -</ReadingFile> - -

-To change the language of this message, simply change the message between the tags (the bold text). The tags should not be changed, otherwise the language file will not work. -

-Once a new language file has been created it should be placed in the \lang folder where the English file was found, and then an entry corresponding to that file entered in the Config.xml file. To change which language file the software uses see the Options section or the Changing applet parameters section. -

- -
- - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/navframe.html b/lib/editor/common/dragmath/doc/navframe.html deleted file mode 100644 index 4ab7ca4dc5..0000000000 --- a/lib/editor/common/dragmath/doc/navframe.html +++ /dev/null @@ -1,34 +0,0 @@ - - -
-
DragMath
-
- -
-
Basic Usage
-
Creating simple expressions
-
Creating complex expressions
-
Editing an expression
-
Options
-
-
Advanced Usage
-
Adding a language
-
Adding an output format
-
Changing applet parameters
-
Integrations
-
-
Developer Usage
-
Setting up DragMath CVS in NetBeans
-
Running applet in web browser
-
Adding a function/operator
-
-
About
-
License
-
About DragMath
-
-

-
www.dragmath.bham.ac.uk
-
- - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/newformat.html b/lib/editor/common/dragmath/doc/newformat.html deleted file mode 100644 index 20a19a026c..0000000000 --- a/lib/editor/common/dragmath/doc/newformat.html +++ /dev/null @@ -1,227 +0,0 @@ - -DragMath Documentation - Adding an output format - - - -
Adding an output format
-
-
-

-The formats supplied -are Maple, Latex, MathML and Maxima, with the corresponding files found in -the \formats folder. These files can be edited to reflect the syntax you prefer. These -files can also be used as templates for creating files for different formats. -There are a number of rules and options that you need to be aware of to -successfully create an XML file for a new format.

Each math object has -its own element in the XML document, with a familiar name describing it, for -example “Add”. Within this element there are a number of sub-elements depending -upon how many arguments the object has.
-

N-ary operators -have a single ‘output’ element e.g. for addition this -is 
     <Add>
        -<output>+</output>
    </Add>

Binary Operators have 3 -‘output’ elements e.g. for fraction in Latex this is
    <Divide brackets="false">
        -<output1>\frac{</output1>
        -<output2>}{</output2>
        -<output3>}</output3>
    </Divide>

Functions have 2 ‘output’ -elements e.g. for square root in Latex this is
    -<SquareRoot brackets="false">
        -<output1>\sqrt{</output1>
        -<output2>}</output2>
    -</SquareRoot>


-
N-ary functions have 'n' output elements -e.g. for definite integral in Latex it has -5
-
    -<DefiniteIntegral reverse="true">
        -<output1>  \int_{</output1>
        -<output2>}^{</output2>
        -<output3>}</output3>
        -<output4>\,\mathrm{d</output4>
        -<output5>}</output5>
    -</DefiniteIntegral>
-
 
-
-
Symbols have 1 ‘output’ element e.g. for -Infinity in Latex this is
    -<Infinity>
        -<output>\infty</output>
    -</Infinity>


Groupings have 2 ‘output’ elements e.g. -for square brackets in Latex this is
    <BracketsSq>
        -<output1>\left[</output1>
        -<output2>\right]</output2>
    -</BracketsSq>


Matrix in Latex is as -follows:
    <Matrix>
        -<matrixStart>\left( -\begin{array}{ccc}</matrixStart>
        -<rowStart />
        -<elementStart />
        -<elementEnd />
        -<elementSeparator><![CDATA[ & -]]></elementSeparator>
        -<rowEnd> \\ </rowEnd>
        -<rowSeparator />
        -<matrixEnd>\end{array} -\right)</matrixEnd>
    -</Matrix>



The syntax within these tags is used -when converting an expression to that particular format. The actual arguments of -the objects appear in the syntax between each pair of tags. For example consider -½ in Latex format.  It has 3 ‘output’ elements. So the first part will be -‘\frac{‘, then the first argument will be appended to the string giving us, -‘\frac{1’, then the 2nd output will be appended, ‘\frac{1}{‘, then the 2nd -argment, \frac{1}{2’ and then the final output, ‘\frac{1}{2}’. A similar process -takes place with all the object types of objects, with the argument being -appended between each pair of output elements.

There are various options -that can be set to allow more control over the -output.
-
 
-
Reverse
If you find the arguments -of a binary operator being output in the wrong order for a format, you can -reverse the order of them by setting, reverse=”true”. An example of this is with -the N-th root in Latex,
    <NthRoot reverse="true" brackets="false">
        -<output1>\sqrt[ -</output1>
        -<output2>]{</output2>
        -<output3>}</output3>
    -</NthRoot>

-
 
-
Argument Order
-
If you find the arguments of an N-ary Function being output in the wrong -order for a format, you can re-arrange the order of them by setting, -order=”#1,#2,#3,...,#n”. An example of this is with the Sum in Latex. -Obviously, the default order for this is 0,1,2,3, and it is being -changed to 1,2,3,0.
    <Sum order="1,2,3,0">
        -<output1> \sum_{{</output1>
        -<output2>}={</output2>
        -<output3>}}^{</output3>
        -<output4>}</output4>
        -<output5></output5>
    -</Sum>


-
AutoBrackets
By default, round -brackets are placed around n-ary operators and binary operators where necessary -to ensure operator precedence is preserved. For presentational formats, such as -Latex this is often unnecessary, so there is the option to turn automatic -placing of brackets on/off. This is set in the element that specifies the name -of the format. An example of this is shown for -Latex,
-
    <name AutoBrackets="false">Latex</name>
-
 
-
Brackets on Functions
Brackets -are added by default around the argument of a function. For example Sine in -Latex is,
    <Sine>
        -<output1>\sin -</output1>
        <output2 -/>
    </Sine>


Brackets are -automatically added after the ‘\sin’ and after the 2nd output, resulting in -"\sin(arg)". This is often the desired result but if you need to turn the -brackets off, they can be set for each individual function. An example of -turning them off is shown here for Square root in -Latex,
    <SquareRoot brackets="false">
        -<output1>\sqrt{</output1>
        -<output2>}</output2>
    -</SquareRoot>

-
 
-
Initial
As well as the structured -number of output elements for each type of object, there is the option of having -an ‘initial’ element. The data in this element is added to the string before any -other output element is. An example of its use for describing multiplication in -MathML Content is shown below.
    <Add>        
        -<initial><times/></initial>
        -<output</output> 
    -</Add>

 ‘a x b x c’ would then be converted -to,
    -<times/>
        -<ci>a</ci>
        -<ci>b</ci>
        -<ci>c</ci>
-
 
-
Final
-
N-ary operators can also have an optional 'final' -element for adding data after everything else. An example of this is with Union -in Maxima.
-
    <Union>
        -<initial>union(</initial>
        -<output>,</output>
        -<final>)</final>
    -</Union>
-
 
diff --git a/lib/editor/common/dragmath/doc/newobject.html b/lib/editor/common/dragmath/doc/newobject.html deleted file mode 100644 index a5b8897556..0000000000 --- a/lib/editor/common/dragmath/doc/newobject.html +++ /dev/null @@ -1,43 +0,0 @@ - - -DragMath Documentation - Adding a function/operator - - - - - -

Adding a function/operator

- -

-The code can be easily modified and recompiled to add additional operators and functions. -

-However, they must adhere to the standard display layout shown below: -

-Operator: -
- -

-Function: -
- -

-The steps to adding one: -

-
    - -
  1. A new element in the CompConfig.xml, which is located in the Display package. The element must be given a unique name as the name of the object. A unique ID number, by simply choosing the next available ID number. A group number as follows: -
     N-ary operator - 1 -
     Binary Operator - 2 -
     Function - 3 -
     The name of the GIF file that holds a transparent image of the object, of size  16x16, 24x24 or 32x32 pixels.
     The text of the element should hold the - characters that represent the object. -
  2. A new JButton placed on one of the tabs, in the MainApplet.java file. This button can have Text or an Icon to inform the user what it is. The JButton must have the name field set to 'ID-Name' e.g. for Addition this is '2-Add'. -
  3. A new element in the language file you intend to use, with the same element name as in the CompConfig.xml file. The text of the element should be a description of the object for use in the status bar of the program. -
  4. The array ‘inputComponents’ should be initialised to the size of the highest ID number now in CompConfig.xml. This line of code is found near the start of the init() method in the MainApplet.java file, in the Display package. -
  5. The Precedence.java file in the Tree package should be adjusted, so the ‘value’ array is initialised to the size of the highest ID number now in CompConfig.xml, and the precedence of the new object should be set if required. -
  6. An entry in each format XML file will be required for the new object. For details on how to do this see here. - - - - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/options.html b/lib/editor/common/dragmath/doc/options.html deleted file mode 100644 index cc91b03666..0000000000 --- a/lib/editor/common/dragmath/doc/options.html +++ /dev/null @@ -1,38 +0,0 @@ - - -DragMath Documentation - Options - - - - - -

    Options

    - -

    - -Exporting an expression - -

    -

    -To choose which format to export to click 'Set export format' under the Options menu, and select a file from the list. The files available will be those in the \formats folder. If no format is specified in an applet paramater the default is LaTeX. -To export an expression click the Export button. Once exported the syntax will be copied to the clipboard, so you can simply paste it into any other program you desire. -

    -
    - -Changing the language - -

    -The language can be changed by clicking 'Set language' under the Options menu, and selected a file from the list. The files available will be those in the \lang folder. If no language is specified in an applet parameter the default is English. -

    - -
    - -Help - -

    -If there appears to be a problem with the way the software is behaving it can be useful to use the two tools under the Debug menu, which is under the Help menu. These can show the current expression as a tree, and outline the borders of all the objects on the workspace. -Under the Help menu there is also a link to the Online Documentation. -

    -
    - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/parameters.html b/lib/editor/common/dragmath/doc/parameters.html deleted file mode 100644 index 6cd54fd8c6..0000000000 --- a/lib/editor/common/dragmath/doc/parameters.html +++ /dev/null @@ -1,77 +0,0 @@ - - -DragMath Documentation - Changing applet parameters - - - - - -

    Changing Applet parameters

    - -

    -There are various parameters that can be set inside the <APPLET> tag, to change particular options of the applet. -

    - - -Language - -

    - -<param -name= - -language - -value= - -"en" - -> - -
    -The value is the name of the XML file, so this example refers to language file en.xml in the \lang folder. If the parameter is not used the default value is "en". -

    - - -Output Format - -

    - -<param -name= - -outputFormat - -value= - -"MathML" - -> - -
    -The value is the name of the XML file, so this example refers to output format file MathML.xml in the \formats folder. The purpose of setting this is to have the default format to use automatically set when the software loads. -

    - - -Open applet with an expression - -

    - -<param -name= - -openWithExpression - -value= - -"sin(1+x)" - -> - -
    -The value can be any expression you would like the applet to be opened with. The Maxima example on the DragMath website gives an example of this being used. -

    - -
    - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/doc/simple.html b/lib/editor/common/dragmath/doc/simple.html deleted file mode 100644 index ec5086fbca..0000000000 Binary files a/lib/editor/common/dragmath/doc/simple.html and /dev/null differ diff --git a/lib/editor/common/dragmath/index.html b/lib/editor/common/dragmath/index.html deleted file mode 100644 index 7d95172298..0000000000 --- a/lib/editor/common/dragmath/index.html +++ /dev/null @@ -1,79 +0,0 @@ - - - -DragMath - Home Page - - - - - -

    DragMath

    -
    - - -

    -Home    -Demonstration    -Download    -Documentation    -Integrations    -Support DragMath    -Contact -

    -
    - -
    - -

    Introduction

    -

    -DragMath is a free "drag and drop" equation editor. It is a Java applet which can simply run within a web browser on most computers.
    -
    -The editor lets users build up mathematical expressions in a traditional two dimensional way, and then output the results in a correctly formed syntax. This is not so easy: mathematical notation contains some ambiguities. Still, we appear to be stuck with traditional notation for the foreseeable future, see for example this -article for some comments on notation. This gives some idea of the design of DragMath.
    -
    -The supplied output formats are MathML, LaTeX, Maple, Maxima. It is also possible to convert the expression to almost any user defined style by creating an XML file with the correct syntax data in it. Details of how to do this are included in the documentation.

    Although mathematics is less dependent on language than many things, the applet loads a language file which makes it possible to translate DragMath into other languages. DragMath has currently been translated into: Catalan, Czech, Dutch, English, French, German, Norwegian, Polish, Portuguese (Brazilian), Russian, Spanish and Swedish. The latest language files can be downloaded from here.
    -

    -

    -DragMath makes use of the MathTran service to automatically convert expressions to images. More details of MathTran available at www.mathtran.org -

    -

    -DragMath has a project on SourceForge.net, an open-source software development web site. This allows users to: -

    -SourceForge.net Logo -

    -
    - - -

    Download

    -

    -As DragMath is open-source, you are free to download and re-distribute. See the DragMath license for details.

    -DragMath requires Java 1.4.2 or later is installed. If you do not have it, you can download it from www.java.com.
    -To download the latest version visit our project site on SourceForge.net.
    -

    -
    - -

    Contact

    -

    -Project leader
    -Chris Sangwin
    -Website: http://web.mat.bham.ac.uk/C.J.Sangwin/
    -Email: C.J.Sangwin@bham.ac.uk

    -


    -Developer
    -Alex Billingsley
    -Website: http://www.abillingsley.co.uk/
    -Email: email@abillingsley.co.uk

    -
    - -
    -

    © 2008 Alex Billingsley, Chris Sangwin -

    - -
    - - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/integrations.html b/lib/editor/common/dragmath/integrations.html deleted file mode 100644 index 31c5c806cf..0000000000 --- a/lib/editor/common/dragmath/integrations.html +++ /dev/null @@ -1,55 +0,0 @@ - - - -DragMath - Integrations - - - - - -

    -

    DragMath

    -
    - - -
    -

    -Home    -Demonstration    -Download    -Documentation    -Integrations    -Support DragMath    -Contact -

    -
    -
    - -
    - - -

    Integrations

    - -

    As a Java applet, DragMath can be easily embedded into many other web based systems. It has currently been successfully integrated with: -

    Moodle
    -Moodle is a free, open source course management system (CMS). Also know as a Learning Managment System (LMS) or Virtual Learning Environment (VLE). For further details please see the specific Moodle installation instructions.
    -
    -STACK
    -STACK is a computer aided assessment (CAA) package for mathematics, a project by Chris Sangwin (a developer of DragMath).
    -
    -YourMathsTutor
    -YourMathsTutor is a website created primarily to help students studying the for the UK's Key Stage 3, GCSE, AS and A Level mathematics and physics exams. DragMath has been integrated into the forum on this website. The forum is a Simple Machines Forum (SMF), which is a powerful open source forum. More information on how it was integrated and how it is used in the forum.
    -

    -

    Please let us know if any other successful integrations have occured.
    -

    -
    - -
    -
    -

    © 2008 Alex Billingsley, Chris Sangwin -

    - -
    - - - \ No newline at end of file diff --git a/lib/editor/common/dragmath/support.html b/lib/editor/common/dragmath/support.html deleted file mode 100644 index fd74452ca9..0000000000 --- a/lib/editor/common/dragmath/support.html +++ /dev/null @@ -1,72 +0,0 @@ - - - -DragMath - Home Page - - - - - -

    -

    DragMath

    -
    - - -
    -

    -Home    -Demonstration    -Download    -Documentation    -Integrations    -Support DragMath    -Contact -

    -
    -
    - -
    - -

    Support DragMath

    -

    DragMath is an open-source project that started as a final-year Computer Science project in 2006 at the University of Birmingham by Alex Billingsley under the supervision of Chris Sangwin. It's main application is therefore directed toward an educational one.
    -

    -

    Please make a donation to help support the future development of DragMath. Donations can be securely made through the SourceForge.net website.
    -
    -Support This Project

    -

    We currently need help translating the English language file into many different languages. As new versions of DragMath are created the current language files need updating as well. If you can help, then please contact us. -

    -

    Contributions by: -

    - - -

    Acknowledgements

    - -DragMath has received support from the Higher Education Academy/JISC Development of E-learning projects fund.

    - - -
    -
    -

    © 2008 Alex Billingsley, Chris Sangwin -

    - - -
    - - - \ No newline at end of file diff --git a/lib/editor/htmlEditor.class.php b/lib/editor/htmlEditor.class.php deleted file mode 100644 index 8871255a5e..0000000000 --- a/lib/editor/htmlEditor.class.php +++ /dev/null @@ -1,68 +0,0 @@ -htmleditor) or (!$CFG->htmleditor)) { - return; - } - - if ($editor == '') { - $editor = (isset($CFG->defaulthtmleditor) ? $CFG->defaulthtmleditor : ''); - } - - if (isset($configured[$editor])) { - return $configured[$editor]; - } - - $configuration = array(); - - switch ($editor) { - - case 'tinymce': - $editorlanguage = current_language(); - $configuration[] = $CFG->httpswwwroot ."/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js"; - //$configuration[] = $CFG->httpswwwroot ."/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce_src.js"; - $configuration[] = $CFG->httpswwwroot ."/lib/editor/tinymce/tinymce.js.php?course=$courseid&editorlanguage=$editorlanguage"; - $configured['tinymce'] = true; - break; - - default: - $configured[$editor] = false; - break; - - } - - if (isset($CFG->editorsrc) && is_array($CFG->editorsrc)) { - $CFG->editorsrc = $configuration + $CFG->editorsrc; - } else { - $CFG->editorsrc = $configuration; - } - - return $configured[$editor]; - } -} - -?> diff --git a/lib/editor/textarea/lib.php b/lib/editor/textarea/lib.php new file mode 100644 index 0000000000..2a12f73abb --- /dev/null +++ b/lib/editor/textarea/lib.php @@ -0,0 +1,37 @@ + FORMAT_HTML, + FORMAT_MOODLE => FORMAT_MOODLE, + FORMAT_PLAIN => FORMAT_PLAIN, + FORMAT_MARKDOWN => FORMAT_MARKDOWN, + ); + } + + public function get_preferred_format() { + return FORMAT_MOODLE; + } + + public function supports_repositories() { + return true; + } + + public function get_editor_element_class() { + return 'form-textarea-simple'; + } + + public function get_legacy_textarea_class() { + return 'form-textarea-legacy'; + } + + public function header_js() { + return ''; + } +} + + diff --git a/lib/editor/textarea/version.php b/lib/editor/textarea/version.php new file mode 100644 index 0000000000..c87b6fda0c --- /dev/null +++ b/lib/editor/textarea/version.php @@ -0,0 +1,27 @@ +version = 2009051400; +$plugin->requires = 2009051200; diff --git a/lib/editor/tinymce/jscripts/patch-tinymce_plugin_media.txt b/lib/editor/tinymce/extra/patches/tinymce_plugin_media.patch similarity index 88% rename from lib/editor/tinymce/jscripts/patch-tinymce_plugin_media.txt rename to lib/editor/tinymce/extra/patches/tinymce_plugin_media.patch index 24d85fc36e..5251ca0cc1 100644 --- a/lib/editor/tinymce/jscripts/patch-tinymce_plugin_media.txt +++ b/lib/editor/tinymce/extra/patches/tinymce_plugin_media.patch @@ -1,6 +1,6 @@ -Index: tiny_mce/plugins/media/js/media.js +Index: tinymce/plugins/media/js/media.js =================================================================== -RCS file: /cvsroot/moodle/moodle/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js,v +RCS file: /cvsroot/moodle/moodle/lib/editor/tinymce/plugins/media/js/media.js,v retrieving revision 1.3 diff -u -r1.3 media.js --- tiny_mce/plugins/media/js/media.js 23 Sep 2008 04:10:42 -0000 1.3 diff --git a/lib/editor/tinymce/jscripts/patch-tinymce_strings.txt b/lib/editor/tinymce/extra/patches/tinymce_strings.patch similarity index 100% rename from lib/editor/tinymce/jscripts/patch-tinymce_strings.txt rename to lib/editor/tinymce/extra/patches/tinymce_strings.patch diff --git a/lib/editor/tinymce/extra/strings.php b/lib/editor/tinymce/extra/strings.php new file mode 100644 index 0000000000..930689a4ce --- /dev/null +++ b/lib/editor/tinymce/extra/strings.php @@ -0,0 +1,124 @@ +dataroot .'/lang/'. $lang) or file_exists($CFG->dirroot .'/lang/'. $lang)) { + //ok +} else if (file_exists($CFG->dataroot.'/lang/'.$lang.'_utf8') or + file_exists($CFG->dirroot .'/lang/'.$lang.'_utf8')) { + $lang = $lang.'_utf8'; +} else { + $lang = 'en_utf8'; +} + +// load english defaults +$string = array(); +foreach (get_langpack_locations('en_utf8') as $location) { + if (!file_exists($location)) { + continue; + } + include_once($location); +} + +// find parent language +if ($parent = get_parent_language($lang)) { + foreach (get_langpack_locations($parent) as $location) { + if (!file_exists($location)) { + continue; + } + include_once($location); + } +} + +// load wanted language +if ($lang !== 'en_utf8') { + foreach (get_langpack_locations($lang) as $location) { + if (!file_exists($location)) { + continue; + } + include_once($location); + } +} + +//process the $strings to match expected tinymce lang array stucture +$result = array('main'=>array(), 'plugins'=>array(), 'themes'=>array()); + +foreach ($string as $key=>$value) { + $parts = preg_split('|[/:]|', $key); + if (count($parts) != 3) { + // incorrect string - ignore + continue; + } + $result[$parts[0]][$parts[1]][$parts[2]] = $value; +} + +$output = ''; + +//main +$output .= 'tinyMCE.addI18n({'.$lang.':'.json_encode($result['main']).'});'; + +//plugins +foreach ($result['plugins'] as $pluginname=>$plugin) { + $output .= "tinyMCE.addI18n('$lang.$pluginname',".json_encode($plugin).');'; +} + +if (!empty($result['themes'][$theme])) { + $output .= "tinyMCE.addI18n('$lang.$theme',".json_encode($result['themes'][$theme]).');'; +} +if (!empty($result['themes'][$theme.'_dlg'])) { + $output .= "tinyMCE.addI18n('$lang.{$theme}_dlg',".json_encode($result['themes'][$theme.'_dlg']).');'; +} + + +$lifetime = '10'; // TODO: increase later +@header('Content-type: text/javascript; charset=utf-8'); +@header('Content-length: '.strlen($output)); +@header('Last-Modified: '. gmdate('D, d M Y H:i:s', time()) .' GMT'); +@header('Cache-control: max-age='.$lifetime); +@header('Expires: '. gmdate('D, d M Y H:i:s', time() + $lifetime) .'GMT'); +@header('Pragma: '); + +echo $output; + + +/// ======= Functions ================= + +function get_langpack_locations($lang) { + global $CFG; + + $result = array(); + $result[] = "$CFG->dirroot/lang/$lang/editor_tinymce.php"; + $result[] = "$CFG->dataroot/lang/$lang/editor_tinymce.php"; + $result[] = "$CFG->dataroot/lang/{$lang}_local/editor_tinymce.php"; + + return $result; +} diff --git a/lib/editor/tinymce/extra/tinymce.js.php b/lib/editor/tinymce/extra/tinymce.js.php new file mode 100644 index 0000000000..894697f4a6 --- /dev/null +++ b/lib/editor/tinymce/extra/tinymce.js.php @@ -0,0 +1,184 @@ +dataroot/lang/$lang") or file_exists("$CFG->dirroot/lang/$lang")) { + $SESSION->lang = $lang; +} else if (file_exists("$CFG->dataroot/lang/{$lang}_utf8") or file_exists("$CFG->dirroot/lang/{$lang}_utf8")) { + $SESSION->lang = $lang.'_utf8'; +} + + + +//TODO: finish refactorign and improvements of lang string handling +$lang = 'en'; +$SESSION->lang = 'en_utf8'; + + +$xmlruleset = file_get_contents('xhtml_ruleset.txt'); + +$directionality = get_string('thisdirection'); + +$strtime = get_string('strftimetime'); +$strdate = get_string('strftimedaydate'); + +$lang = str_replace('_utf8', '', $lang); // use more standard language codes + +if ($usehttps) { + $wwwbase = str_replace('http:', 'https:', $CFG->wwwroot); +} else { + $wwwbase = $CFG->wwwroot; +} + +// $contentcss should be customizable, but default to this. +$contentcss = $CFG->themewww .'/'. current_theme() .'/styles.php'; //TODO add page parameter + +$output = <<(.*?)<\/a>/gi,"[url=$1]$2[/url]");rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/(.*?)<\/span>/gi,"[color=$1]$2[/color]");rep(/(.*?)<\/font>/gi,"[color=$1]$2[/color]");rep(/(.*?)<\/span>/gi,"[size=$1]$2[/size]");rep(/(.*?)<\/font>/gi,"$1");rep(//gi,"[img]$1[/img]");rep(/(.*?)<\/span>/gi,"[code]$1[/code]");rep(/(.*?)<\/span>/gi,"[quote]$1[/quote]");rep(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");rep(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");rep(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");rep(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");rep(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");rep(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");rep(/<\/(strong|b)>/gi,"[/b]");rep(/<(strong|b)>/gi,"[b]");rep(/<\/(em|i)>/gi,"[/i]");rep(/<(em|i)>/gi,"[i]");rep(/<\/u>/gi,"[/u]");rep(/(.*?)<\/span>/gi,"[u]$1[/u]");rep(//gi,"[u]");rep(/]*>/gi,"[quote]");rep(/<\/blockquote>/gi,"[/quote]");rep(/
    /gi,"\n");rep(//gi,"\n");rep(/
    /gi,"\n");rep(/

    /gi,"");rep(/<\/p>/gi,"\n");rep(/ /gi," ");rep(/"/gi,"\"");rep(/</gi,"<");rep(/>/gi,">");rep(/&/gi,"&");return s;},_punbb_bbcode2html:function(s){s=tinymce.trim(s);function rep(re,str){s=s.replace(re,str);};rep(/\n/gi,"
    ");rep(/\[b\]/gi,"");rep(/\[\/b\]/gi,"");rep(/\[i\]/gi,"");rep(/\[\/i\]/gi,"");rep(/\[u\]/gi,"");rep(/\[\/u\]/gi,"");rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"$2");rep(/\[url\](.*?)\[\/url\]/gi,"$1");rep(/\[img\](.*?)\[\/img\]/gi,"");rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"$2");rep(/\[code\](.*?)\[\/code\]/gi,"$1 ");rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"$1 ");return s;}});tinymce.PluginManager.add('bbcode',tinymce.plugins.BBCodePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js deleted file mode 100644 index 02a1da8b42..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var DOM=tinymce.DOM,Event=tinymce.dom.Event,each=tinymce.each,is=tinymce.is;tinymce.create('tinymce.plugins.Compat2x',{getInfo:function(){return{longname:'Compat2x',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/compat2x',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};}});(function(){tinymce.extend(tinyMCE,{addToLang:function(p,l){each(l,function(v,k){tinyMCE.i18n[(tinyMCE.settings.language||'en')+'.'+(p?p+'_':'')+k]=v;});},getInstanceById:function(n){return this.get(n);}});})();(function(){var EditorManager=tinymce.EditorManager;tinyMCE.instances={};tinyMCE.plugins={};tinymce.PluginManager.onAdd.add(function(pm,n,p){tinyMCE.plugins[n]=p;});tinyMCE.majorVersion=tinymce.majorVersion;tinyMCE.minorVersion=tinymce.minorVersion;tinyMCE.releaseDate=tinymce.releaseDate;tinyMCE.baseURL=tinymce.baseURL;tinyMCE.isIE=tinyMCE.isMSIE=tinymce.isIE||tinymce.isOpera;tinyMCE.isMSIE5=tinymce.isIE;tinyMCE.isMSIE5_0=tinymce.isIE;tinyMCE.isMSIE7=tinymce.isIE;tinyMCE.isGecko=tinymce.isGecko;tinyMCE.isSafari=tinymce.isWebKit;tinyMCE.isOpera=tinymce.isOpera;tinyMCE.isMac=false;tinyMCE.isNS7=false;tinyMCE.isNS71=false;tinyMCE.compat=true;TinyMCE_Engine=tinyMCE;tinymce.extend(tinyMCE,{getParam:function(n,dv){return this.activeEditor.getParam(n,dv);},addEvent:function(e,na,f,sc){tinymce.dom.Event.add(e,na,f,sc||this);},getControlHTML:function(n){return EditorManager.activeEditor.controlManager.createControl(n);},loadCSS:function(u){tinymce.DOM.loadCSS(u);},importCSS:function(doc,u){if(doc==document)this.loadCSS(u);else new tinymce.dom.DOMUtils(doc).loadCSS(u);},log:function(){console.debug.apply(console,arguments);},getLang:function(n,dv){var v=EditorManager.activeEditor.getLang(n.replace(/^lang_/g,''),dv);if(/^[0-9\-.]+$/g.test(v))return parseInt(v);return v;},isInstance:function(o){return o!=null&&typeof(o)=="object"&&o.execCommand;},triggerNodeChange:function(){EditorManager.activeEditor.nodeChanged();},regexpReplace:function(in_str,reg_exp,replace_str,opts){var re;if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);},trim:function(s){return tinymce.trim(s);},xmlEncode:function(s){return tinymce.DOM.encode(s);},explode:function(s,d){var o=[];tinymce.each(s.split(d),function(v){if(v!='')o.push(v);});return o;},switchClass:function(id,cls){var b;if(/^mceButton/.test(cls)){b=EditorManager.activeEditor.controlManager.get(id);if(!b)return;switch(cls){case"mceButtonNormal":b.setDisabled(false);b.setActive(false);return;case"mceButtonDisabled":b.setDisabled(true);return;case"mceButtonSelected":b.setActive(true);b.setDisabled(false);return;}}},addCSSClass:function(e,n,b){return tinymce.DOM.addClass(e,n,b);},hasCSSClass:function(e,n){return tinymce.DOM.hasClass(e,n);},removeCSSClass:function(e,n){return tinymce.DOM.removeClass(e,n);},getCSSClasses:function(){var cl=EditorManager.activeEditor.dom.getClasses(),o=[];each(cl,function(c){o.push(c['class']);});return o;},setWindowArg:function(n,v){EditorManager.activeEditor.windowManager.params[n]=v;},getWindowArg:function(n,dv){var wm=EditorManager.activeEditor.windowManager,v;v=wm.getParam(n);if(v==='')return'';return v||wm.getFeature(n)||dv;},getParentNode:function(n,f){return this._getDOM().getParent(n,f);},selectElements:function(n,na,f){var i,a=[],nl,x;for(x=0,na=na.split(',');x ':-)', - 'biggrin' => ':-D', - 'wink' => ';-)', - 'mixed' => ':-/', - 'thoughtful' => 'V-.', - 'tongueout' => ':-P', - 'cool' => 'B-)', - 'approve' => '^-)', - 'wideeyes' => '8-)', - 'clown' => ':o)', - 'sad' => ':-(', - 'shy' => '8-.', - 'blush' => ':-I', - 'kiss' => ':-X', - 'surprise' => '8-o', - 'blackeye' => 'P-|', - 'angry' => '8-[', - 'dead' => 'xx-P', - 'sleepy' => '|-.', - 'evil' => '}-]' ); - -?> - - - - {#emoticons_dlg.title} - - - - - -

    - - - - - -
    - - - - - -
    - -'; -echo ""; - echo ""; - echo ""; - echo ""; - } -?> -
    \"$name\"$name$icon
    -
    - - -'; -echo ""; - echo ""; - echo ""; - echo ""; - } -?> -
    \"$name\"$name$icon
    -
    - -
    -
    - - \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/img/smiley.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/img/smiley.gif deleted file mode 100644 index 7b68391c34..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/img/smiley.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/js/emoticons.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/js/emoticons.js deleted file mode 100644 index 16e34353ea..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/js/emoticons.js +++ /dev/null @@ -1,22 +0,0 @@ -tinyMCEPopup.requireLangPack(); - -var emoticonsDialog = { - init : function(ed) { - tinyMCEPopup.resizeToInnerSize(); - }, - - insert : function(file, title) { - var ed = tinyMCEPopup.editor, dom = ed.dom; - - tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { - src : file, - alt : title, - title : title, - border : 0 - })); - - tinyMCEPopup.close(); - } -}; - -tinyMCEPopup.onInit.add(emoticonsDialog.init, emoticonsDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/langs/en_dlg.js deleted file mode 100644 index 9c19ab2fe4..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/langs/en_dlg.js +++ /dev/null @@ -1,20 +0,0 @@ -tinyMCE.addI18n('en.emoticons_dlg',{ -title:"Insert emoticon", -desc:"emoticons", -cool:"Cool", -cry:"Cry", -embarassed:"Embarassed", -foot_in_mouth:"Foot in mouth", -frown:"Frown", -innocent:"Innocent", -kiss:"Kiss", -laughing:"Laughing", -money_mouth:"Money mouth", -sealed:"Sealed", -smile:"Smile", -surprised:"Surprised", -tongue_out:"Tongue out", -undecided:"Undecided", -wink:"Wink", -yell:"Yell" -}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js deleted file mode 100644 index 87fac106d4..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.EmotionsPlugin',{init:function(ed,url){ed.addCommand('mceEmotion',function(){ed.windowManager.open({file:url+'/emotions.htm',width:250+parseInt(ed.getLang('emotions.delta_width',0)),height:160+parseInt(ed.getLang('emotions.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('emotions',{title:'emotions.emotions_desc',cmd:'mceEmotion'});},getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('emotions',tinymce.plugins.EmotionsPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif deleted file mode 100644 index 206e2eda2f..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif deleted file mode 100644 index d610886fcb..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js deleted file mode 100644 index cb7010d188..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.PluginManager.requireLangPack('example');tinymce.create('tinymce.plugins.ExamplePlugin',{init:function(ed,url){ed.addCommand('mceExample',function(){ed.windowManager.open({file:url+'/dialog.htm',width:320+parseInt(ed.getLang('example.delta_width',0)),height:120+parseInt(ed.getLang('example.delta_height',0)),inline:1},{plugin_url:url,some_custom_arg:'custom arg'});});ed.addButton('example',{title:'example.desc',cmd:'mceExample',image:url+'/img/example.gif'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('example',n.nodeName=='IMG');});},createControl:function(n,cm){return null;},getInfo:function(){return{longname:'Example plugin',author:'Some author',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example',version:"1.0"};}});tinymce.PluginManager.add('example',tinymce.plugins.ExamplePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif deleted file mode 100644 index dd1880b47a..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js deleted file mode 100644 index 727beb574e..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.FullPagePlugin',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceFullPageProperties',function(){ed.windowManager.open({file:url+'/fullpage.htm',width:430+parseInt(ed.getLang('fullpage.delta_width',0)),height:495+parseInt(ed.getLang('fullpage.delta_height',0)),inline:1},{plugin_url:url,head_html:t.head});});ed.addButton('fullpage',{title:'fullpage.desc',cmd:'mceFullPageProperties'});ed.onBeforeSetContent.add(t._setContent,t);ed.onSetContent.add(t._setBodyAttribs,t);ed.onGetContent.add(t._getContent,t);},getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_setBodyAttribs:function(ed,o){var bdattr,i,len,kv,k,v,t,attr=this.head.match(/body(.*?)>/i);if(attr&&attr[1]){bdattr=attr[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);if(bdattr){for(i=0,len=bdattr.length;i',sp);t.head=c.substring(0,sp+1);ep=c.indexOf('\n';t.head+=ed.getParam('fullpage_default_doctype','');t.head+='\n\n\n'+ed.getParam('fullpage_default_title','Untitled document')+'\n';if(v=ed.getParam('fullpage_default_encoding'))t.head+='\n';if(v=ed.getParam('fullpage_default_font_family'))st+='font-family: '+v+';';if(v=ed.getParam('fullpage_default_font_size'))st+='font-size: '+v+';';if(v=ed.getParam('fullpage_default_text_color'))st+='color: '+v+';';t.head+='\n\n';t.foot='\n\n';}},_getContent:function(ed,o){var t=this;o.content=tinymce.trim(t.head)+'\n'+tinymce.trim(o.content)+'\n'+tinymce.trim(t.foot);}});tinymce.PluginManager.add('fullpage',tinymce.plugins.FullPagePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js deleted file mode 100644 index fbcec59e87..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var DOM=tinymce.DOM;tinymce.create('tinymce.plugins.FullScreenPlugin',{init:function(ed,url){var t=this,s={},vp;t.editor=ed;ed.addCommand('mceFullScreen',function(){var win,de=DOM.doc.documentElement;if(ed.getParam('fullscreen_is_enabled')){if(ed.getParam('fullscreen_new_window'))closeFullscreen();else{DOM.win.setTimeout(function(){tinymce.dom.Event.remove(DOM.win,'resize',t.resizeFunc);tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format:'raw'}),{format:'raw'});tinyMCE.remove(ed);DOM.remove('mce_fullscreen_container');de.style.overflow=ed.getParam('fullscreen_html_overflow');DOM.setStyle(DOM.doc.body,'overflow',ed.getParam('fullscreen_overflow'));DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'),ed.getParam('fullscreen_scrolly'));tinyMCE.settings=tinyMCE.oldSettings;},10);}return;}if(ed.getParam('fullscreen_new_window')){win=DOM.win.open(url+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{win.resizeTo(screen.availWidth,screen.availHeight);}catch(e){}}else{tinyMCE.oldSettings=tinyMCE.settings;s.fullscreen_overflow=DOM.getStyle(DOM.doc.body,'overflow',1)||'auto';s.fullscreen_html_overflow=DOM.getStyle(de,'overflow',1);vp=DOM.getViewPort();s.fullscreen_scrollx=vp.x;s.fullscreen_scrolly=vp.y;if(tinymce.isOpera&&s.fullscreen_overflow=='visible')s.fullscreen_overflow='auto';if(tinymce.isIE&&s.fullscreen_overflow=='scroll')s.fullscreen_overflow='auto';if(tinymce.isIE&&(s.fullscreen_html_overflow=='visible'||s.fullscreen_html_overflow=='scroll'))s.fullscreen_html_overflow='auto';if(s.fullscreen_overflow=='0px')s.fullscreen_overflow='';DOM.setStyle(DOM.doc.body,'overflow','hidden');de.style.overflow='hidden';vp=DOM.getViewPort();DOM.win.scrollTo(0,0);if(tinymce.isIE)vp.h-=1;n=DOM.add(DOM.doc.body,'div',{id:'mce_fullscreen_container',style:'position:'+(tinymce.isIE6||(tinymce.isIE&&!DOM.boxModel)?'absolute':'fixed')+';top:0;left:0;width:'+vp.w+'px;height:'+vp.h+'px;z-index:200000;'});DOM.add(n,'div',{id:'mce_fullscreen'});tinymce.each(ed.settings,function(v,n){s[n]=v;});s.id='mce_fullscreen';s.width=n.clientWidth;s.height=n.clientHeight-15;s.fullscreen_is_enabled=true;s.fullscreen_editor_id=ed.id;s.theme_advanced_resizing=false;s.save_onsavecallback=function(){ed.setContent(tinyMCE.get(s.id).getContent({format:'raw'}),{format:'raw'});ed.execCommand('mceSave');};tinymce.each(ed.getParam('fullscreen_settings'),function(v,k){s[k]=v;});if(s.theme_advanced_toolbar_location==='external')s.theme_advanced_toolbar_location='top';t.fullscreenEditor=new tinymce.Editor('mce_fullscreen',s);t.fullscreenEditor.onInit.add(function(){t.fullscreenEditor.setContent(ed.getContent());t.fullscreenEditor.focus();});t.fullscreenEditor.render();tinyMCE.add(t.fullscreenEditor);t.fullscreenElement=new tinymce.dom.Element('mce_fullscreen_container');t.fullscreenElement.update();t.resizeFunc=tinymce.dom.Event.add(DOM.win,'resize',function(){var vp=tinymce.DOM.getViewPort();t.fullscreenEditor.theme.resizeTo(vp.w,vp.h);});}});ed.addButton('fullscreen',{title:'fullscreen.desc',cmd:'mceFullScreen'});ed.onNodeChange.add(function(ed,cm){cm.setActive('fullscreen',ed.getParam('fullscreen_is_enabled'));});},getInfo:function(){return{longname:'Fullscreen',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('fullscreen',tinymce.plugins.FullScreenPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js deleted file mode 100644 index 06dae75df7..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.IESpell',{init:function(ed,url){var t=this,sp;if(!tinymce.isIE)return;t.editor=ed;ed.addCommand('mceIESpell',function(){try{sp=new ActiveXObject("ieSpell.ieSpellExtension");sp.CheckDocumentNode(ed.getDoc().documentElement);}catch(e){if(e.number==-2146827859){ed.windowManager.confirm(ed.getLang("iespell.download"),function(s){if(s)window.open('http://www.iespell.com/download.php','ieSpellDownload','');});}else ed.windowManager.alert("Error Loading ieSpell: Exception "+e.number);}});ed.addButton('iespell',{title:'iespell.iespell_desc',cmd:'mceIESpell'});},getInfo:function(){return{longname:'IESpell (IE Only)',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('iespell',tinymce.plugins.IESpell);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js deleted file mode 100644 index b4fffe5a21..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var DOM=tinymce.DOM,Element=tinymce.dom.Element,Event=tinymce.dom.Event,each=tinymce.each,is=tinymce.is;tinymce.create('tinymce.plugins.InlinePopups',{init:function(ed,url){ed.onBeforeRenderUI.add(function(){ed.windowManager=new tinymce.InlineWindowManager(ed);DOM.loadCSS(url+'/skins/'+(ed.settings.inlinepopups_skin||'clearlooks2')+"/window.css");});},getInfo:function(){return{longname:'InlinePopups',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager',{InlineWindowManager:function(ed){var t=this;t.parent(ed);t.zIndex=300000;t.count=0;t.windows={};},open:function(f,p){var t=this,id,opt='',ed=t.editor,dw=0,dh=0,vp,po,mdf,clf,we,w,u;f=f||{};p=p||{};if(!f.inline)return t.parent(f,p);if(!f.type)t.bookmark=ed.selection.getBookmark('simple');id=DOM.uniqueId();vp=DOM.getViewPort();f.width=parseInt(f.width||320);f.height=parseInt(f.height||240)+(tinymce.isIE?8:0);f.min_width=parseInt(f.min_width||150);f.min_height=parseInt(f.min_height||100);f.max_width=parseInt(f.max_width||2000);f.max_height=parseInt(f.max_height||2000);f.left=f.left||Math.round(Math.max(vp.x,vp.x+(vp.w/ 2.0) - (f.width /2.0)));f.top=f.top||Math.round(Math.max(vp.y,vp.y+(vp.h/ 2.0) - (f.height /2.0)));f.movable=f.resizable=true;p.mce_width=f.width;p.mce_height=f.height;p.mce_inline=true;p.mce_window_id=id;p.mce_auto_focus=f.auto_focus;t.features=f;t.params=p;t.onOpen.dispatch(t,f,p);if(f.type){opt+=' mceModal';if(f.type)opt+=' mce'+f.type.substring(0,1).toUpperCase()+f.type.substring(1);f.resizable=false;}if(f.statusbar)opt+=' mceStatusbar';if(f.resizable)opt+=' mceResizable';if(f.minimizable)opt+=' mceMinimizable';if(f.maximizable)opt+=' mceMaximizable';if(f.movable)opt+=' mceMovable';t._addAll(DOM.doc.body,['div',{id:id,'class':ed.settings.inlinepopups_skin||'clearlooks2',style:'width:100px;height:100px'},['div',{id:id+'_wrapper','class':'mceWrapper'+opt},['div',{id:id+'_top','class':'mceTop'},['div',{'class':'mceLeft'}],['div',{'class':'mceCenter'}],['div',{'class':'mceRight'}],['span',{id:id+'_title'},f.title||'']],['div',{id:id+'_middle','class':'mceMiddle'},['div',{id:id+'_left','class':'mceLeft'}],['span',{id:id+'_content'}],['div',{id:id+'_right','class':'mceRight'}]],['div',{id:id+'_bottom','class':'mceBottom'},['div',{'class':'mceLeft'}],['div',{'class':'mceCenter'}],['div',{'class':'mceRight'}],['span',{id:id+'_status'},'Content']],['a',{'class':'mceMove',tabindex:'-1',href:'javascript:;'}],['a',{'class':'mceMin',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{'class':'mceMax',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{'class':'mceMed',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{'class':'mceClose',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{id:id+'_resize_n','class':'mceResize mceResizeN',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_s','class':'mceResize mceResizeS',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_w','class':'mceResize mceResizeW',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_e','class':'mceResize mceResizeE',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_nw','class':'mceResize mceResizeNW',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_ne','class':'mceResize mceResizeNE',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_sw','class':'mceResize mceResizeSW',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_se','class':'mceResize mceResizeSE',tabindex:'-1',href:'javascript:;'}]]]);DOM.setStyles(id,{top:-10000,left:-10000});if(tinymce.isGecko)DOM.setStyle(id,'overflow','auto');if(!f.type){dw+=DOM.get(id+'_left').clientWidth;dw+=DOM.get(id+'_right').clientWidth;dh+=DOM.get(id+'_top').clientHeight;dh+=DOM.get(id+'_bottom').clientHeight;}DOM.setStyles(id,{top:f.top,left:f.left,width:f.width+dw,height:f.height+dh});u=f.url||f.file;if(u){if(tinymce.relaxedDomain)u+=(u.indexOf('?')==-1?'?':'&')+'mce_rdomain='+tinymce.relaxedDomain;u=tinymce._addVer(u);}if(!f.type){DOM.add(id+'_content','iframe',{id:id+'_ifr',src:'javascript:""',frameBorder:0,style:'border:0;width:10px;height:10px'});DOM.setStyles(id+'_ifr',{width:f.width,height:f.height});DOM.setAttrib(id+'_ifr','src',u);}else{DOM.add(id+'_wrapper','a',{id:id+'_ok','class':'mceButton mceOk',href:'javascript:;',onmousedown:'return false;'},'Ok');if(f.type=='confirm')DOM.add(id+'_wrapper','a',{'class':'mceButton mceCancel',href:'javascript:;',onmousedown:'return false;'},'Cancel');DOM.add(id+'_middle','div',{'class':'mceIcon'});DOM.setHTML(id+'_content',f.content.replace('\n','
    '));}mdf=Event.add(id,'mousedown',function(e){var n=e.target,w,vp;w=t.windows[id];t.focus(id);if(n.nodeName=='A'||n.nodeName=='a'){if(n.className=='mceMax'){w.oldPos=w.element.getXY();w.oldSize=w.element.getSize();vp=DOM.getViewPort();vp.w-=2;vp.h-=2;w.element.moveTo(vp.x,vp.y);w.element.resizeTo(vp.w,vp.h);DOM.setStyles(id+'_ifr',{width:vp.w-w.deltaWidth,height:vp.h-w.deltaHeight});DOM.addClass(id+'_wrapper','mceMaximized');}else if(n.className=='mceMed'){w.element.moveTo(w.oldPos.x,w.oldPos.y);w.element.resizeTo(w.oldSize.w,w.oldSize.h);w.iframeElement.resizeTo(w.oldSize.w-w.deltaWidth,w.oldSize.h-w.deltaHeight);DOM.removeClass(id+'_wrapper','mceMaximized');}else if(n.className=='mceMove')return t._startDrag(id,e,n.className);else if(DOM.hasClass(n,'mceResize'))return t._startDrag(id,e,n.className.substring(13));}});clf=Event.add(id,'click',function(e){var n=e.target;t.focus(id);if(n.nodeName=='A'||n.nodeName=='a'){switch(n.className){case'mceClose':t.close(null,id);return Event.cancel(e);case'mceButton mceOk':case'mceButton mceCancel':f.button_func(n.className=='mceButton mceOk');return Event.cancel(e);}}});w=t.windows[id]={id:id,mousedown_func:mdf,click_func:clf,element:new Element(id,{blocker:1,container:ed.getContainer()}),iframeElement:new Element(id+'_ifr'),features:f,deltaWidth:dw,deltaHeight:dh};w.iframeElement.on('focus',function(){t.focus(id);});if(t.count==0&&t.editor.getParam('dialog_type','modal')=='modal'){DOM.add(DOM.doc.body,'div',{id:'mceModalBlocker','class':(t.editor.settings.inlinepopups_skin||'clearlooks2')+'_modalBlocker',style:{zIndex:t.zIndex-1}});DOM.show('mceModalBlocker');}else DOM.setStyle('mceModalBlocker','z-index',t.zIndex-1);if(tinymce.isIE6||(tinymce.isIE&&!DOM.boxModel))DOM.setStyles('mceModalBlocker',{position:'absolute',width:vp.w-2,height:vp.h-2});t.focus(id);t._fixIELayout(id,1);if(DOM.get(id+'_ok'))DOM.get(id+'_ok').focus();t.count++;return w;},focus:function(id){var t=this,w;if(w=t.windows[id]){w.zIndex=this.zIndex++;w.element.setStyle('zIndex',w.zIndex);w.element.update();id=id+'_wrapper';DOM.removeClass(t.lastId,'mceFocus');DOM.addClass(id,'mceFocus');t.lastId=id;}},_addAll:function(te,ne){var i,n,t=this,dom=tinymce.DOM;if(is(ne,'string'))te.appendChild(dom.doc.createTextNode(ne));else if(ne.length){te=te.appendChild(dom.create(ne[0],ne[1]));for(i=2;iix){fw=w;ix=w.zIndex;}});if(fw)t.focus(fw.id);}},setTitle:function(w,ti){var e;w=this._findId(w);if(e=DOM.get(w+'_title'))e.innerHTML=DOM.encode(ti);},alert:function(txt,cb,s){var t=this,w;w=t.open({title:t,type:'alert',button_func:function(s){if(cb)cb.call(s||t,s);t.close(null,w.id);},content:DOM.encode(t.editor.getLang(txt,txt)),inline:1,width:400,height:130});},confirm:function(txt,cb,s){var t=this,w;w=t.open({title:t,type:'confirm',button_func:function(s){if(cb)cb.call(s||t,s);t.close(null,w.id);},content:DOM.encode(t.editor.getLang(txt,txt)),inline:1,width:400,height:130});},_findId:function(w){var t=this;if(typeof(w)=='string')return w;each(t.windows,function(wo){var ifr=DOM.get(wo.id+'_ifr');if(ifr&&w==ifr.contentWindow){w=wo.id;return false;}});return w;},_fixIELayout:function(id,s){var w,img;if(!tinymce.isIE6)return;each(['n','s','w','e','nw','ne','sw','se'],function(v){var e=DOM.get(id+'_resize_'+v);DOM.setStyles(e,{width:s?e.clientWidth:'',height:s?e.clientHeight:'',cursor:DOM.getStyle(e,'cursor',1)});DOM.setStyle(id+"_bottom",'bottom','-1px');e=0;});if(w=this.windows[id]){w.element.hide();w.element.show();each(DOM.select('div,a',id),function(e,i){if(e.currentStyle.backgroundImage!='none'){img=new Image();img.src=e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,'$1');}});DOM.get(id).style.filter='';}}});tinymce.PluginManager.add('inlinepopups',tinymce.plugins.InlinePopups);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif deleted file mode 100644 index 0591f7178c..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif deleted file mode 100644 index 110a7ae4cc..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif deleted file mode 100644 index 090447dc1d..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif deleted file mode 100644 index f291c732de..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif deleted file mode 100644 index 1bc957b970..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js deleted file mode 100644 index 34d4ceca51..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.InsertDateTime',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceInsertDate',function(){var str=t._getDateTime(new Date(),ed.getParam("plugin_insertdate_dateFormat",ed.getLang('insertdatetime.date_fmt')));ed.execCommand('mceInsertContent',false,str);});ed.addCommand('mceInsertTime',function(){var str=t._getDateTime(new Date(),ed.getParam("plugin_insertdate_timeFormat",ed.getLang('insertdatetime.time_fmt')));ed.execCommand('mceInsertContent',false,str);});ed.addButton('insertdate',{title:'insertdatetime.insertdate_desc',cmd:'mceInsertDate'});ed.addButton('inserttime',{title:'insertdatetime.inserttime_desc',cmd:'mceInsertTime'});},getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_getDateTime:function(d,fmt){var ed=this.editor;function addZeros(value,len){value=""+value;if(value.length-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1;}}else{for(i=0;iz[ci]){fi=i;break;}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else nl[ci].style.zIndex=z[ci]+1;}ed.execCommand('mceRepaint');},_getParentLayer:function(n){return this.editor.dom.getParent(n,function(n){return n.nodeType==1&&/^(absolute|relative|static)$/i.test(n.style.position);});},_insertLayer:function(){var ed=this.editor,p=ed.dom.getPos(ed.dom.getParent(ed.selection.getNode(),'*'));ed.dom.add(ed.getBody(),'div',{style:{position:'absolute',left:p.x,top:(p.y>20?p.y:20),width:100,height:100},'class':'mceItemVisualAid'},ed.selection.getContent()||ed.getLang('layer.content'));},_toggleAbsolute:function(){var ed=this.editor,le=this._getParentLayer(ed.selection.getNode());if(!le)le=ed.dom.getParent(ed.selection.getNode(),'DIV,P,IMG');if(le){if(le.style.position.toLowerCase()=="absolute"){ed.dom.setStyles(le,{position:'',left:'',top:'',width:'',height:''});ed.dom.removeClass(le,'mceItemVisualAid');}else{if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';le.style.position="absolute";ed.addVisual(ed.getBody());}ed.execCommand('mceRepaint');ed.nodeChanged();}}});tinymce.PluginManager.add('layer',tinymce.plugins.Layer);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js deleted file mode 100644 index 598649352a..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var each=tinymce.each;tinymce.create('tinymce.plugins.MediaPlugin',{init:function(ed,url){var t=this;t.editor=ed;t.url=url;function isMediaElm(n){return/^(mceItemFlash|mceItemShockWave|mceItemWindowsMedia|mceItemQuickTime|mceItemRealMedia)$/.test(n.className);};ed.onPreInit.add(function(){ed.serializer.addRules('param[name|value|_value]');});ed.addCommand('mceMedia',function(){ed.windowManager.open({file:url+'/media.htm',width:430+parseInt(ed.getLang('media.delta_width',0)),height:470+parseInt(ed.getLang('media.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('media',{title:'media.desc',cmd:'mceMedia'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('media',n.nodeName=='IMG'&&isMediaElm(n));});ed.onInit.add(function(){var lo={mceItemFlash:'flash',mceItemShockWave:'shockwave',mceItemWindowsMedia:'windowsmedia',mceItemQuickTime:'quicktime',mceItemRealMedia:'realmedia'};ed.selection.onSetContent.add(function(){t._spansToImgs(ed.getBody());});ed.selection.onBeforeSetContent.add(t._objectsToSpans,t);if(ed.settings.content_css!==false)ed.dom.loadCSS(url+"/css/content.css");if(ed.theme.onResolveName){ed.theme.onResolveName.add(function(th,o){if(o.name=='img'){each(lo,function(v,k){if(ed.dom.hasClass(o.node,k)){o.name=v;o.title=ed.dom.getAttrib(o.node,'title');return false;}});}});}if(ed&&ed.plugins.contextmenu){ed.plugins.contextmenu.onContextMenu.add(function(th,m,e){if(e.nodeName=='IMG'&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(e.className)){m.add({title:'media.edit',icon:'media',cmd:'mceMedia'});}});}});ed.onBeforeSetContent.add(t._objectsToSpans,t);ed.onSetContent.add(function(){t._spansToImgs(ed.getBody());});ed.onPreProcess.add(function(ed,o){var dom=ed.dom;if(o.set){t._spansToImgs(o.node);each(dom.select('IMG',o.node),function(n){var p;if(isMediaElm(n)){p=t._parse(n.title);dom.setAttrib(n,'width',dom.getAttrib(n,'width',p.width||100));dom.setAttrib(n,'height',dom.getAttrib(n,'height',p.height||100));}});}if(o.get){each(dom.select('IMG',o.node),function(n){var ci,cb,mt;if(ed.getParam('media_use_script')){if(isMediaElm(n))n.className=n.className.replace(/mceItem/g,'mceTemp');return;}switch(n.className){case'mceItemFlash':ci='d27cdb6e-ae6d-11cf-96b8-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='application/x-shockwave-flash';break;case'mceItemShockWave':ci='166b1bca-3f9c-11cf-8075-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';mt='application/x-director';break;case'mceItemWindowsMedia':ci=ed.getParam('media_wmp6_compatible')?'05589fa1-c356-11ce-bf01-00aa0055595a':'6bf52a52-394a-11d3-b153-00c04f79faa6';cb='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';mt='application/x-mplayer2';break;case'mceItemQuickTime':ci='02bf25d5-8c17-4b23-bc80-d3488abddc6b';cb='http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';mt='video/quicktime';break;case'mceItemRealMedia':ci='cfcdaa03-8be4-11cf-b84b-0020afbbccfa';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='audio/x-pn-realaudio-plugin';break;}if(ci){dom.replace(t._buildObj({classid:ci,codebase:cb,type:mt},n),n);}});}});ed.onPostProcess.add(function(ed,o){o.content=o.content.replace(/_value=/g,'value=');});if(ed.getParam('media_use_script')){function getAttr(s,n){n=new RegExp(n+'=\"([^\"]+)\"','g').exec(s);return n?ed.dom.decode(n[1]):'';};ed.onPostProcess.add(function(ed,o){o.content=o.content.replace(/]+>/g,function(im){var cl=getAttr(im,'class');if(/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(cl)){at=t._parse(getAttr(im,'title'));at.width=getAttr(im,'width');at.height=getAttr(im,'height');im='';}return im;});});}},getInfo:function(){return{longname:'Media',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_objectsToSpans:function(ed,o){var t=this,h=o.content;h=h.replace(/]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,function(a,b,c){var o=t._parse(c);return''});h=h.replace(/]*)>/gi,'');h=h.replace(/]*)\/?>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/<\/(object)([^>]*)>/gi,'');h=h.replace(/<\/embed>/gi,'');h=h.replace(/]*)>/gi,function(a,b){return''});h=h.replace(/\/ class=\"mceItemParam\"><\/span>/gi,'class="mceItemParam">');o.content=h;},_buildObj:function(o,n){var ob,ed=this.editor,dom=ed.dom,p=this._parse(n.title);p.width=o.width=dom.getAttrib(n,'width')||100;p.height=o.height=dom.getAttrib(n,'height')||100;ob=dom.create('span',{mce_name:'object',classid:"clsid:"+o.classid,codebase:o.codebase,width:o.width,height:o.height});if(p.src)p.src=ed.convertURL(p.src,'src',n);each(p,function(v,k){if(!/^(width|height|codebase|classid|_cx|_cy)$/.test(k)){if(o.type=='application/x-mplayer2'&&k=='src')k='url';if(v)dom.add(ob,'span',{mce_name:'param',name:k,'_value':v});}});dom.add(ob,'span',tinymce.extend({mce_name:'embed',type:o.type},p));return ob;},_spansToImgs:function(p){var t=this,dom=t.editor.dom,im,ci;each(dom.select('span',p),function(n){if(dom.getAttrib(n,'class')=='mceItemObject'){ci=dom.getAttrib(n,"classid").toLowerCase().replace(/\s+/g,'');switch(ci){case'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':dom.replace(t._createImg('mceItemFlash',n),n);break;case'clsid:166b1bca-3f9c-11cf-8075-444553540000':dom.replace(t._createImg('mceItemShockWave',n),n);break;case'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':case'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':case'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':dom.replace(t._createImg('mceItemWindowsMedia',n),n);break;case'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':dom.replace(t._createImg('mceItemQuickTime',n),n);break;case'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':dom.replace(t._createImg('mceItemRealMedia',n),n);break;default:dom.replace(t._createImg('mceItemFlash',n),n);}return;}if(dom.getAttrib(n,'class')=='mceItemEmbed'){switch(dom.getAttrib(n,'type')){case'application/x-shockwave-flash':dom.replace(t._createImg('mceItemFlash',n),n);break;case'application/x-director':dom.replace(t._createImg('mceItemShockWave',n),n);break;case'application/x-mplayer2':dom.replace(t._createImg('mceItemWindowsMedia',n),n);break;case'video/quicktime':dom.replace(t._createImg('mceItemQuickTime',n),n);break;case'audio/x-pn-realaudio-plugin':dom.replace(t._createImg('mceItemRealMedia',n),n);break;default:dom.replace(t._createImg('mceItemFlash',n),n);}}});},_createImg:function(cl,n){var im,dom=this.editor.dom,pa={},ti='';im=dom.create('img',{src:this.url+'/img/trans.gif',width:dom.getAttrib(n,'width')||100,height:dom.getAttrib(n,'height')||100,'class':cl});each(['id','name','width','height','bgcolor','align','flashvars','src','wmode','allowfullscreen','quality'],function(na){var v=dom.getAttrib(n,na);if(v)pa[na]=v;});each(dom.select('span',n),function(n){if(dom.hasClass(n,'mceItemParam'))pa[dom.getAttrib(n,'name')]=dom.getAttrib(n,'_value');});if(pa.movie){pa.src=pa.movie;delete pa.movie;}delete pa.width;delete pa.height;im.title=this._serialize(pa);return im;},_parse:function(s){return tinymce.util.JSON.parse('{'+s+'}');},_serialize:function(o){return tinymce.util.JSON.serialize(o).replace(/[{}]/g,'');}});tinymce.PluginManager.add('media',tinymce.plugins.MediaPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif deleted file mode 100644 index de33e76005..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif deleted file mode 100644 index f61ddc81fa..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif deleted file mode 100644 index 66952acb19..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif deleted file mode 100644 index e98dd575a9..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js deleted file mode 100644 index 4fce503c15..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.Nonbreaking',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceNonBreaking',function(){ed.execCommand('mceInsertContent',false,(ed.plugins.visualchars&&ed.plugins.visualchars.state)?'·':' ');});ed.addButton('nonbreaking',{title:'nonbreaking.nonbreaking_desc',cmd:'mceNonBreaking'});if(ed.getParam('nonbreaking_force_tab')){ed.onKeyDown.add(function(ed,e){if(tinymce.isIE&&e.keyCode==9){ed.execCommand('mceNonBreaking');ed.execCommand('mceNonBreaking');ed.execCommand('mceNonBreaking');tinymce.dom.Event.cancel(e);}});}},getInfo:function(){return{longname:'Nonbreaking space',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('nonbreaking',tinymce.plugins.Nonbreaking);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js deleted file mode 100644 index 8a1b8f0754..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var Event=tinymce.dom.Event;tinymce.create('tinymce.plugins.NonEditablePlugin',{init:function(ed,url){var t=this,editClass,nonEditClass;t.editor=ed;editClass=ed.getParam("noneditable_editable_class","mceEditable");nonEditClass=ed.getParam("noneditable_noneditable_class","mceNonEditable");ed.onNodeChange.addToTop(function(ed,cm,n){var sc,ec;sc=ed.dom.getParent(ed.selection.getStart(),function(n){return ed.dom.hasClass(n,nonEditClass);});ec=ed.dom.getParent(ed.selection.getEnd(),function(n){return ed.dom.hasClass(n,nonEditClass);});if(sc||ec){t._setDisabled(1);return false;}else t._setDisabled(0);});},getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_block:function(ed,e){var k=e.keyCode;if((k>32&&k<41)||(k>111&&k<124))return;return Event.cancel(e);},_setDisabled:function(s){var t=this,ed=t.editor;tinymce.each(ed.controlManager.controls,function(c){c.setDisabled(s);});if(s!==t.disabled){if(s){ed.onKeyDown.addToTop(t._block);ed.onKeyPress.addToTop(t._block);ed.onKeyUp.addToTop(t._block);ed.onPaste.addToTop(t._block);}else{ed.onKeyDown.remove(t._block);ed.onKeyPress.remove(t._block);ed.onKeyUp.remove(t._block);ed.onPaste.remove(t._block);}t.disabled=s;}}});tinymce.PluginManager.add('noneditable',tinymce.plugins.NonEditablePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js deleted file mode 100644 index 177ea95baa..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.PageBreakPlugin',{init:function(ed,url){var pb='',cls='mcePageBreak',sep=ed.getParam('pagebreak_separator',''),pbRE;pbRE=new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(a){return'\\'+a;}),'g');ed.addCommand('mcePageBreak',function(){ed.execCommand('mceInsertContent',0,pb);});ed.addButton('pagebreak',{title:'pagebreak.desc',cmd:cls});ed.onInit.add(function(){if(ed.settings.content_css!==false)ed.dom.loadCSS(url+"/css/content.css");if(ed.theme.onResolveName){ed.theme.onResolveName.add(function(th,o){if(o.node.nodeName=='IMG'&&ed.dom.hasClass(o.node,cls))o.name='pagebreak';});}});ed.onClick.add(function(ed,e){e=e.target;if(e.nodeName==='IMG'&&ed.dom.hasClass(e,cls))ed.selection.select(e);});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('pagebreak',n.nodeName==='IMG'&&ed.dom.hasClass(n,cls));});ed.onBeforeSetContent.add(function(ed,o){o.content=o.content.replace(pbRE,pb);});ed.onPostProcess.add(function(ed,o){if(o.get)o.content=o.content.replace(/]+>/g,function(im){if(im.indexOf('class="mcePageBreak')!==-1)im=sep;return im;});});},getInfo:function(){return{longname:'PageBreak',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('pagebreak',tinymce.plugins.PageBreakPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif deleted file mode 100644 index e98dd575a9..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm deleted file mode 100644 index 7ba26bd656..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm +++ /dev/null @@ -1,22 +0,0 @@ - - -blank_page - - - - - - - - - diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css deleted file mode 100644 index 6b16bac25a..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css +++ /dev/null @@ -1,14 +0,0 @@ -html, body {height:98%} -body { -background-color: #FFFFFF; -font-family: Verdana, Arial, Helvetica, sans-serif; -font-size: 10px; -scrollbar-3dlight-color: #F0F0EE; -scrollbar-arrow-color: #676662; -scrollbar-base-color: #F0F0EE; -scrollbar-darkshadow-color: #DDDDDD; -scrollbar-face-color: #E0E0DD; -scrollbar-highlight-color: #F0F0EE; -scrollbar-shadow-color: #F0F0EE; -scrollbar-track-color: #F5F5F5; -} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css deleted file mode 100644 index b3be6270bb..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css +++ /dev/null @@ -1,3 +0,0 @@ -.sourceIframe { - border: 1px solid #808080; -} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js deleted file mode 100644 index eeeebd5bb7..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var Event=tinymce.dom.Event;tinymce.create('tinymce.plugins.PastePlugin',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mcePasteText',function(ui,v){if(ui){if((ed.getParam('paste_use_dialog',true))||(!tinymce.isIE)){ed.windowManager.open({file:url+'/pastetext.htm',width:450,height:400,inline:1},{plugin_url:url});}else t._insertText(clipboardData.getData("Text"),true);}else t._insertText(v.html,v.linebreaks);});ed.addCommand('mcePasteWord',function(ui,v){if(ui){if((ed.getParam('paste_use_dialog',true))||(!tinymce.isIE)){ed.windowManager.open({file:url+'/pasteword.htm',width:450,height:400,inline:1},{plugin_url:url});}else t._insertText(t._clipboardHTML());}else t._insertWordContent(v);});ed.addCommand('mceSelectAll',function(){ed.execCommand('selectall');});ed.addButton('pastetext',{title:'paste.paste_text_desc',cmd:'mcePasteText',ui:true});ed.addButton('pasteword',{title:'paste.paste_word_desc',cmd:'mcePasteWord',ui:true});ed.addButton('selectall',{title:'paste.selectall_desc',cmd:'mceSelectAll'});if(ed.getParam("paste_auto_cleanup_on_paste",false)){ed.onPaste.add(function(ed,e){return t._handlePasteEvent(e)});}if(!tinymce.isIE&&ed.getParam("paste_auto_cleanup_on_paste",false)){ed.onKeyDown.add(function(ed,e){if(e.ctrlKey&&e.keyCode==86){window.setTimeout(function(){ed.execCommand("mcePasteText",true);},1);Event.cancel(e);}});}},getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_handlePasteEvent:function(e){var html=this._clipboardHTML(),ed=this.editor,sel=ed.selection,r;if(ed&&(r=sel.getRng())&&r.text.length>0)ed.execCommand('delete');if(html&&html.length>0)ed.execCommand('mcePasteWord',false,html);return Event.cancel(e);},_insertText:function(content,bLinebreaks){content=this.editor.dom.encode(content);if(content&&content.length>0){if(!this.editor.selection.isCollapsed())this.editor.execCommand("Delete");if(bLinebreaks){if(this.editor.getParam("paste_create_paragraphs",true)){var rl=this.editor.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i

    ');content=content.replace(/\r\r/g,'

    ');content=content.replace(/\n\n/g,'

    ');if((pos=content.indexOf('

    '))!=-1){this.editor.execCommand("Delete");var node=this.editor.selection.getNode();var breakElms=[];do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node;}}while(node=node.parentNode);var before="",after="

    ";before+=content.substring(0,pos);for(var i=0;i";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">";}before+="

    ";content=before+content.substring(pos+7)+after;}}if(this.editor.getParam("paste_create_linebreaks",true)){content=content.replace(/\r\n/g,'
    ');content=content.replace(/\r/g,'
    ');content=content.replace(/\n/g,'
    ');}}this.editor.execCommand("mceInsertRawHTML",false,content);}},_insertWordContent:function(content){var t=this,ed=t.editor;if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);if(ed.getParam('paste_insert_word_content_callback'))content=ed.execCallback('paste_insert_word_content_callback','before',content);var rl=ed.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\x93|\x94|\u201c|\u201d,",\x60|\x91|\x92|\u2018|\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i(.*?)<\/p>','gi'),'

    $1

    ');}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)
    ","gi"),"

    "+middot+"$1

    ");content=content.replace(new RegExp('','gi'),""+bull);content=content.replace(/<\/o:p>/gi,"");content=content.replace(new RegExp('
    ]+>/g,"");if(this.editor.getParam("paste_remove_spans",true))content=content.replace(/<\/?span[^>]*>/gi,"");if(this.editor.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(this.editor.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break;}content=content.replace(new RegExp('href="?'+this._reEscape(""+document.location)+'','gi'),'href="'+this.editor.documentBaseURI.getURI());content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*

     <\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!this.editor.getParam('force_p_newlines')){content=content.replace('','','gi');content=content.replace('

    ','

    ','gi');}if(!tinymce.isIE&&!this.editor.getParam('force_p_newlines')){content=content.replace(/<\/?p[^>]*>/gi,"");}content=content.replace(/<\/?div[^>]*>/gi,"");if(this.editor.getParam("paste_convert_middot_lists",true)){var div=ed.dom.create("div",null,content);var className=this.editor.getParam("paste_unindented_list_class","unIndentedList");while(this._convertMiddots(div,"--list--"));while(this._convertMiddots(div,middot,className));while(this._convertMiddots(div,bull));content=div.innerHTML;}if(this.editor.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/ <\/h[1-6]>/gi,'

      

    ');content=content.replace(//gi,'

    ');content=content.replace(/<\/h[1-6]>/gi,'

    ');content=content.replace(/ <\/b>/gi,'  ');content=content.replace(/^( )*/gi,'');}content=content.replace(/--list--/gi,"");if(ed.getParam('paste_insert_word_content_callback'))content=ed.execCallback('paste_insert_word_content_callback','after',content);this.editor.execCommand("mceInsertContent",false,content);if(this.editor.getParam('paste_force_cleanup_wordpaste',true)){var ed=this.editor;window.setTimeout(function(){ed.execCommand("mceCleanup");},1);}}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i 0) - ed.execCommand('delete'); - - if (html && html.length > 0) - ed.execCommand('mcePasteWord', false, html); - - return Event.cancel(e); - }, - - _insertText : function(content, bLinebreaks) { - content = this.editor.dom.encode(content); - - if (content && content.length > 0) { - // Delete any highlighted text before pasting - if (!this.editor.selection.isCollapsed()) - this.editor.execCommand("Delete"); - - if (bLinebreaks) { - // Special paragraph treatment - if (this.editor.getParam("paste_create_paragraphs", true)) { - var rl = this.editor.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); - for (var i=0; i

    '); - content = content.replace(/\r\r/g, '

    '); - content = content.replace(/\n\n/g, '

    '); - - // Has paragraphs - if ((pos = content.indexOf('

    ')) != -1) { - this.editor.execCommand("Delete"); - - var node = this.editor.selection.getNode(); - - // Get list of elements to break - var breakElms = []; - - do { - if (node.nodeType == 1) { - // Don't break tables and break at body - if (node.nodeName == "TD" || node.nodeName == "BODY") - break; - - breakElms[breakElms.length] = node; - } - } while(node = node.parentNode); - - var before = "", after = "

    "; - before += content.substring(0, pos); - - for (var i=0; i"; - after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; - } - - before += "

    "; - content = before + content.substring(pos+7) + after; - } - } - - if (this.editor.getParam("paste_create_linebreaks", true)) { - content = content.replace(/\r\n/g, '
    '); - content = content.replace(/\r/g, '
    '); - content = content.replace(/\n/g, '
    '); - } - } - - this.editor.execCommand("mceInsertRawHTML", false, content); - } - }, - - _insertWordContent : function(content) { - var t = this, ed = t.editor; - - if (content && content.length > 0) { - // Cleanup Word content - var bull = String.fromCharCode(8226); - var middot = String.fromCharCode(183); - - if (ed.getParam('paste_insert_word_content_callback')) - content = ed.execCallback('paste_insert_word_content_callback', 'before', content); - - var rl = ed.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\x93|\x94|\u201c|\u201d,",\x60|\x91|\x92|\u2018|\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); - for (var i=0; i(.*?)<\/p>', 'gi'), '

    $1

    '); - } - - content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--"); - content = content.replace(new RegExp(bull + "(.*?)
    ", "gi"), "

    " + middot + "$1

    "); - content = content.replace(new RegExp('', 'gi'), "" + bull); // Covert to bull list - content = content.replace(/<\/o:p>/gi, ""); - content = content.replace(new RegExp('
    ]+>/g, ""); // Header elements - - if (this.editor.getParam("paste_remove_spans", true)) - content = content.replace(/<\/?span[^>]*>/gi, ""); - - if (this.editor.getParam("paste_remove_styles", true)) - content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3"); - - content = content.replace(/<\/?font[^>]*>/gi, ""); - - // Strips class attributes. - switch (this.editor.getParam("paste_strip_class_attributes", "all")) { - case "all": - content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3"); - break; - - case "mso": - content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3"); - break; - } - - content = content.replace(new RegExp('href="?' + this._reEscape("" + document.location) + '', 'gi'), 'href="' + this.editor.documentBaseURI.getURI()); - content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3"); - content = content.replace(/<\\?\?xml[^>]*>/gi, ""); - content = content.replace(/<\/?\w+:[^>]*>/gi, ""); - content = content.replace(/-- page break --\s*

     <\/p>/gi, ""); // Remove pagebreaks - content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks - - // content = content.replace(/\/? */gi, "");   - // content = content.replace(/

     <\/p>/gi, ''); - - if (!this.editor.getParam('force_p_newlines')) { - content = content.replace('', '' ,'gi'); - content = content.replace('

    ', '

    ' ,'gi'); - } - - if (!tinymce.isIE && !this.editor.getParam('force_p_newlines')) { - content = content.replace(/<\/?p[^>]*>/gi, ""); - } - - content = content.replace(/<\/?div[^>]*>/gi, ""); - - // Convert all middlot lists to UL lists - if (this.editor.getParam("paste_convert_middot_lists", true)) { - var div = ed.dom.create("div", null, content); - - // Convert all middot paragraphs to li elements - var className = this.editor.getParam("paste_unindented_list_class", "unIndentedList"); - - while (this._convertMiddots(div, "--list--")) ; // bull - while (this._convertMiddots(div, middot, className)) ; // Middot - while (this._convertMiddots(div, bull)) ; // bull - - content = div.innerHTML; - } - - // Replace all headers with strong and fix some other issues - if (this.editor.getParam("paste_convert_headers_to_strong", false)) { - content = content.replace(/ <\/h[1-6]>/gi, '

      

    '); - content = content.replace(//gi, '

    '); - content = content.replace(/<\/h[1-6]>/gi, '

    '); - content = content.replace(/ <\/b>/gi, '  '); - content = content.replace(/^( )*/gi, ''); - } - - content = content.replace(/--list--/gi, ""); // Remove --list-- - - if (ed.getParam('paste_insert_word_content_callback')) - content = ed.execCallback('paste_insert_word_content_callback', 'after', content); - - // Insert cleaned content - this.editor.execCommand("mceInsertContent", false, content); - - if (this.editor.getParam('paste_force_cleanup_wordpaste', true)) { - var ed = this.editor; - - window.setTimeout(function() { - ed.execCommand("mceCleanup"); - }, 1); // Do normal cleanup detached from this thread - } - } - }, - - _reEscape : function(s) { - var l = "?.\\*[](){}+^$:"; - var o = ""; - - for (var i=0; i - - {#paste.paste_text_desc} - - - - - - - -
    {#paste.paste_text_desc}
    - -
    - -
    - -
    - -
    {#paste_dlg.text_title}
    - - - -
    -
    - -
    - -
    - -
    -
    - - - \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js deleted file mode 100644 index deb4bce93f..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.Preview',{init:function(ed,url){var t=this,css=tinymce.explode(ed.settings.content_css);t.editor=ed;tinymce.each(css,function(u,k){css[k]=ed.documentBaseURI.toAbsolute(u);});ed.addCommand('mcePreview',function(){ed.windowManager.open({file:ed.getParam("plugin_preview_pageurl",url+"/preview.html"),width:parseInt(ed.getParam("plugin_preview_width","550")),height:parseInt(ed.getParam("plugin_preview_height","600")),resizable:"yes",scrollbars:"yes",popup_css:css.join(','),inline:ed.getParam("plugin_preview_inline",1)},{base:ed.documentBaseURI.getURI()});});ed.addButton('preview',{title:'preview.preview_desc',cmd:'mcePreview'});},getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('preview',tinymce.plugins.Preview);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js deleted file mode 100644 index 7d09a87c44..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.Print',{init:function(ed,url){ed.addCommand('mcePrint',function(){ed.getWin().print();});ed.addButton('print',{title:'print.print_desc',cmd:'mcePrint'});},getInfo:function(){return{longname:'Print',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('print',tinymce.plugins.Print);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js deleted file mode 100644 index 4e1a6800b3..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var Event=tinymce.dom.Event,grep=tinymce.grep,each=tinymce.each,inArray=tinymce.inArray,isOldWebKit=tinymce.isOldWebKit;function isEmpty(d,e,f){var w,n;w=d.createTreeWalker(e,NodeFilter.SHOW_ALL,null,false);while(n=w.nextNode()){if(f){if(!f(n))return false;}if(n.nodeType==3&&n.nodeValue&&/[^\s\u00a0]+/.test(n.nodeValue))return false;if(n.nodeType==1&&/^(HR|IMG|TABLE)$/.test(n.nodeName))return false;}return true;};tinymce.create('tinymce.plugins.Safari',{init:function(ed){var t=this,dom;if(!tinymce.isWebKit)return;t.editor=ed;t.webKitFontSizes=['x-small','small','medium','large','x-large','xx-large','-webkit-xxx-large'];t.namedFontSizes=['xx-small','x-small','small','medium','large','x-large','xx-large'];ed.addCommand('CreateLink',function(u,v){var n=ed.selection.getNode(),dom=ed.dom,a;if(n&&(/^(left|right)$/i.test(dom.getStyle(n,'float',1))||/^(left|right)$/i.test(dom.getAttrib(n,'align')))){a=dom.create('a',{href:v},n.cloneNode());n.parentNode.replaceChild(a,n);ed.selection.select(a);}else ed.getDoc().execCommand("CreateLink",false,v);});ed.onPaste.add(function(ed,e){function removeStyles(e){e=e.target;if(e.nodeType==1){e.style.cssText='';each(ed.dom.select('*',e),function(e){e.style.cssText='';});}};Event.add(ed.getDoc(),'DOMNodeInserted',removeStyles);window.setTimeout(function(){Event.remove(ed.getDoc(),'DOMNodeInserted',removeStyles);},0);});ed.onKeyUp.add(function(ed,e){var h,b;if(e.keyCode==46||e.keyCode==8){b=ed.getBody();h=b.innerHTML;if(b.childNodes.length==1&&!/<(img|hr)/.test(h)&&tinymce.trim(h.replace(/<[^>]+>/g,'')).length==0)ed.setContent('',{format:'raw'});}});ed.addCommand('FormatBlock',function(u,v){var dom=ed.dom,e=dom.getParent(ed.selection.getNode(),dom.isBlock);if(e)dom.replace(dom.create(v),e,1);else ed.getDoc().execCommand("FormatBlock",false,v);});ed.addCommand('mceInsertContent',function(u,v){ed.getDoc().execCommand("InsertText",false,'mce_marker');ed.getBody().innerHTML=ed.getBody().innerHTML.replace(/mce_marker/g,v+'XX');ed.selection.select(ed.dom.get('_mce_tmp'));ed.getDoc().execCommand("Delete",false,' ');});ed.onKeyPress.add(function(ed,e){var se,li,lic,r1,r2,n,sel,doc,be,af,pa;if(e.keyCode==13){sel=ed.selection;se=sel.getNode();if(e.shiftKey||ed.settings.force_br_newlines&&se.nodeName!='LI'){t._insertBR(ed);Event.cancel(e);}if(li=dom.getParent(se,'LI')){lic=dom.getParent(li,'OL,UL');doc=ed.getDoc();pa=dom.create('p');dom.add(pa,'br',{mce_bogus:"1"});if(isEmpty(doc,li)){if(n=dom.getParent(lic.parentNode,'LI,OL,UL'))return;n=dom.getParent(lic,'p,h1,h2,h3,h4,h5,h6,div')||lic;r1=doc.createRange();r1.setStartBefore(n);r1.setEndBefore(li);r2=doc.createRange();r2.setStartAfter(li);r2.setEndAfter(n);be=r1.cloneContents();af=r2.cloneContents();if(!isEmpty(doc,af))dom.insertAfter(af,n);dom.insertAfter(pa,n);if(!isEmpty(doc,be))dom.insertAfter(be,n);dom.remove(n);n=pa.firstChild;r1=doc.createRange();r1.setStartBefore(n);r1.setEndBefore(n);sel.setRng(r1);return Event.cancel(e);}}}});ed.onClick.add(function(ed,e){e=e.target;if(e.nodeName=='IMG'){t.selElm=e;ed.selection.select(e);}else t.selElm=null;});ed.onInit.add(function(){t._fixWebKitSpans();if(isOldWebKit)t._patchSafari2x(ed);});ed.onSetContent.add(function(){dom=ed.dom;each(['strong','b','em','u','strike','sub','sup','a'],function(v){each(grep(dom.select(v)).reverse(),function(n){var nn=n.nodeName.toLowerCase(),st;if(nn=='a'){if(n.name)dom.replace(dom.create('img',{mce_name:'a',name:n.name,'class':'mceItemAnchor'}),n);return;}switch(nn){case'b':case'strong':if(nn=='b')nn='strong';st='font-weight: bold;';break;case'em':st='font-style: italic;';break;case'u':st='text-decoration: underline;';break;case'sub':st='vertical-align: sub;';break;case'sup':st='vertical-align: super;';break;case'strike':st='text-decoration: line-through;';break;}dom.replace(dom.create('span',{mce_name:nn,style:st,'class':'Apple-style-span'}),n,1);});});});ed.onPreProcess.add(function(ed,o){dom=ed.dom;each(grep(o.node.getElementsByTagName('span')).reverse(),function(n){var v,bg;if(o.get){if(dom.hasClass(n,'Apple-style-span')){bg=n.style.backgroundColor;switch(dom.getAttrib(n,'mce_name')){case'font':if(!ed.settings.convert_fonts_to_spans)dom.setAttrib(n,'style','');break;case'strong':case'em':case'sub':case'sup':dom.setAttrib(n,'style','');break;case'strike':case'u':if(!ed.settings.inline_styles)dom.setAttrib(n,'style','');else dom.setAttrib(n,'mce_name','');break;default:if(!ed.settings.inline_styles)dom.setAttrib(n,'style','');}if(bg)n.style.backgroundColor=bg;}}if(dom.hasClass(n,'mceItemRemoved'))dom.remove(n,1);});});ed.onPostProcess.add(function(ed,o){o.content=o.content.replace(/
    <\/(h[1-6]|div|p|address|pre)>/g,'');o.content=o.content.replace(/ id=\"undefined\"/g,'');});},getInfo:function(){return{longname:'Safari compatibility',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/safari',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_fixWebKitSpans:function(){var t=this,ed=t.editor;if(!isOldWebKit){Event.add(ed.getDoc(),'DOMNodeInserted',function(e){e=e.target;if(e&&e.nodeType==1)t._fixAppleSpan(e);});}else{ed.onExecCommand.add(function(){each(ed.dom.select('span'),function(n){t._fixAppleSpan(n);});ed.nodeChanged();});}},_fixAppleSpan:function(e){var ed=this.editor,dom=ed.dom,fz=this.webKitFontSizes,fzn=this.namedFontSizes,s=ed.settings,st,p;if(dom.getAttrib(e,'mce_fixed'))return;if(e.nodeName=='SPAN'&&e.className=='Apple-style-span'){st=e.style;if(!s.convert_fonts_to_spans){if(st.fontSize){dom.setAttrib(e,'mce_name','font');dom.setAttrib(e,'size',inArray(fz,st.fontSize)+1);}if(st.fontFamily){dom.setAttrib(e,'mce_name','font');dom.setAttrib(e,'face',st.fontFamily);}if(st.color){dom.setAttrib(e,'mce_name','font');dom.setAttrib(e,'color',dom.toHex(st.color));}if(st.backgroundColor){dom.setAttrib(e,'mce_name','font');dom.setStyle(e,'background-color',st.backgroundColor);}}else{if(st.fontSize)dom.setStyle(e,'fontSize',fzn[inArray(fz,st.fontSize)]);}if(st.fontWeight=='bold')dom.setAttrib(e,'mce_name','strong');if(st.fontStyle=='italic')dom.setAttrib(e,'mce_name','em');if(st.textDecoration=='underline')dom.setAttrib(e,'mce_name','u');if(st.textDecoration=='line-through')dom.setAttrib(e,'mce_name','strike');if(st.verticalAlign=='super')dom.setAttrib(e,'mce_name','sup');if(st.verticalAlign=='sub')dom.setAttrib(e,'mce_name','sub');dom.setAttrib(e,'mce_fixed','1');}},_patchSafari2x:function(ed){var t=this,setContent,getNode,dom=ed.dom,lr;if(ed.windowManager.onBeforeOpen){ed.windowManager.onBeforeOpen.add(function(){r=ed.selection.getRng();});}ed.selection.select=function(n){this.getSel().setBaseAndExtent(n,0,n,1);};getNode=ed.selection.getNode;ed.selection.getNode=function(){return t.selElm||getNode.call(this);};ed.selection.getRng=function(){var t=this,s=t.getSel(),d=ed.getDoc(),r,rb,ra,di;if(s.anchorNode){r=d.createRange();try{rb=d.createRange();rb.setStart(s.anchorNode,s.anchorOffset);rb.collapse(1);ra=d.createRange();ra.setStart(s.focusNode,s.focusOffset);ra.collapse(1);di=rb.compareBoundaryPoints(rb.START_TO_END,ra)<0;r.setStart(di?s.anchorNode:s.focusNode,di?s.anchorOffset:s.focusOffset);r.setEnd(di?s.focusNode:s.anchorNode,di?s.focusOffset:s.anchorOffset);lr=r;}catch(ex){}}return r||lr;};setContent=ed.selection.setContent;ed.selection.setContent=function(h,s){var r=this.getRng(),b;try{setContent.call(this,h,s);}catch(ex){b=dom.create('body');b.innerHTML=h;each(b.childNodes,function(n){r.insertNode(n.cloneNode(true));});}};},_insertBR:function(ed){var dom=ed.dom,s=ed.selection,r=s.getRng(),br;r.insertNode(br=dom.create('br'));r.setStartAfter(br);r.setEndAfter(br);s.setRng(r);if(s.getSel().focusNode==br.previousSibling){s.select(dom.insertAfter(dom.doc.createTextNode('\u00a0'),br));s.collapse(1);}ed.getWin().scrollTo(0,dom.getPos(s.getRng().startContainer).y);}});tinymce.PluginManager.add('safari',tinymce.plugins.Safari);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js deleted file mode 100644 index 8a13e7d357..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.Save',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceSave',t._save,t);ed.addCommand('mceCancel',t._cancel,t);ed.addButton('save',{title:'save.save_desc',cmd:'mceSave'});ed.addButton('cancel',{title:'save.cancel_desc',cmd:'mceCancel'});ed.onNodeChange.add(t._nodeChange,t);ed.addShortcut('ctrl+s',ed.getLang('save.save_desc'),'mceSave');},getInfo:function(){return{longname:'Save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_nodeChange:function(ed,cm,n){var ed=this.editor;if(ed.getParam('save_enablewhendirty')){cm.setDisabled('save',!ed.isDirty());cm.setDisabled('cancel',!ed.isDirty());}},_save:function(){var ed=this.editor,formObj,os,i,elementId;formObj=tinymce.DOM.get(ed.id).form||tinymce.DOM.getParent(ed.id,'form');if(ed.getParam("save_enablewhendirty")&&!ed.isDirty())return;tinyMCE.triggerSave();if(os=ed.getParam("save_onsavecallback")){if(ed.execCallback('save_onsavecallback',ed)){ed.startContent=tinymce.trim(ed.getContent({format:'raw'}));ed.nodeChanged();}return;}if(formObj){ed.isNotDirty=true;if(formObj.onsubmit==null||formObj.onsubmit()!=false)formObj.submit();ed.nodeChanged();}else ed.windowManager.alert("Error: No form element found.");},_cancel:function(){var ed=this.editor,os,h=tinymce.trim(ed.startContent);if(os=ed.getParam("save_oncancelcallback")){ed.execCallback('save_oncancelcallback',ed);return;}ed.setContent(h);ed.undoManager.clear();ed.nodeChanged();}});tinymce.PluginManager.add('save',tinymce.plugins.Save);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js deleted file mode 100644 index 7fd913b2b8..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.SearchReplacePlugin',{init:function(ed,url){function open(m){ed.windowManager.open({file:url+'/searchreplace.htm',width:420+parseInt(ed.getLang('searchreplace.delta_width',0)),height:160+parseInt(ed.getLang('searchreplace.delta_height',0)),inline:1,auto_focus:0},{mode:m,search_string:ed.selection.getContent({format:'text'}),plugin_url:url});};ed.addCommand('mceSearch',function(){open('search');});ed.addCommand('mceReplace',function(){open('replace');});ed.addButton('search',{title:'searchreplace.search_desc',cmd:'mceSearch'});ed.addButton('replace',{title:'searchreplace.replace_desc',cmd:'mceReplace'});ed.addShortcut('ctrl+f','searchreplace.search_desc','mceSearch');},getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('searchreplace',tinymce.plugins.SearchReplacePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/changelog b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/changelog deleted file mode 100644 index c21f2f4a25..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/changelog +++ /dev/null @@ -1,20 +0,0 @@ -Version 2.0.2 (2008-04-30) - Added new EnchantSpell engine class contributed by Michel Weimerskirch. - Added new general.remote_rpc_url option, enables you to proxy requests to another server. - Fixed security hole in PSpellShell.php file if PSpellShell engine was used. -Version 2.0.1 (2008-03-07) - Fixed bug where spellchecker was auto focusing the editor in IE. -Version 2.0 (2008-01-30) - Fixed bug where the suggestions menu was placed at an incorrect location. -Version 2.0rc1 (2008-01-14) - Moved package from beta to release candidate. -Version 2.0b3 (2007-12-xx) - Fixed bug where the suggestions menu could appear at the wrong location. -Version 2.0b2 (2007-11-29) - Fixed bug where the spellchecker was removing the word when it was ignored. -Version 2.0b1 (2007-11-21) - Moved spellchecker from alpha to beta status. -Version 2.0a2 (2007-11-13) - Updated plugin so it works correctly with the TinyMCE 3.0a3 version. -Version 2.0a1 (2007-11-01) - Rewritten version for TinyMCE 3.0 this new version uses JSON RPC. diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/EnchantSpell.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/EnchantSpell.php deleted file mode 100644 index d37a030246..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/EnchantSpell.php +++ /dev/null @@ -1,66 +0,0 @@ -= 1.4.1 - * @param Array $words Array of words to check. - * @return Array of misspelled words. - */ - function &checkWords($lang, $words) { - $r = enchant_broker_init(); - - if (enchant_broker_dict_exists($r,$lang)) { - $d = enchant_broker_request_dict($r, $lang); - - $returnData = array(); - foreach($words as $key => $value) { - $correct = enchant_dict_check($d, $value); - if(!$correct) { - $returnData[] = trim($value); - } - } - - return $returnData; - enchant_broker_free_dict($d); - } else { - - } - enchant_broker_free($r); - } - - /** - * Returns suggestions for a specific word. - * - * @param String $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1 - * @param String $word Specific word to get suggestions for. - * @return Array of suggestions for the specified word. - */ - function &getSuggestions($lang, $word) { - $r = enchant_broker_init(); - $suggs = array(); - - if (enchant_broker_dict_exists($r,$lang)) { - $d = enchant_broker_request_dict($r, $lang); - $suggs = enchant_dict_suggest($d, $word); - - enchant_broker_free_dict($d); - } else { - - } - enchant_broker_free($r); - - return $suggs; - } -} - -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php deleted file mode 100644 index 72ad776960..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php +++ /dev/null @@ -1,158 +0,0 @@ -_getMatches($lang, $wordstr); - $words = array(); - - for ($i=0; $i_unhtmlentities(mb_substr($wordstr, $matches[$i][1], $matches[$i][2], "UTF-8")); - - return $words; - } - - /** - * Returns suggestions of for a specific word. - * - * @param {String} $lang Language code like sv or en. - * @param {String} $word Specific word to get suggestions for. - * @return {Array} Array of suggestions for the specified word. - */ - function &getSuggestions($lang, $word) { - $sug = array(); - $osug = array(); - $matches = $this->_getMatches($lang, $word); - - if (count($matches) > 0) - $sug = explode("\t", utf8_encode($this->_unhtmlentities($matches[0][4]))); - - // Remove empty - foreach ($sug as $item) { - if ($item) - $osug[] = $item; - } - - return $osug; - } - - function &_getMatches($lang, $str) { - $server = "www.google.com"; - $port = 443; - $path = "/tbproxy/spell?lang=" . $lang . "&hl=en"; - $host = "www.google.com"; - $url = "https://" . $server; - - // Setup XML request - $xml = '' . $str . ''; - - $header = "POST ".$path." HTTP/1.0 \r\n"; - $header .= "MIME-Version: 1.0 \r\n"; - $header .= "Content-type: application/PTI26 \r\n"; - $header .= "Content-length: ".strlen($xml)." \r\n"; - $header .= "Content-transfer-encoding: text \r\n"; - $header .= "Request-number: 1 \r\n"; - $header .= "Document-type: Request \r\n"; - $header .= "Interface-Version: Test 1.4 \r\n"; - $header .= "Connection: close \r\n\r\n"; - $header .= $xml; - - // Use curl if it exists - if (function_exists('curl_init')) { - // Use curl - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL,$url); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); - $xml = curl_exec($ch); - curl_close($ch); - } else { - // Use raw sockets - $fp = fsockopen("ssl://" . $server, $port, $errno, $errstr, 30); - if ($fp) { - // Send request - fwrite($fp, $header); - - // Read response - $xml = ""; - while (!feof($fp)) - $xml .= fgets($fp, 128); - - fclose($fp); - } else - echo "Could not open SSL connection to google."; - } - - // Grab and parse content - $matches = array(); - preg_match_all('/([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER); - - return $matches; - } - - function _unhtmlentities($string) { - $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string); - $string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string); - - $trans_tbl = get_html_translation_table(HTML_ENTITIES); - $trans_tbl = array_flip($trans_tbl); - - return strtr($string, $trans_tbl); - } -} - -// Patch in multibyte support -if (!function_exists('mb_substr')) { - function mb_substr($str, $start, $len = '', $encoding="UTF-8"){ - $limit = strlen($str); - - for ($s = 0; $start > 0;--$start) {// found the real start - if ($s >= $limit) - break; - - if ($str[$s] <= "\x7F") - ++$s; - else { - ++$s; // skip length - - while ($str[$s] >= "\x80" && $str[$s] <= "\xBF") - ++$s; - } - } - - if ($len == '') - return substr($str, $s); - else - for ($e = $s; $len > 0; --$len) {//found the real end - if ($e >= $limit) - break; - - if ($str[$e] <= "\x7F") - ++$e; - else { - ++$e;//skip length - - while ($str[$e] >= "\x80" && $str[$e] <= "\xBF" && $e < $limit) - ++$e; - } - } - - return substr($str, $s, $e - $s); - } -} - -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpell.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpell.php deleted file mode 100644 index 25123785b2..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpell.php +++ /dev/null @@ -1,81 +0,0 @@ -_getPLink($lang); - - $outWords = array(); - foreach ($words as $word) { - if (!pspell_check($plink, trim($word))) - $outWords[] = utf8_encode($word); - } - - return $outWords; - } - - /** - * Returns suggestions of for a specific word. - * - * @param {String} $lang Language code like sv or en. - * @param {String} $word Specific word to get suggestions for. - * @return {Array} Array of suggestions for the specified word. - */ - function &getSuggestions($lang, $word) { - $words = pspell_suggest($this->_getPLink($lang), $word); - - for ($i=0; $ithrowError("PSpell support not found in PHP installation."); - - // Setup PSpell link - $plink = pspell_new( - $lang, - $this->_config['PSpell.spelling'], - $this->_config['PSpell.jargon'], - $this->_config['PSpell.encoding'], - $this->_config['PSpell.mode'] - ); - - // Setup PSpell link -/* if (!$plink) { - $pspellConfig = pspell_config_create( - $lang, - $this->_config['PSpell.spelling'], - $this->_config['PSpell.jargon'], - $this->_config['PSpell.encoding'] - ); - - $plink = pspell_new_config($pspell_config); - }*/ - - if (!$plink) - $this->throwError("No PSpell link found opened."); - - return $plink; - } -} - -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpellShell.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpellShell.php deleted file mode 100644 index 1b1569b465..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpellShell.php +++ /dev/null @@ -1,112 +0,0 @@ -_getCMD($lang); - - if ($fh = fopen($this->_tmpfile, "w")) { - fwrite($fh, "!\n"); - - foreach($words as $key => $value) - fwrite($fh, "^" . $value . "\n"); - - fclose($fh); - } else - $this->throwError("PSpell support was not found."); - - $data = shell_exec($cmd); - @unlink($this->_tmpfile); - - $returnData = array(); - $dataArr = preg_split("/[\r\n]/", $data, -1, PREG_SPLIT_NO_EMPTY); - - foreach ($dataArr as $dstr) { - $matches = array(); - - // Skip this line. - if (strpos($dstr, "@") === 0) - continue; - - preg_match("/\& ([^ ]+) .*/i", $dstr, $matches); - - if (!empty($matches[1])) - $returnData[] = utf8_encode(trim($matches[1])); - } - - return $returnData; - } - - /** - * Returns suggestions of for a specific word. - * - * @param {String} $lang Language code like sv or en. - * @param {String} $word Specific word to get suggestions for. - * @return {Array} Array of suggestions for the specified word. - */ - function &getSuggestions($lang, $word) { - $cmd = $this->_getCMD($lang); - - if (function_exists("mb_convert_encoding")) - $word = mb_convert_encoding($word, "ISO-8859-1", mb_detect_encoding($word, "UTF-8")); - else - $word = utf8_encode($word); - - if ($fh = fopen($this->_tmpfile, "w")) { - fwrite($fh, "!\n"); - fwrite($fh, "^$word\n"); - fclose($fh); - } else - $this->throwError("Error opening tmp file."); - - $data = shell_exec($cmd); - @unlink($this->_tmpfile); - - $returnData = array(); - $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); - - foreach($dataArr as $dstr) { - $matches = array(); - - // Skip this line. - if (strpos($dstr, "@") === 0) - continue; - - preg_match("/\&[^:]+:(.*)/i", $dstr, $matches); - - if (!empty($matches[1])) { - $words = array_slice(explode(',', $matches[1]), 0, 10); - - for ($i=0; $i_tmpfile = tempnam($this->_config['PSpellShell.tmp'], "tinyspell"); - - if(preg_match("#win#i", php_uname())) - return $this->_config['PSpellShell.aspell'] . " -a --lang=". escapeshellarg($lang) . " --encoding=utf-8 -H < " . $this->_tmpfile . " 2>&1"; - - return "cat ". $this->_tmpfile ." | " . $this->_config['PSpellShell.aspell'] . " -a --encoding=utf-8 -H --lang=". escapeshellarg($lang); - } -} - -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/SpellChecker.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/SpellChecker.php deleted file mode 100644 index 2e48c35717..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/SpellChecker.php +++ /dev/null @@ -1,61 +0,0 @@ -_config = $config; - } - - /** - * Simple loopback function everything that gets in will be send back. - * - * @param $args.. Arguments. - * @return {Array} Array of all input arguments. - */ - function &loopback(/* args.. */) { - return func_get_args(); - } - - /** - * Spellchecks an array of words. - * - * @param {String} $lang Language code like sv or en. - * @param {Array} $words Array of words to spellcheck. - * @return {Array} Array of misspelled words. - */ - function &checkWords($lang, $words) { - return $words; - } - - /** - * Returns suggestions of for a specific word. - * - * @param {String} $lang Language code like sv or en. - * @param {String} $word Specific word to get suggestions for. - * @return {Array} Array of suggestions for the specified word. - */ - function &getSuggestions($lang, $word) { - return array(); - } - - /** - * Throws an error message back to the user. This will stop all execution. - * - * @param {String} $str Message to send back to user. - */ - function throwError($str) { - die('{"result":null,"id":null,"error":{"errstr":"' . addslashes_js($str) . '","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}'); - } -} - -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/utils/JSON.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/utils/JSON.php deleted file mode 100644 index e676840bb3..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/utils/JSON.php +++ /dev/null @@ -1,595 +0,0 @@ -_data = $data; - $this->_len = strlen($data); - $this->_pos = -1; - $this->_location = JSON_IN_BETWEEN; - $this->_lastLocations = array(); - $this->_needProp = false; - } - - function getToken() { - return $this->_token; - } - - function getLocation() { - return $this->_location; - } - - function getTokenName() { - switch ($this->_token) { - case JSON_BOOL: - return 'JSON_BOOL'; - - case JSON_INT: - return 'JSON_INT'; - - case JSON_STR: - return 'JSON_STR'; - - case JSON_FLOAT: - return 'JSON_FLOAT'; - - case JSON_NULL: - return 'JSON_NULL'; - - case JSON_START_OBJ: - return 'JSON_START_OBJ'; - - case JSON_END_OBJ: - return 'JSON_END_OBJ'; - - case JSON_START_ARRAY: - return 'JSON_START_ARRAY'; - - case JSON_END_ARRAY: - return 'JSON_END_ARRAY'; - - case JSON_KEY: - return 'JSON_KEY'; - } - - return 'UNKNOWN'; - } - - function getValue() { - return $this->_value; - } - - function readToken() { - $chr = $this->read(); - - if ($chr != null) { - switch ($chr) { - case '[': - $this->_lastLocation[] = $this->_location; - $this->_location = JSON_IN_ARRAY; - $this->_token = JSON_START_ARRAY; - $this->_value = null; - $this->readAway(); - return true; - - case ']': - $this->_location = array_pop($this->_lastLocation); - $this->_token = JSON_END_ARRAY; - $this->_value = null; - $this->readAway(); - - if ($this->_location == JSON_IN_OBJECT) - $this->_needProp = true; - - return true; - - case '{': - $this->_lastLocation[] = $this->_location; - $this->_location = JSON_IN_OBJECT; - $this->_needProp = true; - $this->_token = JSON_START_OBJ; - $this->_value = null; - $this->readAway(); - return true; - - case '}': - $this->_location = array_pop($this->_lastLocation); - $this->_token = JSON_END_OBJ; - $this->_value = null; - $this->readAway(); - - if ($this->_location == JSON_IN_OBJECT) - $this->_needProp = true; - - return true; - - // String - case '"': - case '\'': - return $this->_readString($chr); - - // Null - case 'n': - return $this->_readNull(); - - // Bool - case 't': - case 'f': - return $this->_readBool($chr); - - default: - // Is number - if (is_numeric($chr) || $chr == '-' || $chr == '.') - return $this->_readNumber($chr); - - return true; - } - } - - return false; - } - - function _readBool($chr) { - $this->_token = JSON_BOOL; - $this->_value = $chr == 't'; - - if ($chr == 't') - $this->skip(3); // rue - else - $this->skip(4); // alse - - $this->readAway(); - - if ($this->_location == JSON_IN_OBJECT && !$this->_needProp) - $this->_needProp = true; - - return true; - } - - function _readNull() { - $this->_token = JSON_NULL; - $this->_value = null; - - $this->skip(3); // ull - $this->readAway(); - - if ($this->_location == JSON_IN_OBJECT && !$this->_needProp) - $this->_needProp = true; - - return true; - } - - function _readString($quote) { - $output = ""; - $this->_token = JSON_STR; - $endString = false; - - while (($chr = $this->peek()) != -1) { - switch ($chr) { - case '\\': - // Read away slash - $this->read(); - - // Read escape code - $chr = $this->read(); - switch ($chr) { - case 't': - $output .= "\t"; - break; - - case 'b': - $output .= "\b"; - break; - - case 'f': - $output .= "\f"; - break; - - case 'r': - $output .= "\r"; - break; - - case 'n': - $output .= "\n"; - break; - - case 'u': - $output .= $this->_int2utf8(hexdec($this->read(4))); - break; - - default: - $output .= $chr; - break; - } - - break; - - case '\'': - case '"': - if ($chr == $quote) - $endString = true; - - $chr = $this->read(); - if ($chr != -1 && $chr != $quote) - $output .= $chr; - - break; - - default: - $output .= $this->read(); - } - - // String terminated - if ($endString) - break; - } - - $this->readAway(); - $this->_value = $output; - - // Needed a property - if ($this->_needProp) { - $this->_token = JSON_KEY; - $this->_needProp = false; - return true; - } - - if ($this->_location == JSON_IN_OBJECT && !$this->_needProp) - $this->_needProp = true; - - return true; - } - - function _int2utf8($int) { - $int = intval($int); - - switch ($int) { - case 0: - return chr(0); - - case ($int & 0x7F): - return chr($int); - - case ($int & 0x7FF): - return chr(0xC0 | (($int >> 6) & 0x1F)) . chr(0x80 | ($int & 0x3F)); - - case ($int & 0xFFFF): - return chr(0xE0 | (($int >> 12) & 0x0F)) . chr(0x80 | (($int >> 6) & 0x3F)) . chr (0x80 | ($int & 0x3F)); - - case ($int & 0x1FFFFF): - return chr(0xF0 | ($int >> 18)) . chr(0x80 | (($int >> 12) & 0x3F)) . chr(0x80 | (($int >> 6) & 0x3F)) . chr(0x80 | ($int & 0x3F)); - } - } - - function _readNumber($start) { - $value = ""; - $isFloat = false; - - $this->_token = JSON_INT; - $value .= $start; - - while (($chr = $this->peek()) != -1) { - if (is_numeric($chr) || $chr == '-' || $chr == '.') { - if ($chr == '.') - $isFloat = true; - - $value .= $this->read(); - } else - break; - } - - $this->readAway(); - - if ($isFloat) { - $this->_token = JSON_FLOAT; - $this->_value = floatval($value); - } else - $this->_value = intval($value); - - if ($this->_location == JSON_IN_OBJECT && !$this->_needProp) - $this->_needProp = true; - - return true; - } - - function readAway() { - while (($chr = $this->peek()) != null) { - if ($chr != ':' && $chr != ',' && $chr != ' ') - return; - - $this->read(); - } - } - - function read($len = 1) { - if ($this->_pos < $this->_len) { - if ($len > 1) { - $str = substr($this->_data, $this->_pos + 1, $len); - $this->_pos += $len; - - return $str; - } else - return $this->_data[++$this->_pos]; - } - - return null; - } - - function skip($len) { - $this->_pos += $len; - } - - function peek() { - if ($this->_pos < $this->_len) - return $this->_data[$this->_pos + 1]; - - return null; - } -} - -/** - * This class handles JSON stuff. - * - * @package MCManager.utils - */ -class Moxiecode_JSON { - function Moxiecode_JSON() { - } - - function decode($input) { - $reader = new Moxiecode_JSONReader($input); - - return $this->readValue($reader); - } - - function readValue(&$reader) { - $this->data = array(); - $this->parents = array(); - $this->cur =& $this->data; - $key = null; - $loc = JSON_IN_ARRAY; - - while ($reader->readToken()) { - switch ($reader->getToken()) { - case JSON_STR: - case JSON_INT: - case JSON_BOOL: - case JSON_FLOAT: - case JSON_NULL: - switch ($reader->getLocation()) { - case JSON_IN_OBJECT: - $this->cur[$key] = $reader->getValue(); - break; - - case JSON_IN_ARRAY: - $this->cur[] = $reader->getValue(); - break; - - default: - return $reader->getValue(); - } - break; - - case JSON_KEY: - $key = $reader->getValue(); - break; - - case JSON_START_OBJ: - case JSON_START_ARRAY: - if ($loc == JSON_IN_OBJECT) - $this->addArray($key); - else - $this->addArray(null); - - $cur =& $obj; - - $loc = $reader->getLocation(); - break; - - case JSON_END_OBJ: - case JSON_END_ARRAY: - $loc = $reader->getLocation(); - - if (count($this->parents) > 0) { - $this->cur =& $this->parents[count($this->parents) - 1]; - array_pop($this->parents); - } - break; - } - } - - return $this->data[0]; - } - - // This method was needed since PHP is crapy and doesn't have pointers/references - function addArray($key) { - $this->parents[] =& $this->cur; - $ar = array(); - - if ($key) - $this->cur[$key] =& $ar; - else - $this->cur[] =& $ar; - - $this->cur =& $ar; - } - - function getDelim($index, &$reader) { - switch ($reader->getLocation()) { - case JSON_IN_ARRAY: - case JSON_IN_OBJECT: - if ($index > 0) - return ","; - break; - } - - return ""; - } - - function encode($input) { - switch (gettype($input)) { - case 'boolean': - return $input ? 'true' : 'false'; - - case 'integer': - return (int) $input; - - case 'float': - case 'double': - return (float) $input; - - case 'NULL': - return 'null'; - - case 'string': - return $this->encodeString($input); - - case 'array': - return $this->_encodeArray($input); - - case 'object': - return $this->_encodeArray(get_object_vars($input)); - } - - return ''; - } - - function encodeString($input) { - // Needs to be escaped - if (preg_match('/[^a-zA-Z0-9]/', $input)) { - $output = ''; - - for ($i=0; $i_utf82utf16($char))); - } if (($byte & 0xF0) == 0xE0) { - $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2])); - $i += 2; - $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char))); - } if (($byte & 0xF8) == 0xF0) { - $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2], ord($input[$i + 3]))); - $i += 3; - $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char))); - } if (($byte & 0xFC) == 0xF8) { - $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2], ord($input[$i + 3]), ord($input[$i + 4]))); - $i += 4; - $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char))); - } if (($byte & 0xFE) == 0xFC) { - $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2], ord($input[$i + 3]), ord($input[$i + 4]), ord($input[$i + 5]))); - $i += 5; - $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char))); - } else if ($byte < 128) - $output .= $input[$i]; - } - } - - return '"' . $output . '"'; - } - - return '"' . $input . '"'; - } - - function _utf82utf16($utf8) { - if (function_exists('mb_convert_encoding')) - return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8'); - - switch (strlen($utf8)) { - case 1: - return $utf8; - - case 2: - return chr(0x07 & (ord($utf8[0]) >> 2)) . chr((0xC0 & (ord($utf8[0]) << 6)) | (0x3F & ord($utf8[1]))); - - case 3: - return chr((0xF0 & (ord($utf8[0]) << 4)) | (0x0F & (ord($utf8[1]) >> 2))) . chr((0xC0 & (ord($utf8[1]) << 6)) | (0x7F & ord($utf8[2]))); - } - - return ''; - } - - function _encodeArray($input) { - $output = ''; - $isIndexed = true; - - $keys = array_keys($input); - for ($i=0; $iencodeString($keys[$i]) . ':' . $this->encode($input[$keys[$i]]); - $isIndexed = false; - } else - $output .= $this->encode($input[$keys[$i]]); - - if ($i != count($keys) - 1) - $output .= ','; - } - - return $isIndexed ? '[' . $output . ']' : '{' . $output . '}'; - } -} - -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/utils/Logger.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/utils/Logger.php deleted file mode 100644 index 46a1c15590..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/classes/utils/Logger.php +++ /dev/null @@ -1,268 +0,0 @@ -_path = ""; - $this->_filename = "{level}.log"; - $this->setMaxSize("100k"); - $this->_maxFiles = 10; - $this->_level = MC_LOGGER_DEBUG; - $this->_format = "[{time}] [{level}] {message}"; - } - - /** - * Sets the current log level, use the MC_LOGGER constants. - * - * @param int $level Log level instance for example MC_LOGGER_DEBUG. - */ - function setLevel($level) { - if (is_string($level)) { - switch (strtolower($level)) { - case "debug": - $level = MC_LOGGER_DEBUG; - break; - - case "info": - $level = MC_LOGGER_INFO; - break; - - case "warn": - case "warning": - $level = MC_LOGGER_WARN; - break; - - case "error": - $level = MC_LOGGER_ERROR; - break; - - case "fatal": - $level = MC_LOGGER_FATAL; - break; - - default: - $level = MC_LOGGER_FATAL; - } - } - - $this->_level = $level; - } - - /** - * Returns the current log level for example MC_LOGGER_DEBUG. - * - * @return int Current log level for example MC_LOGGER_DEBUG. - */ - function getLevel() { - return $this->_level; - } - - function setPath($path) { - $this->_path = $path; - } - - function getPath() { - return $this->_path; - } - - function setFileName($file_name) { - $this->_filename = $file_name; - } - - function getFileName() { - return $this->_filename; - } - - function setFormat($format) { - $this->_format = $format; - } - - function getFormat() { - return $this->_format; - } - - function setMaxSize($size) { - // Fix log max size - $logMaxSizeBytes = intval(preg_replace("/[^0-9]/", "", $size)); - - // Is KB - if (strpos((strtolower($size)), "k") > 0) - $logMaxSizeBytes *= 1024; - - // Is MB - if (strpos((strtolower($size)), "m") > 0) - $logMaxSizeBytes *= (1024 * 1024); - - $this->_maxSizeBytes = $logMaxSizeBytes; - $this->_maxSize = $size; - } - - function getMaxSize() { - return $this->_maxSize; - } - - function setMaxFiles($max_files) { - $this->_maxFiles = $max_files; - } - - function getMaxFiles() { - return $this->_maxFiles; - } - - function debug($msg) { - $args = func_get_args(); - $this->_logMsg(MC_LOGGER_DEBUG, implode(', ', $args)); - } - - function info($msg) { - $args = func_get_args(); - $this->_logMsg(MC_LOGGER_INFO, implode(', ', $args)); - } - - function warn($msg) { - $args = func_get_args(); - $this->_logMsg(MC_LOGGER_WARN, implode(', ', $args)); - } - - function error($msg) { - $args = func_get_args(); - $this->_logMsg(MC_LOGGER_ERROR, implode(', ', $args)); - } - - function fatal($msg) { - $args = func_get_args(); - $this->_logMsg(MC_LOGGER_FATAL, implode(', ', $args)); - } - - function isDebugEnabled() { - return $this->_level >= MC_LOGGER_DEBUG; - } - - function isInfoEnabled() { - return $this->_level >= MC_LOGGER_INFO; - } - - function isWarnEnabled() { - return $this->_level >= MC_LOGGER_WARN; - } - - function isErrorEnabled() { - return $this->_level >= MC_LOGGER_ERROR; - } - - function isFatalEnabled() { - return $this->_level >= MC_LOGGER_FATAL; - } - - function _logMsg($level, $message) { - $roll = false; - - if ($level < $this->_level) - return; - - $logFile = $this->toOSPath($this->_path . "/" . $this->_filename); - - switch ($level) { - case MC_LOGGER_DEBUG: - $levelName = "DEBUG"; - break; - - case MC_LOGGER_INFO: - $levelName = "INFO"; - break; - - case MC_LOGGER_WARN: - $levelName = "WARN"; - break; - - case MC_LOGGER_ERROR: - $levelName = "ERROR"; - break; - - case MC_LOGGER_FATAL: - $levelName = "FATAL"; - break; - } - - $logFile = str_replace('{level}', strtolower($levelName), $logFile); - - $text = $this->_format; - $text = str_replace('{time}', date("Y-m-d H:i:s"), $text); - $text = str_replace('{level}', strtolower($levelName), $text); - $text = str_replace('{message}', $message, $text); - $message = $text . "\r\n"; - - // Check filesize - if (file_exists($logFile)) { - $size = @filesize($logFile); - - if ($size + strlen($message) > $this->_maxSizeBytes) - $roll = true; - } - - // Roll if the size is right - if ($roll) { - for ($i=$this->_maxFiles-1; $i>=1; $i--) { - $rfile = $this->toOSPath($logFile . "." . $i); - $nfile = $this->toOSPath($logFile . "." . ($i+1)); - - if (@file_exists($rfile)) - @rename($rfile, $nfile); - } - - @rename($logFile, $this->toOSPath($logFile . ".1")); - - // Delete last logfile - $delfile = $this->toOSPath($logFile . "." . ($this->_maxFiles + 1)); - if (@file_exists($delfile)) - @unlink($delfile); - } - - // Append log line - if (($fp = @fopen($logFile, "a")) != null) { - @fputs($fp, $message); - @fflush($fp); - @fclose($fp); - } - } - - /** - * Converts a Unix path to OS specific path. - * - * @param String $path Unix path to convert. - */ - function toOSPath($path) { - return str_replace("/", DIRECTORY_SEPARATOR, $path); - } -} - -?> \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/config.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/config.php deleted file mode 100644 index 5097cfd385..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/config.php +++ /dev/null @@ -1,25 +0,0 @@ -aspell see MDL-16639'); - - // General settings - $config['general.engine'] = 'GoogleSpell'; - //$config['general.engine'] = 'PSpell'; - //$config['general.engine'] = 'PSpellShell'; - //$config['general.remote_rpc_url'] = 'http://some.other.site/some/url/rpc.php'; - - // PSpell settings - $config['PSpell.mode'] = PSPELL_FAST; - $config['PSpell.spelling'] = ""; - $config['PSpell.jargon'] = ""; - $config['PSpell.encoding'] = ""; - - // PSpellShell settings - $config['PSpellShell.mode'] = PSPELL_FAST; - $config['PSpellShell.aspell'] = '/usr/bin/aspell'; - $config['PSpellShell.tmp'] = '/tmp'; - - // Windows PSpellShell settings - //$config['PSpellShell.aspell'] = '"c:\Program Files\Aspell\bin\aspell.exe"'; - //$config['PSpellShell.tmp'] = 'c:/temp'; -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js deleted file mode 100644 index 9cb679961b..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var JSONRequest=tinymce.util.JSONRequest,each=tinymce.each,DOM=tinymce.DOM;tinymce.create('tinymce.plugins.SpellcheckerPlugin',{getInfo:function(){return{longname:'Spellchecker',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker',version:tinymce.majorVersion+"."+tinymce.minorVersion};},init:function(ed,url){var t=this,cm;t.url=url;t.editor=ed;ed.addCommand('mceSpellCheck',function(){if(!t.active){ed.setProgressState(1);t._sendRPC('checkWords',[t.selectedLang,t._getWords()],function(r){if(r.length>0){t.active=1;t._markWords(r);ed.setProgressState(0);ed.nodeChanged();}else{ed.setProgressState(0);ed.windowManager.alert('spellchecker.no_mpell');}});}else t._done();});ed.onInit.add(function(){if(ed.settings.content_css!==false)ed.dom.loadCSS(url+'/css/content.css');});ed.onClick.add(t._showMenu,t);ed.onContextMenu.add(t._showMenu,t);ed.onBeforeGetContent.add(function(){if(t.active)t._removeWords();});ed.onNodeChange.add(function(ed,cm){cm.setActive('spellchecker',t.active);});ed.onSetContent.add(function(){t._done();});ed.onBeforeGetContent.add(function(){t._done();});ed.onBeforeExecCommand.add(function(ed,cmd){if(cmd=='mceFullScreen')t._done();});t.languages={};each(ed.getParam('spellchecker_languages','+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv','hash'),function(v,k){if(k.indexOf('+')===0){k=k.substring(1);t.selectedLang=v;}t.languages[k]=v;});},createControl:function(n,cm){var t=this,c,ed=t.editor;if(n=='spellchecker'){c=cm.createSplitButton(n,{title:'spellchecker.desc',cmd:'mceSpellCheck',scope:t});c.onRenderMenu.add(function(c,m){m.add({title:'spellchecker.langs','class':'mceMenuItemTitle'}).setDisabled(1);each(t.languages,function(v,k){var o={icon:1},mi;o.onclick=function(){mi.setSelected(1);t.selectedItem.setSelected(0);t.selectedItem=mi;t.selectedLang=v;};o.title=k;mi=m.add(o);mi.setSelected(v==t.selectedLang);if(v==t.selectedLang)t.selectedItem=mi;})});return c;}},_walk:function(n,f){var d=this.editor.getDoc(),w;if(d.createTreeWalker){w=d.createTreeWalker(n,NodeFilter.SHOW_TEXT,null,false);while((n=w.nextNode())!=null)f.call(this,n);}else tinymce.walk(n,f,'childNodes');},_getSeparators:function(){var re='',i,str=this.editor.getParam('spellchecker_word_separator_chars','\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}����������������\u201d\u201c');for(i=0;i$1
    $2');v=v.replace(r3,'$1$2');dom.replace(dom.create('span',{'class':'mceItemHidden'},v),n);}}});se.moveToBookmark(b);},_showMenu:function(ed,e){var t=this,ed=t.editor,m=t._menu,p1,dom=ed.dom,vp=dom.getViewPort(ed.getWin());if(!m){p1=DOM.getPos(ed.getContentAreaContainer());m=ed.controlManager.createDropMenu('spellcheckermenu',{offset_x:p1.x,offset_y:p1.y,'class':'mceNoIcons'});t._menu=m;}if(dom.hasClass(e.target,'mceItemHiddenSpellWord')){m.removeAll();m.add({title:'spellchecker.wait','class':'mceMenuItemTitle'}).setDisabled(1);t._sendRPC('getSuggestions',[t.selectedLang,dom.decode(e.target.innerHTML)],function(r){m.removeAll();if(r.length>0){m.add({title:'spellchecker.sug','class':'mceMenuItemTitle'}).setDisabled(1);each(r,function(v){m.add({title:v,onclick:function(){dom.replace(ed.getDoc().createTextNode(v),e.target);t._checkDone();}});});m.addSeparator();}else m.add({title:'spellchecker.no_sug','class':'mceMenuItemTitle'}).setDisabled(1);m.add({title:'spellchecker.ignore_word',onclick:function(){dom.remove(e.target,1);t._checkDone();}});m.add({title:'spellchecker.ignore_words',onclick:function(){t._removeWords(dom.decode(e.target.innerHTML));t._checkDone();}});m.update();});ed.selection.select(e.target);p1=dom.getPos(e.target);m.showMenu(p1.x,p1.y+e.target.offsetHeight-vp.y);return tinymce.dom.Event.cancel(e);}else m.hideMenu();},_checkDone:function(){var t=this,ed=t.editor,dom=ed.dom,o;each(dom.select('span'),function(n){if(n&&dom.hasClass(n,'mceItemHiddenSpellWord')){o=true;return false;}});if(!o)t._done();},_done:function(){var t=this,la=t.active;if(t.active){t.active=0;t._removeWords();if(t._menu)t._menu.hideMenu();if(la)t.editor.nodeChanged();}},_sendRPC:function(m,p,cb){var t=this,url=t.editor.getParam("spellchecker_rpc_url","{backend}");if(url=='{backend}'){t.editor.setProgressState(0);alert('Please specify: spellchecker_rpc_url');return;}JSONRequest.sendRPC({url:url,method:m,params:p,success:cb,error:function(e,x){t.editor.setProgressState(0);t.editor.windowManager.alert(e.errstr||('Error response: '+x.responseText));}});}});tinymce.PluginManager.add('spellchecker',tinymce.plugins.SpellcheckerPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif deleted file mode 100644 index 1735e00cde..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/includes/general.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/includes/general.php deleted file mode 100644 index 9a12145699..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/includes/general.php +++ /dev/null @@ -1,98 +0,0 @@ - $value) - $newarray[formatParam($name, $sanitize)] = formatParam($value, $sanitize); - - return $newarray; - } - - return formatParam($_REQUEST[$name], $sanitize); -} - -function &getLogger() { - global $mcLogger, $man; - - if (isset($man)) - $mcLogger = $man->getLogger(); - - if (!$mcLogger) { - $mcLogger = new Moxiecode_Logger(); - - // Set logger options - $mcLogger->setPath(dirname(__FILE__) . "/../logs"); - $mcLogger->setMaxSize("100kb"); - $mcLogger->setMaxFiles("10"); - $mcLogger->setFormat("{time} - {message}"); - } - - return $mcLogger; -} - -function debug($msg) { - $args = func_get_args(); - - $log = getLogger(); - $log->debug(implode(', ', $args)); -} - -function info($msg) { - $args = func_get_args(); - - $log = getLogger(); - $log->info(implode(', ', $args)); -} - -function error($msg) { - $args = func_get_args(); - - $log = getLogger(); - $log->error(implode(', ', $args)); -} - -function warn($msg) { - $args = func_get_args(); - - $log = getLogger(); - $log->warn(implode(', ', $args)); -} - -function fatal($msg) { - $args = func_get_args(); - - $log = getLogger(); - $log->fatal(implode(', ', $args)); -} - -?> \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/rpc.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/rpc.php deleted file mode 100644 index cc8d0f2d61..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/rpc.php +++ /dev/null @@ -1,111 +0,0 @@ -decode($raw); - -// Execute RPC -if (isset($config['general.engine'])) { - $spellchecker = new $config['general.engine']($config); - $result = call_user_func_array(array($spellchecker, $input['method']), $input['params']); -} else - die('{"result":null,"id":null,"error":{"errstr":"You must choose an spellchecker engine in the config.php file.","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}'); - -// Request and response id should always be the same -$output = array( - "id" => $input->id, - "result" => $result, - "error" => null -); - -// Return JSON encoded string -echo $json->encode($output); - -?> \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js deleted file mode 100644 index 6ebaa91ca4..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){tinymce.create('tinymce.plugins.StylePlugin',{init:function(ed,url){ed.addCommand('mceStyleProps',function(){ed.windowManager.open({file:url+'/props.htm',width:480+parseInt(ed.getLang('style.delta_width',0)),height:320+parseInt(ed.getLang('style.delta_height',0)),inline:1},{plugin_url:url,style_text:ed.selection.getNode().style.cssText});});ed.addCommand('mceSetElementStyle',function(ui,v){if(e=ed.selection.getNode()){ed.dom.setAttrib(e,'style',v);ed.execCommand('mceRepaint');}});ed.onNodeChange.add(function(ed,cm,n){cm.setDisabled('styleprops',n.nodeName==='BODY');});ed.addButton('styleprops',{title:'style.desc',cmd:'mceStyleProps'});},getInfo:function(){return{longname:'Style',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('style',tinymce.plugins.StylePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js deleted file mode 100644 index a7ef113ee4..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var each=tinymce.each;tinymce.create('tinymce.plugins.TablePlugin',{init:function(ed,url){var t=this;t.editor=ed;t.url=url;each([['table','table.desc','mceInsertTable',true],['delete_table','table.del','mceTableDelete'],['delete_col','table.delete_col_desc','mceTableDeleteCol'],['delete_row','table.delete_row_desc','mceTableDeleteRow'],['col_after','table.col_after_desc','mceTableInsertColAfter'],['col_before','table.col_before_desc','mceTableInsertColBefore'],['row_after','table.row_after_desc','mceTableInsertRowAfter'],['row_before','table.row_before_desc','mceTableInsertRowBefore'],['row_props','table.row_desc','mceTableRowProps',true],['cell_props','table.cell_desc','mceTableCellProps',true],['split_cells','table.split_cells_desc','mceTableSplitCells',true],['merge_cells','table.merge_cells_desc','mceTableMergeCells',true]],function(c){ed.addButton(c[0],{title:c[1],cmd:c[2],ui:c[3]});});ed.onInit.add(function(){if(ed&&ed.plugins.contextmenu){ed.plugins.contextmenu.onContextMenu.add(function(th,m,e){var sm,se=ed.selection,el=se.getNode()||ed.getBody();if(ed.dom.getParent(e,'td')||ed.dom.getParent(e,'th')){m.removeAll();if(el.nodeName=='A'&&!ed.dom.getAttrib(el,'name')){m.add({title:'advanced.link_desc',icon:'link',cmd:ed.plugins.advlink?'mceAdvLink':'mceLink',ui:true});m.add({title:'advanced.unlink_desc',icon:'unlink',cmd:'UnLink'});m.addSeparator();}if(el.nodeName=='IMG'&&el.className.indexOf('mceItem')==-1){m.add({title:'advanced.image_desc',icon:'image',cmd:ed.plugins.advimage?'mceAdvImage':'mceImage',ui:true});m.addSeparator();}m.add({title:'table.desc',icon:'table',cmd:'mceInsertTable',ui:true,value:{action:'insert'}});m.add({title:'table.props_desc',icon:'table_props',cmd:'mceInsertTable',ui:true});m.add({title:'table.del',icon:'delete_table',cmd:'mceTableDelete',ui:true});m.addSeparator();sm=m.addMenu({title:'table.cell'});sm.add({title:'table.cell_desc',icon:'cell_props',cmd:'mceTableCellProps',ui:true});sm.add({title:'table.split_cells_desc',icon:'split_cells',cmd:'mceTableSplitCells',ui:true});sm.add({title:'table.merge_cells_desc',icon:'merge_cells',cmd:'mceTableMergeCells',ui:true});sm=m.addMenu({title:'table.row'});sm.add({title:'table.row_desc',icon:'row_props',cmd:'mceTableRowProps',ui:true});sm.add({title:'table.row_before_desc',icon:'row_before',cmd:'mceTableInsertRowBefore'});sm.add({title:'table.row_after_desc',icon:'row_after',cmd:'mceTableInsertRowAfter'});sm.add({title:'table.delete_row_desc',icon:'delete_row',cmd:'mceTableDeleteRow'});sm.addSeparator();sm.add({title:'table.cut_row_desc',icon:'cut',cmd:'mceTableCutRow'});sm.add({title:'table.copy_row_desc',icon:'copy',cmd:'mceTableCopyRow'});sm.add({title:'table.paste_row_before_desc',icon:'paste',cmd:'mceTablePasteRowBefore'});sm.add({title:'table.paste_row_after_desc',icon:'paste',cmd:'mceTablePasteRowAfter'});sm=m.addMenu({title:'table.col'});sm.add({title:'table.col_before_desc',icon:'col_before',cmd:'mceTableInsertColBefore'});sm.add({title:'table.col_after_desc',icon:'col_after',cmd:'mceTableInsertColAfter'});sm.add({title:'table.delete_col_desc',icon:'delete_col',cmd:'mceTableDeleteCol'});}else m.add({title:'table.desc',icon:'table',cmd:'mceInsertTable',ui:true});});}});ed.onKeyDown.add(function(ed,e){if(e.keyCode==9&&ed.dom.getParent(ed.selection.getNode(),'TABLE')){if(!tinymce.isGecko&&!tinymce.isOpera){tinyMCE.execInstanceCommand(ed.editorId,"mceTableMoveToNextRow",true);return tinymce.dom.Event.cancel(e);}ed.undoManager.add();}});if(!tinymce.isIE){if(ed.getParam('table_selection',true)){ed.onClick.add(function(ed,e){e=e.target;if(e.nodeName==='TABLE')ed.selection.select(e);});}}ed.onNodeChange.add(function(ed,cm,n){var p=ed.dom.getParent(n,'td,th,caption');cm.setActive('table',n.nodeName==='TABLE'||!!p);if(p&&p.nodeName==='CAPTION')p=null;cm.setDisabled('delete_table',!p);cm.setDisabled('delete_col',!p);cm.setDisabled('delete_table',!p);cm.setDisabled('delete_row',!p);cm.setDisabled('col_after',!p);cm.setDisabled('col_before',!p);cm.setDisabled('row_after',!p);cm.setDisabled('row_before',!p);cm.setDisabled('row_props',!p);cm.setDisabled('cell_props',!p);cm.setDisabled('split_cells',!p||(parseInt(ed.dom.getAttrib(p,'colspan','1'))<2&&parseInt(ed.dom.getAttrib(p,'rowspan','1'))<2));cm.setDisabled('merge_cells',!p);});if(!tinymce.isIE){ed.onBeforeSetContent.add(function(ed,o){if(o.initial)o.content=o.content.replace(/<(td|th)([^>]+|)>\s*<\/(td|th)>/g,tinymce.isOpera?'<$1$2> ':'<$1$2>
    ');});}},execCommand:function(cmd,ui,val){var ed=this.editor,b;switch(cmd){case"mceTableMoveToNextRow":case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":ed.execCommand('mceBeginUndoLevel');this._doExecCommand(cmd,ui,val);ed.execCommand('mceEndUndoLevel');return true;}return false;},getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_doExecCommand:function(command,user_interface,value){var inst=this.editor,ed=inst,url=this.url;var focusElm=inst.selection.getNode();var trElm=inst.dom.getParent(focusElm,"tr");var tdElm=inst.dom.getParent(focusElm,"td,th");var tableElm=inst.dom.getParent(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function select(dx,dy){var td;grid=getTableGrid(tableElm);dx=dx||0;dy=dy||0;dx=Math.max(cpos.cellindex+dx,0);dy=Math.max(cpos.rowindex+dy,0);inst.execCommand('mceRepaint');td=getCell(grid,dy,dx);if(td){inst.selection.select(td.firstChild||td);inst.selection.collapse(1);}};function makeTD(){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='
    ';}function getColRowSpan(td){var colspan=inst.dom.getAttrib(td,"colspan");var rowspan=inst.dom.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){var x,y;for(y=0;y1){for(var i=x;i1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i';if(tinymce.isIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR");}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=inst.dom.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i';}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm;}return newTR;}switch(command){case"mceTableMoveToNextRow":var nextCell=getNextCell(tableElm,tdElm);if(!nextCell){inst.execCommand("mceTableInsertRowAfter",tdElm);nextCell=getNextCell(tableElm,tdElm);}inst.selection.select(nextCell);inst.selection.collapse(true);return true;case"mceTableRowProps":if(trElm==null)return true;if(user_interface){inst.windowManager.open({url:url+'/row.htm',width:400+parseInt(inst.getLang('table.rowprops_delta_width',0)),height:295+parseInt(inst.getLang('table.rowprops_delta_height',0)),inline:1},{plugin_url:url});}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){inst.windowManager.open({url:url+'/cell.htm',width:400+parseInt(inst.getLang('table.cellprops_delta_width',0)),height:295+parseInt(inst.getLang('table.cellprops_delta_height',0)),inline:1},{plugin_url:url});}return true;case"mceInsertTable":if(user_interface){inst.windowManager.open({url:url+'/table.htm',width:400+parseInt(inst.getLang('table.table_delta_width',0)),height:320+parseInt(inst.getLang('table.table_delta_height',0)),inline:1},{plugin_url:url,action:value?value.action:0});}return true;case"mceTableDelete":var table=inst.dom.getParent(inst.selection.getNode(),"table");if(table){table.parentNode.removeChild(table);inst.execCommand('mceRepaint');}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(trElm&&tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}trElm.parentNode.insertBefore(newTR,trElm);select(0,1);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR);}select(0,1);break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1&&tableElm.nodeName=='TBODY'){inst.dom.remove(inst.dom.getParent(tableElm,"table"));return true;}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);select(0,-1);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(inst.dom.getParent(tableElm,"table"));var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}select();break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(inst.dom.getParent(tableElm,"table"));var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}select(1);break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if((grid.length>1&&grid[0].length<=1)&&tableElm.nodeName=='TBODY'){inst.dom.remove(inst.dom.getParent(tableElm,"table"));return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}select(-1);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i';trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=inst.dom.getParent(inst.selection.getNode(),"table");break;case"mceTableMergeCells":var rows=[];var sel=inst.selection.getSel();var grid=getTableGrid(tableElm);if(tinymce.isIE||sel.rangeCount==1){if(user_interface){var sp=getColRowSpan(tdElm);inst.windowManager.open({url:url+'/merge_cells.htm',width:240+parseInt(inst.getLang('table.merge_cells_delta_width',0)),height:110+parseInt(inst.getLang('table.merge_cells_delta_height',0)),inline:1},{action:"update",numcols:sp.colspan,numrows:sp.rowspan,plugin_url:url});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y0)rows[rows.length]=rowCells;var td=getCell(grid,cpos.rowindex,cpos.cellindex);each(ed.dom.select('br',td),function(e,i){if(i>0&&ed.dom.getAttrib('mce_bogus'))ed.dom.remove(e);});}}}else{var cells=[];var sel=inst.selection.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i0)rows[rows.length]=rowCells;}var curRow=[];var lastTR=null;for(var y=0;ycolSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;xrowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}each(ed.dom.select('br',tdElm),function(e,i){if(i>0&&ed.dom.getAttrib(e,'mce_bogus'))ed.dom.remove(e);});break;}tableElm=inst.dom.getParent(inst.selection.getNode(),"table");inst.addVisual(tableElm);inst.nodeChanged();}return true;}return false;}});tinymce.PluginManager.add('table',tinymce.plugins.TablePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js deleted file mode 100644 index 0f7fb01583..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var each=tinymce.each;tinymce.create('tinymce.plugins.TemplatePlugin',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceTemplate',function(ui){ed.windowManager.open({file:url+'/template.htm',width:ed.getParam('template_popup_width',750),height:ed.getParam('template_popup_height',600),inline:1},{plugin_url:url});});ed.addCommand('mceInsertTemplate',t._insertTemplate,t);ed.addButton('template',{title:'template.desc',cmd:'mceTemplate'});ed.onPreProcess.add(function(ed,o){var dom=ed.dom;each(dom.select('div',o.node),function(e){if(dom.hasClass(e,'mceTmpl')){each(dom.select('*',e),function(e){if(dom.hasClass(e,ed.getParam('template_mdate_classes','mdate').replace(/\s+/g,'|')))e.innerHTML=t._getDateTime(new Date(),ed.getParam("template_mdate_format",ed.getLang("template.mdate_format")));});t._replaceVals(e);}});});},getInfo:function(){return{longname:'Template plugin',author:'Moxiecode Systems AB',authorurl:'http://www.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_insertTemplate:function(ui,v){var t=this,ed=t.editor,h,el,dom=ed.dom,sel=ed.selection.getContent();h=v.content;each(t.editor.getParam('template_replace_values'),function(v,k){if(typeof(v)!='function')h=h.replace(new RegExp('\\{\\$'+k+'\\}','g'),v);});el=dom.create('div',null,h);n=dom.select('.mceTmpl',el);if(n&&n.length>0){el=dom.create('div',null);el.appendChild(n[0].cloneNode(true));}function hasClass(n,c){return new RegExp('\\b'+c+'\\b','g').test(n.className);};each(dom.select('*',el),function(n){if(hasClass(n,ed.getParam('template_cdate_classes','cdate').replace(/\s+/g,'|')))n.innerHTML=t._getDateTime(new Date(),ed.getParam("template_cdate_format",ed.getLang("template.cdate_format")));if(hasClass(n,ed.getParam('template_mdate_classes','mdate').replace(/\s+/g,'|')))n.innerHTML=t._getDateTime(new Date(),ed.getParam("template_mdate_format",ed.getLang("template.mdate_format")));if(hasClass(n,ed.getParam('template_selected_content_classes','selcontent').replace(/\s+/g,'|')))n.innerHTML=sel;});t._replaceVals(el);ed.execCommand('mceInsertContent',false,el.innerHTML);ed.addVisual();},_replaceVals:function(e){var dom=this.editor.dom,vl=this.editor.getParam('template_replace_values');each(dom.select('*',e),function(e){each(vl,function(v,k){if(dom.hasClass(e,k)){if(typeof(vl[k])=='function')vl[k](e);}});});},_getDateTime:function(d,fmt){if(!fmt)return"";function addZeros(value,len){var i;value=""+value;if(value.length$1
    ');nv=nv.replace(/\u00a0/g,'\u00b7');ed.dom.setOuterHTML(nl[i],nv,d);}}else{nl=tinymce.grep(ed.dom.select('span',b),function(n){return ed.dom.hasClass(n,'mceVisualNbsp');});for(i=0;i]+)>/gi,'');o.content=o.content.replace(/<\/abbr>/gi,'');}};ed.onBeforeSetContent.add(fix);ed.onPostProcess.add(fix);}ed.onNodeChange.add(function(ed,cm,n,co){n=ed.dom.getParent(n,'CITE,ACRONYM,ABBR,DEL,INS');cm.setDisabled('cite',co);cm.setDisabled('acronym',co);cm.setDisabled('abbr',co);cm.setDisabled('del',co);cm.setDisabled('ins',co);cm.setDisabled('attribs',n&&n.nodeName=='BODY');cm.setActive('cite',0);cm.setActive('acronym',0);cm.setActive('abbr',0);cm.setActive('del',0);cm.setActive('ins',0);if(n){do{cm.setDisabled(n.nodeName.toLowerCase(),0);cm.setActive(n.nodeName.toLowerCase(),1);}while(n=n.parentNode);}});},getInfo:function(){return{longname:'XHTML Xtras Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('xhtmlxtras',tinymce.plugins.XHTMLXtrasPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js deleted file mode 100644 index 045a81b5a1..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var DOM=tinymce.DOM,Event=tinymce.dom.Event,extend=tinymce.extend,each=tinymce.each,Cookie=tinymce.util.Cookie,lastExtID,explode=tinymce.explode;tinymce.ThemeManager.requireLangPack('advanced');tinymce.create('tinymce.themes.AdvancedTheme',{sizes:[8,10,12,14,18,24,36],controls:{bold:['bold_desc','Bold'],italic:['italic_desc','Italic'],underline:['underline_desc','Underline'],strikethrough:['striketrough_desc','Strikethrough'],justifyleft:['justifyleft_desc','JustifyLeft'],justifycenter:['justifycenter_desc','JustifyCenter'],justifyright:['justifyright_desc','JustifyRight'],justifyfull:['justifyfull_desc','JustifyFull'],bullist:['bullist_desc','InsertUnorderedList'],numlist:['numlist_desc','InsertOrderedList'],outdent:['outdent_desc','Outdent'],indent:['indent_desc','Indent'],cut:['cut_desc','Cut'],copy:['copy_desc','Copy'],paste:['paste_desc','Paste'],undo:['undo_desc','Undo'],redo:['redo_desc','Redo'],link:['link_desc','mceLink'],unlink:['unlink_desc','unlink'],image:['image_desc','mceImage'],cleanup:['cleanup_desc','mceCleanup'],help:['help_desc','mceHelp'],code:['code_desc','mceCodeEditor'],hr:['hr_desc','InsertHorizontalRule'],removeformat:['removeformat_desc','RemoveFormat'],sub:['sub_desc','subscript'],sup:['sup_desc','superscript'],forecolor:['forecolor_desc','ForeColor'],forecolorpicker:['forecolor_desc','mceForeColor'],backcolor:['backcolor_desc','HiliteColor'],backcolorpicker:['backcolor_desc','mceBackColor'],charmap:['charmap_desc','mceCharMap'],visualaid:['visualaid_desc','mceToggleVisualAid'],anchor:['anchor_desc','mceInsertAnchor'],newdocument:['newdocument_desc','mceNewDocument'],blockquote:['blockquote_desc','mceBlockQuote']},stateControls:['bold','italic','underline','strikethrough','bullist','numlist','justifyleft','justifycenter','justifyright','justifyfull','sub','sup','blockquote'],init:function(ed,url){var t=this,s,v,o;t.editor=ed;t.url=url;t.onResolveName=new tinymce.util.Dispatcher(this);t.settings=s=extend({theme_advanced_path:true,theme_advanced_toolbar_location:'bottom',theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",readonly:ed.settings.readonly},ed.settings);if(!s.font_size_style_values)s.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt";if(tinymce.is(s.theme_advanced_font_sizes,'string')){s.font_size_style_values=tinymce.explode(s.font_size_style_values);s.font_size_classes=tinymce.explode(s.font_size_classes||'');o={};ed.settings.theme_advanced_font_sizes=s.theme_advanced_font_sizes;each(ed.getParam('theme_advanced_font_sizes','','hash'),function(v,k){var cl;if(k==v&&v>=1&&v<=7){k=v+' ('+t.sizes[v-1]+'pt)';if(ed.settings.convert_fonts_to_spans){cl=s.font_size_classes[v-1];v=s.font_size_style_values[v-1]||(t.sizes[v-1]+'pt');}}if(/\s*\./.test(v))cl=v.replace(/\./g,'');o[k]=cl?{'class':cl}:{fontSize:v};});s.theme_advanced_font_sizes=o;}if((v=s.theme_advanced_path_location)&&v!='none')s.theme_advanced_statusbar_location=s.theme_advanced_path_location;if(s.theme_advanced_statusbar_location=='none')s.theme_advanced_statusbar_location=0;ed.onInit.add(function(){ed.onNodeChange.add(t._nodeChanged,t);if(ed.settings.content_css!==false)ed.dom.loadCSS(ed.baseURI.toAbsolute("themes/advanced/skins/"+ed.settings.skin+"/content.css"));});ed.onSetProgressState.add(function(ed,b,ti){var co,id=ed.id,tb;if(b){t.progressTimer=setTimeout(function(){co=ed.getContainer();co=co.insertBefore(DOM.create('DIV',{style:'position:relative'}),co.firstChild);tb=DOM.get(ed.id+'_tbl');DOM.add(co,'div',{id:id+'_blocker','class':'mceBlocker',style:{width:tb.clientWidth+2,height:tb.clientHeight+2}});DOM.add(co,'div',{id:id+'_progress','class':'mceProgress',style:{left:tb.clientWidth/ 2, top : tb.clientHeight /2}});},ti||0);}else{DOM.remove(id+'_blocker');DOM.remove(id+'_progress');clearTimeout(t.progressTimer);}});DOM.loadCSS(s.editor_css?ed.documentBaseURI.toAbsolute(s.editor_css):url+"/skins/"+ed.settings.skin+"/ui.css");if(s.skin_variant)DOM.loadCSS(url+"/skins/"+ed.settings.skin+"/ui_"+s.skin_variant+".css");},createControl:function(n,cf){var cd,c;if(c=cf.createControl(n))return c;switch(n){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu();}if((cd=this.controls[n]))return cf.createButton(n,{title:"advanced."+cd[0],cmd:cd[1],ui:cd[2],value:cd[3]});},execCommand:function(cmd,ui,val){var f=this['_'+cmd];if(f){f.call(this,ui,val);return true;}return false;},_importClasses:function(e){var ed=this.editor,c=ed.controlManager.get('styleselect');if(c.getLength()==0){each(ed.dom.getClasses(),function(o){c.add(o['class'],o['class']);});}},_createStyleSelect:function(n){var t=this,ed=t.editor,cf=ed.controlManager,c=cf.createListBox('styleselect',{title:'advanced.style_select',onselect:function(v){if(c.selectedValue===v){ed.execCommand('mceSetStyleInfo',0,{command:'removeformat'});c.select();return false;}else ed.execCommand('mceSetCSSClass',0,v);}});if(c){each(ed.getParam('theme_advanced_styles','','hash'),function(v,k){if(v)c.add(t.editor.translate(k),v);});c.onPostRender.add(function(ed,n){if(!c.NativeListBox){Event.add(n.id+'_text','focus',t._importClasses,t);Event.add(n.id+'_text','mousedown',t._importClasses,t);Event.add(n.id+'_open','focus',t._importClasses,t);Event.add(n.id+'_open','mousedown',t._importClasses,t);}else Event.add(n.id,'focus',t._importClasses,t);});}return c;},_createFontSelect:function(){var c,t=this,ed=t.editor;c=ed.controlManager.createListBox('fontselect',{title:'advanced.fontdefault',cmd:'FontName'});if(c){each(ed.getParam('theme_advanced_fonts',t.settings.theme_advanced_fonts,'hash'),function(v,k){c.add(ed.translate(k),v,{style:v.indexOf('dings')==-1?'font-family:'+v:''});});}return c;},_createFontSizeSelect:function(){var t=this,ed=t.editor,c,i=0,cl=[];c=ed.controlManager.createListBox('fontsizeselect',{title:'advanced.font_size',onselect:function(v){if(v.fontSize)ed.execCommand('FontSize',false,v.fontSize);else{each(t.settings.theme_advanced_font_sizes,function(v,k){if(v['class'])cl.push(v['class']);});ed.editorCommands._applyInlineStyle('span',{'class':v['class']},{check_classes:cl});}}});if(c){each(t.settings.theme_advanced_font_sizes,function(v,k){var fz=v.fontSize;if(fz>=1&&fz<=7)fz=t.sizes[parseInt(fz)-1]+'pt';c.add(k,v,{'style':'font-size:'+fz,'class':'mceFontSize'+(i++)+(' '+(v['class']||''))});});}return c;},_createBlockFormats:function(){var c,fmts={p:'advanced.paragraph',address:'advanced.address',pre:'advanced.pre',h1:'advanced.h1',h2:'advanced.h2',h3:'advanced.h3',h4:'advanced.h4',h5:'advanced.h5',h6:'advanced.h6',div:'advanced.div',blockquote:'advanced.blockquote',code:'advanced.code',dt:'advanced.dt',dd:'advanced.dd',samp:'advanced.samp'},t=this;c=t.editor.controlManager.createListBox('formatselect',{title:'advanced.block',cmd:'FormatBlock'});if(c){each(t.editor.getParam('theme_advanced_blockformats',t.settings.theme_advanced_blockformats,'hash'),function(v,k){c.add(t.editor.translate(k!=v?k:fmts[v]),v,{'class':'mce_formatPreview mce_'+v});});}return c;},_createForeColorMenu:function(){var c,t=this,s=t.settings,o={},v;if(s.theme_advanced_more_colors){o.more_colors_func=function(){t._mceColorPicker(0,{color:c.value,func:function(co){c.setColor(co);}});};}if(v=s.theme_advanced_text_colors)o.colors=v;o.title='advanced.forecolor_desc';o.cmd='ForeColor';o.scope=this;c=t.editor.controlManager.createColorSplitButton('forecolor',o);return c;},_createBackColorMenu:function(){var c,t=this,s=t.settings,o={},v;if(s.theme_advanced_more_colors){o.more_colors_func=function(){t._mceColorPicker(0,{color:c.value,func:function(co){c.setColor(co);}});};}if(v=s.theme_advanced_background_colors)o.colors=v;o.title='advanced.backcolor_desc';o.cmd='HiliteColor';o.scope=this;c=t.editor.controlManager.createColorSplitButton('backcolor',o);return c;},renderUI:function(o){var n,ic,tb,t=this,ed=t.editor,s=t.settings,sc,p,nl;n=p=DOM.create('span',{id:ed.id+'_parent','class':'mceEditor '+ed.settings.skin+'Skin'+(s.skin_variant?' '+ed.settings.skin+'Skin'+t._ufirst(s.skin_variant):'')});if(!DOM.boxModel)n=DOM.add(n,'div',{'class':'mceOldBoxModel'});n=sc=DOM.add(n,'table',{id:ed.id+'_tbl','class':'mceLayout',cellSpacing:0,cellPadding:0});n=tb=DOM.add(n,'tbody');switch((s.theme_advanced_layout_manager||'').toLowerCase()){case"rowlayout":ic=t._rowLayout(s,tb,o);break;case"customlayout":ic=ed.execCallback("theme_advanced_custom_layout",s,tb,o,p);break;default:ic=t._simpleLayout(s,tb,o,p);}n=o.targetNode;nl=DOM.stdMode?sc.getElementsByTagName('tr'):sc.rows;DOM.addClass(nl[0],'mceFirst');DOM.addClass(nl[nl.length-1],'mceLast');each(DOM.select('tr',tb),function(n){DOM.addClass(n.firstChild,'mceFirst');DOM.addClass(n.childNodes[n.childNodes.length-1],'mceLast');});if(DOM.get(s.theme_advanced_toolbar_container))DOM.get(s.theme_advanced_toolbar_container).appendChild(p);else DOM.insertAfter(p,n);Event.add(ed.id+'_path_row','click',function(e){e=e.target;if(e.nodeName=='A'){t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/,'$1'));return Event.cancel(e);}});if(!ed.getParam('accessibility_focus')||ed.getParam('tab_focus'))Event.add(DOM.add(p,'a',{href:'#'},''),'focus',function(){tinyMCE.get(ed.id).focus();});if(s.theme_advanced_toolbar_location=='external')o.deltaHeight=0;t.deltaHeight=o.deltaHeight;o.targetNode=null;return{iframeContainer:ic,editorContainer:ed.id+'_parent',sizeContainer:sc,deltaHeight:o.deltaHeight};},getInfo:function(){return{longname:'Advanced theme',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',version:tinymce.majorVersion+"."+tinymce.minorVersion}},resizeBy:function(dw,dh){var e=DOM.get(this.editor.id+'_tbl');this.resizeTo(e.clientWidth+dw,e.clientHeight+dh);},resizeTo:function(w,h){var ed=this.editor,s=ed.settings,e=DOM.get(ed.id+'_tbl'),ifr=DOM.get(ed.id+'_ifr'),dh;w=Math.max(s.theme_advanced_resizing_min_width||100,w);h=Math.max(s.theme_advanced_resizing_min_height||100,h);w=Math.min(s.theme_advanced_resizing_max_width||0xFFFF,w);h=Math.min(s.theme_advanced_resizing_max_height||0xFFFF,h);dh=e.clientHeight-ifr.clientHeight;DOM.setStyle(ifr,'height',h-dh);DOM.setStyles(e,{width:w,height:h});},destroy:function(){var id=this.editor.id;Event.clear(id+'_resize');Event.clear(id+'_path_row');Event.clear(id+'_external_close');},_simpleLayout:function(s,tb,o,p){var t=this,ed=t.editor,lo=s.theme_advanced_toolbar_location,sl=s.theme_advanced_statusbar_location,n,ic,etb,c;if(s.readonly){n=DOM.add(tb,'tr');n=ic=DOM.add(n,'td',{'class':'mceIframeContainer'});return ic;}if(lo=='top')t._addToolbars(tb,o);if(lo=='external'){n=c=DOM.create('div',{style:'position:relative'});n=DOM.add(n,'div',{id:ed.id+'_external','class':'mceExternalToolbar'});DOM.add(n,'a',{id:ed.id+'_external_close',href:'javascript:;','class':'mceExternalClose'});n=DOM.add(n,'table',{id:ed.id+'_tblext',cellSpacing:0,cellPadding:0});etb=DOM.add(n,'tbody');if(p.firstChild.className=='mceOldBoxModel')p.firstChild.appendChild(c);else p.insertBefore(c,p.firstChild);t._addToolbars(etb,o);ed.onMouseUp.add(function(){var e=DOM.get(ed.id+'_external');DOM.show(e);DOM.hide(lastExtID);var f=Event.add(ed.id+'_external_close','click',function(){DOM.hide(ed.id+'_external');Event.remove(ed.id+'_external_close','click',f);});DOM.show(e);DOM.setStyle(e,'top',0-DOM.getRect(ed.id+'_tblext').h-1);DOM.hide(e);DOM.show(e);e.style.filter='';lastExtID=ed.id+'_external';e=null;});}if(sl=='top')t._addStatusBar(tb,o);if(!s.theme_advanced_toolbar_container){n=DOM.add(tb,'tr');n=ic=DOM.add(n,'td',{'class':'mceIframeContainer'});}if(lo=='bottom')t._addToolbars(tb,o);if(sl=='bottom')t._addStatusBar(tb,o);return ic;},_rowLayout:function(s,tb,o){var t=this,ed=t.editor,dc,da,cf=ed.controlManager,n,ic,to,a;dc=s.theme_advanced_containers_default_class||'';da=s.theme_advanced_containers_default_align||'center';each(explode(s.theme_advanced_containers||''),function(c,i){var v=s['theme_advanced_container_'+c]||'';switch(v.toLowerCase()){case'mceeditor':n=DOM.add(tb,'tr');n=ic=DOM.add(n,'td',{'class':'mceIframeContainer'});break;case'mceelementpath':t._addStatusBar(tb,o);break;default:a=(s['theme_advanced_container_'+c+'_align']||da).toLowerCase();a='mce'+t._ufirst(a);n=DOM.add(DOM.add(tb,'tr'),'td',{'class':'mceToolbar '+(s['theme_advanced_container_'+c+'_class']||dc)+' '+a||da});to=cf.createToolbar("toolbar"+i);t._addControls(v,to);DOM.setHTML(n,to.renderHTML());o.deltaHeight-=s.theme_advanced_row_height;}});return ic;},_addControls:function(v,tb){var t=this,s=t.settings,di,cf=t.editor.controlManager;if(s.theme_advanced_disable&&!t._disabled){di={};each(explode(s.theme_advanced_disable),function(v){di[v]=1;});t._disabled=di;}else di=t._disabled;each(explode(v),function(n){var c;if(di&&di[n])return;if(n=='tablecontrols'){each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(n){n=t.createControl(n,cf);if(n)tb.add(n);});return;}c=t.createControl(n,cf);if(c)tb.add(c);});},_addToolbars:function(c,o){var t=this,i,tb,ed=t.editor,s=t.settings,v,cf=ed.controlManager,di,n,h=[],a;a=s.theme_advanced_toolbar_align.toLowerCase();a='mce'+t._ufirst(a);n=DOM.add(DOM.add(c,'tr'),'td',{'class':'mceToolbar '+a});if(!ed.getParam('accessibility_focus')||ed.getParam('tab_focus'))h.push(DOM.createHTML('a',{href:'#',onfocus:'tinyMCE.get(\''+ed.id+'\').focus();'},''));h.push(DOM.createHTML('a',{href:'#',accesskey:'q',title:ed.getLang("advanced.toolbar_focus")},''));for(i=1;(v=s['theme_advanced_buttons'+i]);i++){tb=cf.createToolbar("toolbar"+i,{'class':'mceToolbarRow'+i});if(s['theme_advanced_buttons'+i+'_add'])v+=','+s['theme_advanced_buttons'+i+'_add'];if(s['theme_advanced_buttons'+i+'_add_before'])v=s['theme_advanced_buttons'+i+'_add_before']+','+v;t._addControls(v,tb);h.push(tb.renderHTML());o.deltaHeight-=s.theme_advanced_row_height;}h.push(DOM.createHTML('a',{href:'#',accesskey:'z',title:ed.getLang("advanced.toolbar_focus"),onfocus:'tinyMCE.getInstanceById(\''+ed.id+'\').focus();'},''));DOM.setHTML(n,h.join(''));},_addStatusBar:function(tb,o){var n,t=this,ed=t.editor,s=t.settings,r,mf,me,td;n=DOM.add(tb,'tr');n=td=DOM.add(n,'td',{'class':'mceStatusbar'});n=DOM.add(n,'div',{id:ed.id+'_path_row'},s.theme_advanced_path?ed.translate('advanced.path')+': ':' ');DOM.add(n,'a',{href:'#',accesskey:'x'});if(s.theme_advanced_resizing&&!tinymce.isOldWebKit){DOM.add(td,'a',{id:ed.id+'_resize',href:'javascript:;',onclick:"return false;",'class':'mceResize'});if(s.theme_advanced_resizing_use_cookie){ed.onPostRender.add(function(){var o=Cookie.getHash("TinyMCE_"+ed.id+"_size"),c=DOM.get(ed.id+'_tbl');if(!o)return;if(s.theme_advanced_resize_horizontal)c.style.width=Math.max(10,o.cw)+'px';c.style.height=Math.max(10,o.ch)+'px';DOM.get(ed.id+'_ifr').style.height=Math.max(10,parseInt(o.ch)+t.deltaHeight)+'px';});}ed.onPostRender.add(function(){Event.add(ed.id+'_resize','mousedown',function(e){var c,p,w,h,n,pa;c=DOM.get(ed.id+'_tbl');w=c.clientWidth;h=c.clientHeight;miw=s.theme_advanced_resizing_min_width||100;mih=s.theme_advanced_resizing_min_height||100;maw=s.theme_advanced_resizing_max_width||0xFFFF;mah=s.theme_advanced_resizing_max_height||0xFFFF;p=DOM.add(DOM.get(ed.id+'_parent'),'div',{'class':'mcePlaceHolder'});DOM.setStyles(p,{width:w,height:h});DOM.hide(c);DOM.show(p);r={x:e.screenX,y:e.screenY,w:w,h:h,dx:null,dy:null};mf=Event.add(DOM.doc,'mousemove',function(e){var w,h;r.dx=e.screenX-r.x;r.dy=e.screenY-r.y;w=Math.max(miw,r.w+r.dx);h=Math.max(mih,r.h+r.dy);w=Math.min(maw,w);h=Math.min(mah,h);if(s.theme_advanced_resize_horizontal)p.style.width=w+'px';p.style.height=h+'px';return Event.cancel(e);});me=Event.add(DOM.doc,'mouseup',function(e){var ifr;Event.remove(DOM.doc,'mousemove',mf);Event.remove(DOM.doc,'mouseup',me);c.style.display='';DOM.remove(p);if(r.dx===null)return;ifr=DOM.get(ed.id+'_ifr');if(s.theme_advanced_resize_horizontal)c.style.width=Math.max(10,r.w+r.dx)+'px';c.style.height=Math.max(10,r.h+r.dy)+'px';ifr.style.height=Math.max(10,ifr.clientHeight+r.dy)+'px';if(s.theme_advanced_resizing_use_cookie){Cookie.setHash("TinyMCE_"+ed.id+"_size",{cw:r.w+r.dx,ch:r.h+r.dy});}});return Event.cancel(e);});});}o.deltaHeight-=21;n=tb=null;},_nodeChanged:function(ed,cm,n,co){var t=this,p,de=0,v,c,s=t.settings,cl,fz,fn;if(s.readonly)return;tinymce.each(t.stateControls,function(c){cm.setActive(c,ed.queryCommandState(t.controls[c][1]));});cm.setActive('visualaid',ed.hasVisual);cm.setDisabled('undo',!ed.undoManager.hasUndo()&&!ed.typing);cm.setDisabled('redo',!ed.undoManager.hasRedo());cm.setDisabled('outdent',!ed.queryCommandState('Outdent'));p=DOM.getParent(n,'A');if(c=cm.get('link')){if(!p||!p.name){c.setDisabled(!p&&co);c.setActive(!!p);}}if(c=cm.get('unlink')){c.setDisabled(!p&&co);c.setActive(!!p&&!p.name);}if(c=cm.get('anchor')){c.setActive(!!p&&p.name);if(tinymce.isWebKit){p=DOM.getParent(n,'IMG');c.setActive(!!p&&DOM.getAttrib(p,'mce_name')=='a');}}p=DOM.getParent(n,'IMG');if(c=cm.get('image'))c.setActive(!!p&&n.className.indexOf('mceItem')==-1);if(c=cm.get('styleselect')){if(n.className){t._importClasses();c.select(n.className);}else c.select();}if(c=cm.get('formatselect')){p=DOM.getParent(n,DOM.isBlock);if(p)c.select(p.nodeName.toLowerCase());}if(ed.settings.convert_fonts_to_spans){ed.dom.getParent(n,function(n){if(n.nodeName==='SPAN'){if(!cl&&n.className)cl=n.className;if(!fz&&n.style.fontSize)fz=n.style.fontSize;if(!fn&&n.style.fontFamily)fn=n.style.fontFamily.replace(/[\"\']+/g,'').replace(/^([^,]+).*/,'$1').toLowerCase();}return false;});if(c=cm.get('fontselect')){c.select(function(v){return v.replace(/^([^,]+).*/,'$1').toLowerCase()==fn;});}if(c=cm.get('fontsizeselect')){c.select(function(v){if(v.fontSize&&v.fontSize===fz)return true;if(v['class']&&v['class']===cl)return true;});}}else{if(c=cm.get('fontselect'))c.select(ed.queryCommandValue('FontName'));if(c=cm.get('fontsizeselect')){v=ed.queryCommandValue('FontSize');c.select(function(iv){return iv.fontSize==v;});}}if(s.theme_advanced_path&&s.theme_advanced_statusbar_location){p=DOM.get(ed.id+'_path')||DOM.add(ed.id+'_path_row','span',{id:ed.id+'_path'});DOM.setHTML(p,'');ed.dom.getParent(n,function(n){var na=n.nodeName.toLowerCase(),u,pi,ti='';if(n.nodeType!=1||n.nodeName==='BR'||(DOM.hasClass(n,'mceItemHidden')||DOM.hasClass(n,'mceItemRemoved')))return;if(v=DOM.getAttrib(n,'mce_name'))na=v;if(tinymce.isIE&&n.scopeName!=='HTML')na=n.scopeName+':'+na;na=na.replace(/mce\:/g,'');switch(na){case'b':na='strong';break;case'i':na='em';break;case'img':if(v=DOM.getAttrib(n,'src'))ti+='src: '+v+' ';break;case'a':if(v=DOM.getAttrib(n,'name')){ti+='name: '+v+' ';na+='#'+v;}if(v=DOM.getAttrib(n,'href'))ti+='href: '+v+' ';break;case'font':if(s.convert_fonts_to_spans)na='span';if(v=DOM.getAttrib(n,'face'))ti+='font: '+v+' ';if(v=DOM.getAttrib(n,'size'))ti+='size: '+v+' ';if(v=DOM.getAttrib(n,'color'))ti+='color: '+v+' ';break;case'span':if(v=DOM.getAttrib(n,'style'))ti+='style: '+v+' ';break;}if(v=DOM.getAttrib(n,'id'))ti+='id: '+v+' ';if(v=n.className){v=v.replace(/(webkit-[\w\-]+|Apple-[\w\-]+|mceItem\w+|mceVisualAid)/g,'');if(v&&v.indexOf('mceItem')==-1){ti+='class: '+v+' ';if(DOM.isBlock(n)||na=='img'||na=='span')na+='.'+v;}}na=na.replace(/(html:)/g,'');na={name:na,node:n,title:ti};t.onResolveName.dispatch(t,na);ti=na.title;na=na.name;pi=DOM.create('a',{'href':"javascript:;",onmousedown:"return false;",title:ti,'class':'mcePath_'+(de++)},na);if(p.hasChildNodes()){p.insertBefore(DOM.doc.createTextNode(' \u00bb '),p.firstChild);p.insertBefore(pi,p.firstChild);}else p.appendChild(pi);},ed.getBody());}},_sel:function(v){this.editor.execCommand('mceSelectNodeDepth',false,v);},_mceInsertAnchor:function(ui,v){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/anchor.htm',width:320+parseInt(ed.getLang('advanced.anchor_delta_width',0)),height:90+parseInt(ed.getLang('advanced.anchor_delta_height',0)),inline:true},{theme_url:this.url});},_mceCharMap:function(){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/charmap.htm',width:550+parseInt(ed.getLang('advanced.charmap_delta_width',0)),height:250+parseInt(ed.getLang('advanced.charmap_delta_height',0)),inline:true},{theme_url:this.url});},_mceHelp:function(){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/about.htm',width:480,height:380,inline:true},{theme_url:this.url});},_mceColorPicker:function(u,v){var ed=this.editor;v=v||{};ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/color_picker.htm',width:375+parseInt(ed.getLang('advanced.colorpicker_delta_width',0)),height:250+parseInt(ed.getLang('advanced.colorpicker_delta_height',0)),close_previous:false,inline:true},{input_color:v.color,func:v.func,theme_url:this.url});},_mceCodeEditor:function(ui,val){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/source_editor.htm',width:parseInt(ed.getParam("theme_advanced_source_editor_width",720)),height:parseInt(ed.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url});},_mceImage:function(ui,val){var ed=this.editor;if(ed.dom.getAttrib(ed.selection.getNode(),'class').indexOf('mceItem')!=-1)return;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/image.htm',width:355+parseInt(ed.getLang('advanced.image_delta_width',0)),height:275+parseInt(ed.getLang('advanced.image_delta_height',0)),inline:true},{theme_url:this.url});},_mceLink:function(ui,val){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/link.htm',width:310+parseInt(ed.getLang('advanced.link_delta_width',0)),height:200+parseInt(ed.getLang('advanced.link_delta_height',0)),inline:true},{theme_url:this.url});},_mceNewDocument:function(){var ed=this.editor;ed.windowManager.confirm('advanced.newdocument',function(s){if(s)ed.execCommand('mceSetContent',false,'');});},_mceForeColor:function(){var t=this;this._mceColorPicker(0,{color:t.fgColor,func:function(co){t.fgColor=co;t.editor.execCommand('ForeColor',false,co);}});},_mceBackColor:function(){var t=this;this._mceColorPicker(0,{color:t.bgColor,func:function(co){t.bgColor=co;t.editor.execCommand('HiliteColor',false,co);}});},_ufirst:function(s){return s.substring(0,1).toUpperCase()+s.substring(1);}});tinymce.ThemeManager.add('advanced',tinymce.themes.AdvancedTheme);}()); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg deleted file mode 100644 index d7f66242ab..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif deleted file mode 100644 index d2f93671ca..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif deleted file mode 100644 index 02ac86ca40..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif deleted file mode 100644 index cc8e669cf7..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif deleted file mode 100644 index 6358163b35..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif deleted file mode 100644 index 80d87511b7..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png deleted file mode 100644 index 13a5cb0309..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png deleted file mode 100644 index dd7557b56b..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png deleted file mode 100644 index 980300bc65..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js deleted file mode 100644 index d19fb53f72..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var DOM=tinymce.DOM;tinymce.ThemeManager.requireLangPack('simple');tinymce.create('tinymce.themes.SimpleTheme',{init:function(ed,url){var t=this,states=['Bold','Italic','Underline','Strikethrough','InsertUnorderedList','InsertOrderedList'],s=ed.settings;t.editor=ed;ed.onInit.add(function(){ed.onNodeChange.add(function(ed,cm){tinymce.each(states,function(c){cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c));});});ed.dom.loadCSS(url+"/skins/"+s.skin+"/content.css");});DOM.loadCSS((s.editor_css?ed.documentBaseURI.toAbsolute(s.editor_css):'')||url+"/skins/"+s.skin+"/ui.css");},renderUI:function(o){var t=this,n=o.targetNode,ic,tb,ed=t.editor,cf=ed.controlManager,sc;n=DOM.insertAfter(DOM.create('span',{id:ed.id+'_container','class':'mceEditor '+ed.settings.skin+'SimpleSkin'}),n);n=sc=DOM.add(n,'table',{cellPadding:0,cellSpacing:0,'class':'mceLayout'});n=tb=DOM.add(n,'tbody');n=DOM.add(tb,'tr');n=ic=DOM.add(DOM.add(n,'td'),'div',{'class':'mceIframeContainer'});n=DOM.add(DOM.add(tb,'tr',{'class':'last'}),'td',{'class':'mceToolbar mceLast',align:'center'});tb=t.toolbar=cf.createToolbar("tools1");tb.add(cf.createButton('bold',{title:'simple.bold_desc',cmd:'Bold'}));tb.add(cf.createButton('italic',{title:'simple.italic_desc',cmd:'Italic'}));tb.add(cf.createButton('underline',{title:'simple.underline_desc',cmd:'Underline'}));tb.add(cf.createButton('strikethrough',{title:'simple.striketrough_desc',cmd:'Strikethrough'}));tb.add(cf.createSeparator());tb.add(cf.createButton('undo',{title:'simple.undo_desc',cmd:'Undo'}));tb.add(cf.createButton('redo',{title:'simple.redo_desc',cmd:'Redo'}));tb.add(cf.createSeparator());tb.add(cf.createButton('cleanup',{title:'simple.cleanup_desc',cmd:'mceCleanup'}));tb.add(cf.createSeparator());tb.add(cf.createButton('insertunorderedlist',{title:'simple.bullist_desc',cmd:'InsertUnorderedList'}));tb.add(cf.createButton('insertorderedlist',{title:'simple.numlist_desc',cmd:'InsertOrderedList'}));tb.renderTo(n);return{iframeContainer:ic,editorContainer:ed.id+'_container',sizeContainer:sc,deltaHeight:-20};},getInfo:function(){return{longname:'Simple theme',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.ThemeManager.add('simple',tinymce.themes.SimpleTheme);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif deleted file mode 100644 index 5df22db76d..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png deleted file mode 100644 index 66e7d53fe3..0000000000 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png and /dev/null differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js b/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js deleted file mode 100644 index e5407fba4a..0000000000 --- a/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js +++ /dev/null @@ -1 +0,0 @@ -var tinymce={majorVersion:"3",minorVersion:"2.0.1",releaseDate:"2008-09-17",_init:function(){var L=this,I=document,J=window,H=navigator,B=H.userAgent,G,A,F,E,D,K;L.isOpera=J.opera&&opera.buildNumber;L.isWebKit=/WebKit/.test(B);L.isOldWebKit=L.isWebKit&&!J.getSelection().getRangeAt;L.isIE=!L.isWebKit&&!L.isOpera&&(/MSIE/gi).test(B)&&(/Explorer/gi).test(H.appName);L.isIE6=L.isIE&&/MSIE [56]/.test(B);L.isGecko=!L.isWebKit&&/Gecko/.test(B);L.isMac=B.indexOf("Mac")!=-1;L.isAir=/adobeair/i.test(B);if(J.tinyMCEPreInit){L.suffix=tinyMCEPreInit.suffix;L.baseURL=tinyMCEPreInit.base;L.query=tinyMCEPreInit.query;return }L.suffix="";A=I.getElementsByTagName("base");for(G=0;G=C.length){for(E=0,B=G.length;E=C.length||G[E]!=C[E]){F=E+1;break}}}if(G.length=G.length||G[E]!=C[E]){F=E+1;break}}}if(F==1){return H}for(E=0,B=G.length-(F-1);E=0;C--){if(E[C].length==0||E[C]=="."){continue}if(E[C]==".."){B++;continue}if(B>0){B--;continue}F.push(E[C])}C=D.length-B;if(C<=0){return"/"+F.reverse().join("/")}return"/"+D.slice(0,C).join("/")+"/"+F.reverse().join("/")},getURI:function(D){var C,B=this;if(!B.source||D){C="";if(!D){if(B.protocol){C+=B.protocol+"://"}if(B.userInfo){C+=B.userInfo+"@"}if(B.host){C+=B.host}if(B.port){C+=":"+B.port}}if(B.path){C+=B.path}if(B.query){C+="?"+B.query}if(B.anchor){C+="#"+B.anchor}B.source=C}return B.source}})})();(function(){var A=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(D){var B=this.get(D),C;if(B){A(B.split("&"),function(E){E=E.split("=");C=C||{};C[unescape(E[0])]=unescape(E[1])})}return C},setHash:function(H,B,E,D,G,C){var F="";A(B,function(J,I){F+=(!F?"":"&")+escape(I)+"="+escape(J)});this.set(H,F,E,D,G,C)},get:function(F){var E=document.cookie,D,C=F+"=",B;if(!E){return }B=E.indexOf("; "+C);if(B==-1){B=E.indexOf(C);if(B!=0){return null}}else{B+=2}D=E.indexOf(";",B);if(D==-1){D=E.length}return unescape(E.substring(B+C.length,D))},set:function(G,B,E,D,F,C){document.cookie=G+"="+escape(B)+((E)?"; expires="+E.toGMTString():"")+((D)?"; path="+escape(D):"")+((F)?"; domain="+F:"")+((C)?"; secure":"")},remove:function(D,B){var C=new Date();C.setTime(C.getTime()-1000);this.set(D,"",C,B,C)}})})();tinymce.create("static tinymce.util.JSON",{serialize:function(E){var C,A,D=tinymce.util.JSON.serialize,B;if(E==null){return"null"}B=typeof E;if(B=="string"){A="\bb\tt\nn\ff\rr\"\"''\\\\";return'"'+E.replace(/([\u0080-\uFFFF\x00-\x1f\"])/g,function(G,F){C=A.indexOf(F);if(C+1){return"\\"+A.charAt(C+1)}G=F.charCodeAt().toString(16);return"\\u"+"0000".substring(G.length)+G})+'"'}if(B=="object"){if(E instanceof Array){for(C=0,A="[";C0?",":"")+D(E[C])}return A+"]"}A="{";for(C in E){A+=typeof E[C]!="function"?(A.length>1?',"':'"')+C+'":'+D(E[C]):""}return A+"}"}return""+E},parse:function(s){try{return eval("("+s+")")}catch(ex){}}});tinymce.create("static tinymce.util.XHR",{send:function(F){var A,D,B=window,G=0;F.scope=F.scope||this;F.success_scope=F.success_scope||F.scope;F.error_scope=F.error_scope||F.scope;F.async=F.async===false?false:true;F.data=F.data||"";function C(I){A=0;try{A=new ActiveXObject(I)}catch(H){}return A}A=B.XMLHttpRequest?new XMLHttpRequest():C("Microsoft.XMLHTTP")||C("Msxml2.XMLHTTP");if(A){if(A.overrideMimeType){A.overrideMimeType(F.content_type)}A.open(F.type||(F.data?"POST":"GET"),F.url,F.async);if(F.content_type){A.setRequestHeader("Content-Type",F.content_type)}A.send(F.data);function E(){if(!F.async||A.readyState==4||G++>10000){if(F.success&&G<10000&&A.status==200){F.success.call(F.success_scope,""+A.responseText,A,F)}else{if(F.error){F.error.call(F.error_scope,G>10000?"TIMED_OUT":"GENERAL",A,F)}}A=null}else{B.setTimeout(E,10)}}if(!F.async){return E()}D=B.setTimeout(E,10)}}});(function(){var C=tinymce.extend,B=tinymce.util.JSON,A=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(D){this.settings=C({},D);this.count=0},send:function(F){var E=F.error,D=F.success;F=C(this.settings,F);F.success=function(H,G){H=B.parse(H);if(typeof (H)=="undefined"){H={error:"JSON Parse error."}}if(H.error){E.call(F.error_scope||F.scope,H.error,G)}else{D.call(F.success_scope||F.scope,H.result)}};F.error=function(H,G){E.call(F.error_scope||F.scope,H,G)};F.data=B.serialize({id:F.id||"c"+(this.count++),method:F.method,params:F.params});F.content_type="application/json";A.send(F)},"static":{sendRPC:function(D){return new tinymce.util.JSONRequest().send(D)}}})}());(function(){var each=tinymce.each,is=tinymce.is;var isWebKit=tinymce.isWebKit,isIE=tinymce.isIE;tinymce.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,listeners:{},pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,cache:{},idPattern:/^#[\w]+$/,elmPattern:/^[\w_*]+$/,elmClassPattern:/^([\w_]*)\.([\w_]+)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value"},DOMUtils:function(d,s){var t=this;t.doc=d;t.win=window;t.files={};t.cssFlicker=false;t.counter=0;t.boxModel=!tinymce.isIE||d.compatMode=="CSS1Compat";t.stdMode=d.documentMode===8;this.settings=s=tinymce.extend({keep_values:false,hex_colors:1,process_html:1},s);if(tinymce.isIE6){try{d.execCommand("BackgroundImageCache",false,true)}catch(e){t.cssFlicker=true}}tinymce.addUnload(t.destroy,t)},getRoot:function(){var t=this,s=t.settings;return(s&&t.get(s.root_element))||t.doc.body},getViewPort:function(w){var d,b;w=!w?this.win:w;d=w.document;b=this.boxModel?d.documentElement:d.body;return{x:w.pageXOffset||b.scrollLeft,y:w.pageYOffset||b.scrollTop,w:w.innerWidth||b.clientWidth,h:w.innerHeight||b.clientHeight}},getRect:function(e){var p,t=this,sr;e=t.get(e);p=t.getPos(e);sr=t.getSize(e);return{x:p.x,y:p.y,w:sr.w,h:sr.h}},getSize:function(e){var t=this,w,h;e=t.get(e);w=t.getStyle(e,"width");h=t.getStyle(e,"height");if(w.indexOf("px")===-1){w=0}if(h.indexOf("px")===-1){h=0}return{w:parseInt(w)||e.offsetWidth||e.clientWidth,h:parseInt(h)||e.offsetHeight||e.clientHeight}},getParent:function(n,f,r){var na,se=this.settings;n=this.get(n);if(se.strict_root){r=r||this.getRoot()}if(is(f,"string")){na=f.toUpperCase();f=function(n){var s=false;if(n.nodeType==1&&na==="*"){s=true;return false}each(na.split(","),function(v){if(n.nodeType==1&&((se.strict&&n.nodeName.toUpperCase()==v)||n.nodeName.toUpperCase()==v)){s=true;return false}});return s}}while(n){if(n==r){return null}if(f(n)){return n}n=n.parentNode}return null},get:function(e){var n;if(e&&this.doc&&typeof (e)=="string"){n=e;e=this.doc.getElementById(e);if(e&&e.id!==n){return this.doc.getElementsByName(n)[1]}}return e},select:function(pa,s){var t=this,cs,c,pl,o=[],x,i,l,n,xp;s=t.get(s)||t.doc;if(s.querySelectorAll){if(s!=t.doc){i=s.id;s.id="_mc_tmp";pa="#_mc_tmp "+pa}l=tinymce.grep(s.querySelectorAll(pa));s.id=i;return l}if(!t.selectorRe){t.selectorRe=/^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@([\w\\]+)([\^\$\*!]?=)([\w\\]+)\])?(?:\:([\w\\]+))?/i}if(tinymce.isAir){each(tinymce.explode(pa),function(v){if(!(xp=t.cache[v])){xp="";each(v.split(" "),function(v){v=t.selectorRe.exec(v);xp+=v[1]?"//"+v[1]:"//*";if(v[2]){xp+="[@id='"+v[2]+"']"}if(v[3]){each(v[3].split("."),function(n){xp+="[@class = '"+n+"' or contains(concat(' ', @class, ' '), ' "+n+" ')]"})}});t.cache[v]=xp}xp=t.doc.evaluate(xp,s,null,4,null);while(n=xp.iterateNext()){o.push(n)}});return o}if(t.settings.strict){function get(s,n){return s.getElementsByTagName(n.toLowerCase())}}else{function get(s,n){return s.getElementsByTagName(n)}}if(t.elmPattern.test(pa)){x=get(s,pa);for(i=0,l=x.length;i=0;i--){cs+="}, "+(i?"n":"s")+");"}cs+="})";t.cache[pa]=cs=eval(cs)}cs(isIE?collectIE:collect,s)});each(o,function(n){if(isIE){n.removeAttribute("mce_save")}else{delete n.mce_save}});return o},add:function(p,n,a,h,c){var t=this;return this.run(p,function(p){var e,k;e=is(n,"string")?t.doc.createElement(n):n;t.setAttribs(e,a);if(h){if(h.nodeType){e.appendChild(h)}else{t.setHTML(e,h)}}return !c?p.appendChild(e):e})},create:function(n,a,h){return this.add(this.doc.createElement(n),n,a,h,1)},createHTML:function(n,a,h){var o="",t=this,k;o+="<"+n;for(k in a){if(a.hasOwnProperty(k)){o+=" "+k+'="'+t.encode(a[k])+'"'}}if(tinymce.is(h)){return o+">"+h+""}return o+" />"},remove:function(n,k){return this.run(n,function(n){var p,g;p=n.parentNode;if(!p){return null}if(k){each(n.childNodes,function(c){p.insertBefore(c.cloneNode(true),n)})}return p.removeChild(n)})},setStyle:function(n,na,v){var t=this;return t.run(n,function(e){var s,i;s=e.style;na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase()});if(t.pixelStyles.test(na)&&(tinymce.is(v,"number")||/^[\-0-9\.]+$/.test(v))){v+="px"}switch(na){case"opacity":if(isIE){s.filter=v===""?"":"alpha(opacity="+(v*100)+")";if(!n.currentStyle||!n.currentStyle.hasLayout){s.display="inline-block"}}s[na]=s["-moz-opacity"]=s["-khtml-opacity"]=v||"";break;case"float":isIE?s.styleFloat=v:s.cssFloat=v;break;default:s[na]=v||""}if(t.settings.update_styles){t.setAttrib(e,"mce_style")}})},getStyle:function(n,na,c){n=this.get(n);if(!n){return false}if(this.doc.defaultView&&c){na=na.replace(/[A-Z]/g,function(a){return"-"+a});try{return this.doc.defaultView.getComputedStyle(n,null).getPropertyValue(na)}catch(ex){return null}}na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase()});if(na=="float"){na=isIE?"styleFloat":"cssFloat"}if(n.currentStyle&&c){return n.currentStyle[na]}return n.style[na]},setStyles:function(e,o){var t=this,s=t.settings,ol;ol=s.update_styles;s.update_styles=0;each(o,function(v,n){t.setStyle(e,n,v)});s.update_styles=ol;if(s.update_styles){t.setAttrib(e,s.cssText)}},setAttrib:function(e,n,v){var t=this;if(!e||!n){return }if(t.settings.strict){n=n.toLowerCase()}return this.run(e,function(e){var s=t.settings;switch(n){case"style":if(!is(v,"string")){each(v,function(v,n){t.setStyle(e,n,v)});return }if(s.keep_values){if(v&&!t._isRes(v)){e.setAttribute("mce_style",v,2)}else{e.removeAttribute("mce_style",2)}}e.style.cssText=v;break;case"class":e.className=v||"";break;case"src":case"href":if(s.keep_values){if(s.url_converter){v=s.url_converter.call(s.url_converter_scope||t,v,n,e)}t.setAttrib(e,"mce_"+n,v,2)}break;case"shape":e.setAttribute("mce_style",v);break}if(is(v)&&v!==null&&v.length!==0){e.setAttribute(n,""+v,2)}else{e.removeAttribute(n,2)}})},setAttribs:function(e,o){var t=this;return this.run(e,function(e){each(o,function(v,n){t.setAttrib(e,n,v)})})},getAttrib:function(e,n,dv){var v,t=this;e=t.get(e);if(!e||e.nodeType!==1){return false}if(!is(dv)){dv=""}if(/^(src|href|style|coords|shape)$/.test(n)){v=e.getAttribute("mce_"+n);if(v){return v}}if(isIE&&t.props[n]){v=e[t.props[n]];v=v&&v.nodeValue?v.nodeValue:v}if(!v){v=e.getAttribute(n,2)}if(n==="style"){v=v||e.style.cssText;if(v){v=t.serializeStyle(t.parseStyle(v));if(t.settings.keep_values&&!t._isRes(v)){e.setAttribute("mce_style",v)}}}if(isWebKit&&n==="class"&&v){v=v.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(isIE){switch(n){case"rowspan":case"colspan":if(v===1){v=""}break;case"size":if(v==="+0"||v===20){v=""}break;case"width":case"height":case"vspace":if(v===0){v=""}break;case"hspace":if(v===-1){v=""}break;case"maxlength":case"tabindex":if(v===32768||v===2147483647){v=""}break;case"compact":case"noshade":if(v===65535){return n}return dv;case"shape":v=v.toLowerCase();break;default:if(n.indexOf("on")===0&&v){v=(""+v).replace(/^function\s+anonymous\(\)\s+\{\s+(.*)\s+\}$/,"$1")}}}return(v!==undefined&&v!==null&&v!=="")?""+v:dv},getPos:function(n){var t=this,x=0,y=0,e,d=t.doc,r;n=t.get(n);if(n&&isIE){n=n.getBoundingClientRect();e=t.boxModel?d.documentElement:d.body;x=t.getStyle(t.select("html")[0],"borderWidth");x=(x=="medium"||t.boxModel&&!t.isIE6)&&2||x;n.top+=t.win.self!=t.win.top?2:0;return{x:n.left+e.scrollLeft-x,y:n.top+e.scrollTop-x}}r=n;while(r){x+=r.offsetLeft||0;y+=r.offsetTop||0;r=r.offsetParent}r=n;while(r){if(!/^table-row|inline.*/i.test(t.getStyle(r,"display",1))){x-=r.scrollLeft||0;y-=r.scrollTop||0}r=r.parentNode;if(r==d.body){break}}return{x:x,y:y}},parseStyle:function(st){var t=this,s=t.settings,o={};if(!st){return o}function compress(p,s,ot){var t,r,b,l;t=o[p+"-top"+s];if(!t){return }r=o[p+"-right"+s];if(t!=r){return }b=o[p+"-bottom"+s];if(r!=b){return }l=o[p+"-left"+s];if(b!=l){return }o[ot]=l;delete o[p+"-top"+s];delete o[p+"-right"+s];delete o[p+"-bottom"+s];delete o[p+"-left"+s]}function compress2(ta,a,b,c){var t;t=o[a];if(!t){return }t=o[b];if(!t){return }t=o[c];if(!t){return }o[ta]=o[a]+" "+o[b]+" "+o[c];delete o[a];delete o[b];delete o[c]}st=st.replace(/&(#?[a-z0-9]+);/g,"&$1_MCE_SEMI_");each(st.split(";"),function(v){var sv,ur=[];if(v){v=v.replace(/_MCE_SEMI_/g,";");v=v.replace(/url\([^\)]+\)/g,function(v){ur.push(v);return"url("+ur.length+")"});v=v.split(":");sv=tinymce.trim(v[1]);sv=sv.replace(/url\(([^\)]+)\)/g,function(a,b){return ur[parseInt(b)-1]});sv=sv.replace(/rgb\([^\)]+\)/g,function(v){return t.toHex(v)});if(s.url_converter){sv=sv.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g,function(x,c){return"url("+s.url_converter.call(s.url_converter_scope||t,t.decode(c),"style",null)+")"})}o[tinymce.trim(v[0]).toLowerCase()]=sv}});compress("border","","border");compress("border","-width","border-width");compress("border","-color","border-color");compress("border","-style","border-style");compress("padding","","padding");compress("margin","","margin");compress2("border","border-width","border-style","border-color");if(isIE){if(o.border=="medium none"){o.border=""}}return o},serializeStyle:function(o){var s="";each(o,function(v,k){if(k&&v){if(tinymce.isGecko&&k.indexOf("-moz-")===0){return }switch(k){case"color":case"background-color":v=v.toLowerCase();break}s+=(s?" ":"")+k+": "+v+";"}});return s},loadCSS:function(u){var t=this,d=t.doc;if(!u){u=""}each(u.split(","),function(u){if(t.files[u]){return }t.files[u]=true;t.add(t.select("head")[0],"link",{rel:"stylesheet",href:tinymce._addVer(u)})})},addClass:function(e,c){return this.run(e,function(e){var o;if(!c){return 0}if(this.hasClass(e,c)){return e.className}o=this.removeClass(e,c);return e.className=(o!=""?(o+" "):"")+c})},removeClass:function(e,c){var t=this,re;return t.run(e,function(e){var v;if(t.hasClass(e,c)){if(!re){re=new RegExp("(^|\\s+)"+c+"(\\s+|$)","g")}v=e.className.replace(re," ");return e.className=tinymce.trim(v!=" "?v:"")}return e.className})},hasClass:function(n,c){n=this.get(n);if(!n||!c){return false}return(" "+n.className+" ").indexOf(" "+c+" ")!==-1},show:function(e){return this.setStyle(e,"display","block")},hide:function(e){return this.setStyle(e,"display","none")},isHidden:function(e){e=this.get(e);return e.style.display=="none"||this.getStyle(e,"display")=="none"},uniqueId:function(p){return(!p?"mce_":p)+(this.counter++)},setHTML:function(e,h){var t=this;return this.run(e,function(e){var x,i,nl,n,p,x;h=t.processHTML(h);if(isIE){function set(){try{e.innerHTML="
    "+h;e.removeChild(e.firstChild)}catch(ex){while(e.firstChild){e.firstChild.removeNode()}x=t.create("div");x.innerHTML="
    "+h;each(x.childNodes,function(n,i){if(i){e.appendChild(n)}})}}if(t.settings.fix_ie_paragraphs){h=h.replace(/

    <\/p>|]+)><\/p>|/gi,' 

    ')}set();if(t.settings.fix_ie_paragraphs){nl=e.getElementsByTagName("p");for(i=nl.length-1,x=0;i>=0;i--){n=nl[i];if(!n.hasChildNodes()){if(!n.mce_keep){x=1;break}n.removeAttribute("mce_keep")}}}if(x){h=h.replace(/]+)>|

    /g,'');h=h.replace(/<\/p>/g,"");set();if(t.settings.fix_ie_paragraphs){nl=e.getElementsByTagName("DIV");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.mce_tmp){p=t.doc.createElement("p");n.cloneNode(false).outerHTML.replace(/([a-z0-9\-_]+)=/gi,function(a,b){var v;if(b!=="mce_tmp"){v=n.getAttribute(b);if(!v&&b==="class"){v=n.className}p.setAttribute(b,v)}});for(x=0;x|]+)>/gi,"<$1b$2>");h=h.replace(/<(\/?)em>|]+)>/gi,"<$1i$2>")}else{if(isIE){h=h.replace(/'/g,"'")}}h=h.replace(/]+)\/>|/gi,"");if(s.keep_values){h=h.replace(//g,"");if(/|\/\/\s*-->|\]\]>|-->)\s*$/g,"");return s}h=h.replace(/]+|)>([\s\S]*?)<\/script>/g,function(v,a,b){b=trim(b);if(!a){a=' type="text/javascript"'}if(b){b=""}return""+b+""});h=h.replace(/]+|)>([\s\S]*?)<\/style>/g,function(v,a,b){b=trim(b);return"'+b+""})}h=h.replace(/<([\w:]+) [^>]*(src|href|style|shape|coords)[^>]*>/gi,function(a,n){function handle(m,b,c){var u=c;if(a.indexOf("mce_"+b)!=-1){return m}if(b=="style"){if(t._isRes(c)){return m}if(s.hex_colors){u=u.replace(/rgb\([^\)]+\)/g,function(v){return t.toHex(v)})}if(s.url_converter){u=u.replace(/url\([\'\"]?([^\)\'\"]+)\)/g,function(x,c){return"url("+t.encode(s.url_converter.call(s.url_converter_scope||t,t.decode(c),b,n))+")"})}}else{if(b!="coords"&&b!="shape"){if(s.url_converter){u=t.encode(s.url_converter.call(s.url_converter_scope||t,t.decode(c),b,n))}}}return" "+b+'="'+c+'" mce_'+b+'="'+u+'"'}a=a.replace(/ (src|href|style|coords|shape)=[\"]([^\"]+)[\"]/gi,handle);a=a.replace(/ (src|href|style|coords|shape)=[\']([^\']+)[\']/gi,handle);return a.replace(/ (src|href|style|coords|shape)=([^\s\"\'>]+)/gi,handle)})}return h},getOuterHTML:function(e){var d;e=this.get(e);if(!e){return null}if(isIE){return e.outerHTML}d=(e.ownerDocument||this.doc).createElement("body");d.appendChild(e.cloneNode(true));return d.innerHTML},setOuterHTML:function(e,h,d){var t=this;return this.run(e,function(e){var n,tp;e=t.get(e);d=d||e.ownerDocument||t.doc;if(isIE&&e.nodeType==1){e.outerHTML=h}else{tp=d.createElement("body");tp.innerHTML=h;n=tp.lastChild;while(n){t.insertAfter(n.cloneNode(true),e);n=n.previousSibling}t.remove(e)}})},decode:function(s){var e;if(/&[^;]+;/.test(s)){e=this.doc.createElement("div");e.innerHTML=s;return !e.firstChild?s:e.firstChild.nodeValue}return s},encode:function(s){return s?(""+s).replace(/[<>&\"]/g,function(c,b){switch(c){case"&":return"&";case'"':return""";case"<":return"<";case">":return">"}return c}):s},insertAfter:function(n,r){var t=this;r=t.get(r);return this.run(n,function(n){var p,ns;p=r.parentNode;ns=r.nextSibling;if(ns){p.insertBefore(n,ns)}else{p.appendChild(n)}return n})},isBlock:function(n){if(n.nodeType&&n.nodeType!==1){return false}n=n.nodeName||n;return/^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP)$/.test(n)},replace:function(n,o,k){if(is(o,"array")){n=n.cloneNode(true)}return this.run(o,function(o){if(k){each(o.childNodes,function(c){n.appendChild(c.cloneNode(true))})}return o.parentNode.replaceChild(n,o)})},toHex:function(s){var c=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(s);function hex(s){s=parseInt(s).toString(16);return s.length>1?s:"0"+s}if(c){s="#"+hex(c[1])+hex(c[2])+hex(c[3]);return s}return s},getClasses:function(){var t=this,cl=[],i,lo={},f=t.settings.class_filter,ov;if(t.classes){return t.classes}function addClasses(s){each(s.imports,function(r){addClasses(r)});each(s.cssRules||s.rules,function(r){switch(r.type||1){case 1:if(r.selectorText){each(r.selectorText.split(","),function(v){v=v.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(v)||!/\.[\w\-]+$/.test(v)){return }ov=v;v=v.replace(/.*\.([a-z0-9_\-]+).*/i,"$1");if(f&&!(v=f(v,ov))){return }if(!lo[v]){cl.push({"class":v});lo[v]=1}})}break;case 3:addClasses(r.styleSheet);break}})}try{each(t.doc.styleSheets,addClasses)}catch(ex){}if(cl.length>0){t.classes=cl}return cl},run:function(e,f,s){var t=this,o;if(t.doc&&typeof (e)==="string"){e=t.get(e)}if(!e){return false}s=s||this;if(!e.nodeType&&(e.length||e.length===0)){o=[];each(e,function(e,i){if(e){if(typeof (e)=="string"){e=t.doc.getElementById(e)}o.push(f.call(s,e,i))}});return o}return f.call(s,e)},getAttribs:function(n){var o;n=this.get(n);if(!n){return[]}if(isIE){o=[];if(n.nodeName=="OBJECT"){return n.attributes}n.cloneNode(false).outerHTML.replace(/([a-z0-9\:\-_]+)=/gi,function(a,b){o.push({specified:1,nodeName:b})});return o}return n.attributes},destroy:function(s){var t=this;t.win=t.doc=t.root=null;if(!s){tinymce.removeUnload(t.destroy)}},_isRes:function(c){return/^(top|left|bottom|right|width|height)/i.test(c)||/;\s*(top|left|bottom|right|width|height)/i.test(c)}});tinymce.DOM=new tinymce.dom.DOMUtils(document,{process_html:0})})();(function(){var E=tinymce.each,C=tinymce.DOM,B=tinymce.isIE,D=tinymce.isWebKit,A;tinymce.create("static tinymce.dom.Event",{inits:[],events:[],add:function(L,M,K,I){var F,G=this,H=G.events,J;if(L&&L instanceof Array){J=[];E(L,function(N){N=C.get(N);J.push(G.add(N,M,K,I))});return J}L=C.get(L);if(!L){return }F=function(N){N=N||window.event;if(N&&!N.target&&B){N.target=N.srcElement}if(!I){return K(N)}return K.call(I,N)};if(M=="unload"){tinymce.unloads.unshift({func:F});return F}if(M=="init"){if(G.domLoaded){F()}else{G.inits.push(F)}return F}H.push({obj:L,name:M,func:K,cfunc:F,scope:I});G._add(L,M,F);return K},remove:function(K,L,J){var G=this,F=G.events,H=false,I;if(K&&K instanceof Array){I=[];E(K,function(M){M=C.get(M);I.push(G.remove(M,L,J))});return I}K=C.get(K);E(F,function(N,M){if(N.obj==K&&N.name==L&&(!J||(N.func==J||N.cfunc==J))){F.splice(M,1);G._remove(K,L,N.cfunc);H=true;return false}});return H},clear:function(J){var H=this,F=H.events,G,I;if(J){J=C.get(J);for(G=F.length-1;G>=0;G--){I=F[G];if(I.obj===J){H._remove(I.obj,I.name,I.cfunc);I.obj=I.cfunc=null;F.splice(G,1)}}}},cancel:function(F){if(!F){return false}this.stop(F);return this.prevent(F)},stop:function(F){if(F.stopPropagation){F.stopPropagation()}else{F.cancelBubble=true}return false},prevent:function(F){if(F.preventDefault){F.preventDefault()}else{F.returnValue=false}return false},_unload:function(){var F=A;E(F.events,function(H,G){F._remove(H.obj,H.name,H.cfunc);H.obj=H.cfunc=null});F.events=[];F=null},_add:function(G,H,F){if(G.attachEvent){G.attachEvent("on"+H,F)}else{if(G.addEventListener){G.addEventListener(H,F,false)}else{G["on"+H]=F}}},_remove:function(H,I,G){if(H){try{if(H.detachEvent){H.detachEvent("on"+I,G)}else{if(H.removeEventListener){H.removeEventListener(I,G,false)}else{H["on"+I]=null}}}catch(F){}}},_pageInit:function(){var F=A;F._remove(window,"DOMContentLoaded",F._pageInit);F.domLoaded=true;E(F.inits,function(G){G()});F.inits=[]},_wait:function(){var F;if(window.tinyMCE_GZ&&tinyMCE_GZ.loaded){A.domLoaded=1;return }if(B&&document.location.protocol!="https:"){document.write("'."\n". + ''."\n"; + return $js; + } + +} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/license.txt b/lib/editor/tinymce/license.txt similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/license.txt rename to lib/editor/tinymce/license.txt diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css b/lib/editor/tinymce/plugins/advhr/css/advhr.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css rename to lib/editor/tinymce/plugins/advhr/css/advhr.css diff --git a/lib/editor/tinymce/plugins/advhr/editor_plugin.js b/lib/editor/tinymce/plugins/advhr/editor_plugin.js new file mode 100644 index 0000000000..4d3b062dee --- /dev/null +++ b/lib/editor/tinymce/plugins/advhr/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedHRPlugin",{init:function(a,b){a.addCommand("mceAdvancedHr",function(){a.windowManager.open({file:b+"/rule.htm",width:250+parseInt(a.getLang("advhr.delta_width",0)),height:160+parseInt(a.getLang("advhr.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("advhr",{title:"advhr.advhr_desc",cmd:"mceAdvancedHr"});a.onNodeChange.add(function(d,c,e){c.setActive("advhr",e.nodeName=="HR")});a.onClick.add(function(c,d){d=d.target;if(d.nodeName==="HR"){c.selection.select(d)}})},getInfo:function(){return{longname:"Advanced HR",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advhr",tinymce.plugins.AdvancedHRPlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js b/lib/editor/tinymce/plugins/advhr/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js rename to lib/editor/tinymce/plugins/advhr/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js b/lib/editor/tinymce/plugins/advhr/js/rule.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js rename to lib/editor/tinymce/plugins/advhr/js/rule.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js b/lib/editor/tinymce/plugins/advhr/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js rename to lib/editor/tinymce/plugins/advhr/langs/en_dlg.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm b/lib/editor/tinymce/plugins/advhr/rule.htm similarity index 95% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm rename to lib/editor/tinymce/plugins/advhr/rule.htm index 8f20f7fa85..75ca3392f7 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +++ b/lib/editor/tinymce/plugins/advhr/rule.htm @@ -7,7 +7,6 @@ -

    @@ -22,7 +21,7 @@ - - + @@ -89,7 +88,7 @@ - @@ -123,7 +122,7 @@ - + @@ -158,7 +157,7 @@ - + @@ -171,7 +170,7 @@ - +
    +
    + x px
    diff --git a/lib/editor/tinymce/plugins/advimage/img/sample.gif b/lib/editor/tinymce/plugins/advimage/img/sample.gif new file mode 100644 index 0000000000..53bf6890b5 Binary files /dev/null and b/lib/editor/tinymce/plugins/advimage/img/sample.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js b/lib/editor/tinymce/plugins/advimage/js/image.js similarity index 95% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js rename to lib/editor/tinymce/plugins/advimage/js/image.js index 64fc6f677b..347722661b 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +++ b/lib/editor/tinymce/plugins/advimage/js/image.js @@ -272,6 +272,7 @@ var ImageDialog = { cl = tinyMCEPopup.editor.dom.getClasses(); if (cl.length > 0) { + lst.options.length = 0; lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); tinymce.each(cl, function(o) { @@ -285,6 +286,7 @@ var ImageDialog = { var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; l = window[l]; + lst.options.length = 0; if (l && l.length > 0) { lst.options[lst.options.length] = new Option('', ''); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js b/lib/editor/tinymce/plugins/advimage/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js rename to lib/editor/tinymce/plugins/advimage/langs/en_dlg.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css b/lib/editor/tinymce/plugins/advlink/css/advlink.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css rename to lib/editor/tinymce/plugins/advlink/css/advlink.css diff --git a/lib/editor/tinymce/plugins/advlink/editor_plugin.js b/lib/editor/tinymce/plugins/advlink/editor_plugin.js new file mode 100644 index 0000000000..983fe5a9ca --- /dev/null +++ b/lib/editor/tinymce/plugins/advlink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedLinkPlugin",{init:function(a,b){this.editor=a;a.addCommand("mceAdvLink",function(){var c=a.selection;if(c.isCollapsed()&&!a.dom.getParent(c.getNode(),"A")){return}a.windowManager.open({file:b+"/link.htm",width:480+parseInt(a.getLang("advlink.delta_width",0)),height:400+parseInt(a.getLang("advlink.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("link",{title:"advlink.link_desc",cmd:"mceAdvLink"});a.addShortcut("ctrl+k","advlink.advlink_desc","mceAdvLink");a.onNodeChange.add(function(d,c,f,e){c.setDisabled("link",e&&f.nodeName!="A");c.setActive("link",f.nodeName=="A"&&!f.name)})},getInfo:function(){return{longname:"Advanced link",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlink",tinymce.plugins.AdvancedLinkPlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js b/lib/editor/tinymce/plugins/advlink/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js rename to lib/editor/tinymce/plugins/advlink/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js b/lib/editor/tinymce/plugins/advlink/js/advlink.js similarity index 96% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js rename to lib/editor/tinymce/plugins/advlink/js/advlink.js index a89625014a..bb7922a6e1 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +++ b/lib/editor/tinymce/plugins/advlink/js/advlink.js @@ -116,7 +116,7 @@ function checkPrefix(n) { if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email'))) n.value = 'mailto:' + n.value; - if (/^\s*www./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) n.value = 'http://' + n.value; } @@ -402,6 +402,7 @@ function insertAction() { // Create new anchor elements if (elm == null) { + inst.getDoc().execCommand("unlink", false, null); tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js b/lib/editor/tinymce/plugins/advlink/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js rename to lib/editor/tinymce/plugins/advlink/langs/en_dlg.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm b/lib/editor/tinymce/plugins/advlink/link.htm similarity index 84% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm rename to lib/editor/tinymce/plugins/advlink/link.htm index f46e8f8324..cc8b0b87c1 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +++ b/lib/editor/tinymce/plugins/advlink/link.htm @@ -8,7 +8,6 @@ - @@ -28,7 +27,7 @@ - + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm b/lib/editor/tinymce/plugins/template/blank.htm similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm rename to lib/editor/tinymce/plugins/template/blank.htm diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css b/lib/editor/tinymce/plugins/template/css/template.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css rename to lib/editor/tinymce/plugins/template/css/template.css diff --git a/lib/editor/tinymce/plugins/template/editor_plugin.js b/lib/editor/tinymce/plugins/template/editor_plugin.js new file mode 100644 index 0000000000..11ee592a82 --- /dev/null +++ b/lib/editor/tinymce/plugins/template/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.TemplatePlugin",{init:function(b,c){var d=this;d.editor=b;b.addCommand("mceTemplate",function(e){b.windowManager.open({file:c+"/template.htm",width:b.getParam("template_popup_width",750),height:b.getParam("template_popup_height",600),inline:1},{plugin_url:c})});b.addCommand("mceInsertTemplate",d._insertTemplate,d);b.addButton("template",{title:"template.desc",cmd:"mceTemplate"});b.onPreProcess.add(function(e,g){var f=e.dom;a(f.select("div",g.node),function(h){if(f.hasClass(h,"mceTmpl")){a(f.select("*",h),function(i){if(f.hasClass(i,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){i.innerHTML=d._getDateTime(new Date(),e.getParam("template_mdate_format",e.getLang("template.mdate_format")))}});d._replaceVals(h)}})})},getInfo:function(){return{longname:"Template plugin",author:"Moxiecode Systems AB",authorurl:"http://www.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_insertTemplate:function(i,j){var k=this,g=k.editor,f,c,d=g.dom,b=g.selection.getContent();f=j.content;a(k.editor.getParam("template_replace_values"),function(l,h){if(typeof(l)!="function"){f=f.replace(new RegExp("\\{\\$"+h+"\\}","g"),l)}});c=d.create("div",null,f);n=d.select(".mceTmpl",c);if(n&&n.length>0){c=d.create("div",null);c.appendChild(n[0].cloneNode(true))}function e(l,h){return new RegExp("\\b"+h+"\\b","g").test(l.className)}a(d.select("*",c),function(h){if(e(h,g.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_cdate_format",g.getLang("template.cdate_format")))}if(e(h,g.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_mdate_format",g.getLang("template.mdate_format")))}if(e(h,g.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))){h.innerHTML=b}});k._replaceVals(c);g.execCommand("mceInsertContent",false,c.innerHTML);g.addVisual()},_replaceVals:function(c){var d=this.editor.dom,b=this.editor.getParam("template_replace_values");a(d.select("*",c),function(f){a(b,function(g,e){if(d.hasClass(f,e)){if(typeof(b[e])=="function"){b[e](f)}}})})},_getDateTime:function(e,b){if(!b){return""}function c(g,d){var f;g=""+g;if(g.length - diff --git a/lib/editor/tinymce/plugins/visualchars/editor_plugin.js b/lib/editor/tinymce/plugins/visualchars/editor_plugin.js new file mode 100644 index 0000000000..53d31c44fa --- /dev/null +++ b/lib/editor/tinymce/plugins/visualchars/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state){c.state=true;c._toggleVisualChars()}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(){var m=this,g=m.editor,a,e,f,k=g.getDoc(),l=g.getBody(),j,n=g.selection,c;m.state=!m.state;g.controlManager.setActive("visualchars",m.state);if(m.state){a=[];tinymce.walk(l,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(e=0;e$1');j=j.replace(/\u00a0/g,"\u00b7");g.dom.setOuterHTML(a[e],j,k)}}else{a=tinymce.grep(g.dom.select("span",l),function(b){return g.dom.hasClass(b,"mceVisualNbsp")});for(e=0;e - diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm b/lib/editor/tinymce/plugins/xhtmlxtras/acronym.htm similarity index 97% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm rename to lib/editor/tinymce/plugins/xhtmlxtras/acronym.htm index 54e4c9d9ec..4d4ebaac0a 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +++ b/lib/editor/tinymce/plugins/xhtmlxtras/acronym.htm @@ -9,7 +9,6 @@ - diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm b/lib/editor/tinymce/plugins/xhtmlxtras/attributes.htm similarity index 95% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm rename to lib/editor/tinymce/plugins/xhtmlxtras/attributes.htm index cfbb409ab6..322b468e38 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +++ b/lib/editor/tinymce/plugins/xhtmlxtras/attributes.htm @@ -8,7 +8,6 @@ - @@ -36,12 +35,12 @@ - + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm b/lib/editor/tinymce/plugins/xhtmlxtras/cite.htm similarity index 97% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm rename to lib/editor/tinymce/plugins/xhtmlxtras/cite.htm index 7d9eaba4d2..cdfaf4e854 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +++ b/lib/editor/tinymce/plugins/xhtmlxtras/cite.htm @@ -9,7 +9,6 @@ - diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/lib/editor/tinymce/plugins/xhtmlxtras/css/attributes.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css rename to lib/editor/tinymce/plugins/xhtmlxtras/css/attributes.css diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css b/lib/editor/tinymce/plugins/xhtmlxtras/css/popup.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css rename to lib/editor/tinymce/plugins/xhtmlxtras/css/popup.css diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm b/lib/editor/tinymce/plugins/xhtmlxtras/del.htm similarity index 96% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm rename to lib/editor/tinymce/plugins/xhtmlxtras/del.htm index d03c4568aa..f45676e3d4 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +++ b/lib/editor/tinymce/plugins/xhtmlxtras/del.htm @@ -9,7 +9,6 @@ - @@ -31,7 +30,7 @@
    @@ -38,25 +37,25 @@ - + - + - + - + @@ -73,7 +72,7 @@
     
     
     
    - + - + @@ -260,8 +259,7 @@ - - + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/editor_plugin.js b/lib/editor/tinymce/plugins/moodlenolink/editor_plugin.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/editor_plugin.js rename to lib/editor/tinymce/plugins/moodlenolink/editor_plugin.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/editor_plugin_src.js b/lib/editor/tinymce/plugins/moodlenolink/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/editor_plugin_src.js rename to lib/editor/tinymce/plugins/moodlenolink/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/img/ed_nolink.gif b/lib/editor/tinymce/plugins/moodlenolink/img/ed_nolink.gif similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/img/ed_nolink.gif rename to lib/editor/tinymce/plugins/moodlenolink/img/ed_nolink.gif diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/langs/en.js b/lib/editor/tinymce/plugins/moodlenolink/langs/en.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlenolink/langs/en.js rename to lib/editor/tinymce/plugins/moodlenolink/langs/en.js diff --git a/lib/editor/tinymce/plugins/nonbreaking/editor_plugin.js b/lib/editor/tinymce/plugins/nonbreaking/editor_plugin.js new file mode 100644 index 0000000000..f2dbbff2bb --- /dev/null +++ b/lib/editor/tinymce/plugins/nonbreaking/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Nonbreaking",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceNonBreaking",function(){a.execCommand("mceInsertContent",false,(a.plugins.visualchars&&a.plugins.visualchars.state)?'·':" ")});a.addButton("nonbreaking",{title:"nonbreaking.nonbreaking_desc",cmd:"mceNonBreaking"});if(a.getParam("nonbreaking_force_tab")){a.onKeyDown.add(function(d,f){if(tinymce.isIE&&f.keyCode==9){d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");tinymce.dom.Event.cancel(f)}})}},getInfo:function(){return{longname:"Nonbreaking space",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("nonbreaking",tinymce.plugins.Nonbreaking)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/lib/editor/tinymce/plugins/nonbreaking/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js rename to lib/editor/tinymce/plugins/nonbreaking/editor_plugin_src.js diff --git a/lib/editor/tinymce/plugins/noneditable/editor_plugin.js b/lib/editor/tinymce/plugins/noneditable/editor_plugin.js new file mode 100644 index 0000000000..9945cd8580 --- /dev/null +++ b/lib/editor/tinymce/plugins/noneditable/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.dom.Event;tinymce.create("tinymce.plugins.NonEditablePlugin",{init:function(d,e){var f=this,c,b;f.editor=d;c=d.getParam("noneditable_editable_class","mceEditable");b=d.getParam("noneditable_noneditable_class","mceNonEditable");d.onNodeChange.addToTop(function(h,g,k){var j,i;j=h.dom.getParent(h.selection.getStart(),function(l){return h.dom.hasClass(l,b)});i=h.dom.getParent(h.selection.getEnd(),function(l){return h.dom.hasClass(l,b)});if(j||i){f._setDisabled(1);return false}else{f._setDisabled(0)}})},getInfo:function(){return{longname:"Non editable elements",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_block:function(c,d){var b=d.keyCode;if((b>32&&b<41)||(b>111&&b<124)){return}return a.cancel(d)},_setDisabled:function(d){var c=this,b=c.editor;tinymce.each(b.controlManager.controls,function(e){e.setDisabled(d)});if(d!==c.disabled){if(d){b.onKeyDown.addToTop(c._block);b.onKeyPress.addToTop(c._block);b.onKeyUp.addToTop(c._block);b.onPaste.addToTop(c._block)}else{b.onKeyDown.remove(c._block);b.onKeyPress.remove(c._block);b.onKeyUp.remove(c._block);b.onPaste.remove(c._block)}c.disabled=d}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js b/lib/editor/tinymce/plugins/noneditable/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js rename to lib/editor/tinymce/plugins/noneditable/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css b/lib/editor/tinymce/plugins/pagebreak/css/content.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css rename to lib/editor/tinymce/plugins/pagebreak/css/content.css diff --git a/lib/editor/tinymce/plugins/pagebreak/editor_plugin.js b/lib/editor/tinymce/plugins/pagebreak/editor_plugin.js new file mode 100644 index 0000000000..a212f69633 --- /dev/null +++ b/lib/editor/tinymce/plugins/pagebreak/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.PageBreakPlugin",{init:function(b,d){var f='',a="mcePageBreak",c=b.getParam("pagebreak_separator",""),e;e=new RegExp(c.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(g){return"\\"+g}),"g");b.addCommand("mcePageBreak",function(){b.execCommand("mceInsertContent",0,f)});b.addButton("pagebreak",{title:"pagebreak.desc",cmd:a});b.onInit.add(function(){if(b.settings.content_css!==false){b.dom.loadCSS(d+"/css/content.css")}if(b.theme.onResolveName){b.theme.onResolveName.add(function(g,h){if(h.node.nodeName=="IMG"&&b.dom.hasClass(h.node,a)){h.name="pagebreak"}})}});b.onClick.add(function(g,h){h=h.target;if(h.nodeName==="IMG"&&g.dom.hasClass(h,a)){g.selection.select(h)}});b.onNodeChange.add(function(h,g,i){g.setActive("pagebreak",i.nodeName==="IMG"&&h.dom.hasClass(i,a))});b.onBeforeSetContent.add(function(g,h){h.content=h.content.replace(e,f)});b.onPostProcess.add(function(g,h){if(h.get){h.content=h.content.replace(/]+>/g,function(i){if(i.indexOf('class="mcePageBreak')!==-1){i=c}return i})}})},getInfo:function(){return{longname:"PageBreak",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("pagebreak",tinymce.plugins.PageBreakPlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js b/lib/editor/tinymce/plugins/pagebreak/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js rename to lib/editor/tinymce/plugins/pagebreak/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif b/lib/editor/tinymce/plugins/pagebreak/img/pagebreak.gif similarity index 61% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif rename to lib/editor/tinymce/plugins/pagebreak/img/pagebreak.gif index 5ffe700cb3..acdf4085f3 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif and b/lib/editor/tinymce/plugins/pagebreak/img/pagebreak.gif differ diff --git a/lib/editor/tinymce/plugins/pagebreak/img/trans.gif b/lib/editor/tinymce/plugins/pagebreak/img/trans.gif new file mode 100644 index 0000000000..388486517f Binary files /dev/null and b/lib/editor/tinymce/plugins/pagebreak/img/trans.gif differ diff --git a/lib/editor/tinymce/plugins/paste/editor_plugin.js b/lib/editor/tinymce/plugins/paste/editor_plugin.js new file mode 100644 index 0000000000..f439463780 --- /dev/null +++ b/lib/editor/tinymce/plugins/paste/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.PastePlugin",{init:function(c,d){var e=this,b;e.editor=c;e.url=d;e.onPreProcess=new tinymce.util.Dispatcher(e);e.onPostProcess=new tinymce.util.Dispatcher(e);e.onPreProcess.add(e._preProcess);e.onPostProcess.add(e._postProcess);e.onPreProcess.add(function(h,i){c.execCallback("paste_preprocess",h,i)});e.onPostProcess.add(function(h,i){c.execCallback("paste_postprocess",h,i)});function g(i){var k=c.dom,j={content:i};e.onPreProcess.dispatch(e,j);j.node=k.create("div",0,j.content);e.onPostProcess.dispatch(e,j);j.content=c.serializer.serialize(j.node,{getInner:1});if(/<(p|h[1-6]|ul|ol)/.test(j.content)){e._insertBlockContent(c,k,j.content)}else{e._insert(j.content)}}c.addCommand("mceInsertClipboardContent",function(i,h){g(h)});function f(l){var p,k,i,j=c.selection,o=c.dom,h=c.getBody(),m;if(o.get("_mcePaste")){return}p=o.add(h,"div",{id:"_mcePaste"}," ");if(h!=c.getDoc().body){m=o.getPos(c.selection.getStart(),h).y}else{m=h.scrollTop}o.setStyles(p,{position:"absolute",left:-10000,top:m,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){i=o.doc.body.createTextRange();i.moveToElementText(p);i.execCommand("Paste");o.remove(p);g(p.innerHTML);return tinymce.dom.Event.cancel(l)}else{k=c.selection.getRng();p=p.firstChild;i=c.getDoc().createRange();i.setStart(p,0);i.setEnd(p,1);j.setRng(i);window.setTimeout(function(){var r=o.get("_mcePaste"),q;r.id="_mceRemoved";o.remove(r);r=o.get("_mcePaste")||r;q=(o.select("> span.Apple-style-span div",r)[0]||o.select("> span.Apple-style-span",r)[0]||r).innerHTML;o.remove(r);if(k){j.setRng(k)}g(q)},0)}}if(c.getParam("paste_auto_cleanup_on_paste",true)){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){c.onKeyDown.add(function(h,i){if(((tinymce.isMac?i.metaKey:i.ctrlKey)&&i.keyCode==86)||(i.shiftKey&&i.keyCode==45)){f(i)}})}else{c.onPaste.addToTop(function(h,i){return f(i)})}}e._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(c,e){var b=e.content,d;function d(f){a(f,function(g){if(g.constructor==RegExp){b=b.replace(g,"")}else{b=b.replace(g[0],g[1])}})}d([/^\s*( )+/g,/( |]*>)+\s*$/g]);if(/(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/.test(b)){e.wordContent=true;d([//gi,/<\/?(img|font|meta|link|style|span|div|v:\w+)[^>]*>/gi,/<\\?\?xml[^>]*>/gi,/<\/?o:[^>]*>/gi,/ (id|name|class|language|type|on\w+|v:\w+)=\"([^\"]*)\"/gi,/ (id|name|class|language|type|on\w+|v:\w+)=(\w+)/gi,[/<(\/?)s>/gi,"<$1strike>"],/]+>[\s\S]*?<\/script>/gi,[/ /g,"\u00a0"]])}e.content=b},_postProcess:function(c,e){var b=this,d=b.editor.dom;if(e.wordContent){a(d.select("a",e.node),function(f){if(!f.href||f.href.indexOf("#_Toc")!=-1){d.remove(f,1)}});if(b.editor.getParam("paste_convert_middot_lists",true)){b._convertLists(c,e)}a(d.select("*",e.node),function(f){d.setAttrib(f,"style","")})}if(tinymce.isWebKit){a(d.select("*",e.node),function(f){f.removeAttribute("mce_style")})}},_convertLists:function(e,c){var g=e.editor.dom,f,i,b=-1,d,j=[],h;a(g.select("p",c.node),function(q){var m,r="",o,n,k,l;for(m=q.firstChild;m&&m.nodeType==3;m=m.nextSibling){r+=m.nodeValue}if(/^[\u2022\u00b7\u00a7\u00d8o]\s*\u00a0\u00a0*/.test(r)){o="ul"}if(/^[\s\S]*\w+\.[\s\S]*\u00a0{2,}/.test(r)){o="ol"}if(o){d=parseFloat(q.style.marginLeft||0);if(d>b){j.push(d)}if(!f||o!=h){f=g.create(o);g.insertAfter(f,q)}else{if(d>b){f=i.appendChild(g.create(o))}else{if(d ',1);g=e.get("_marker");c=e.getParent(g,"p,h1,h2,h3,h4,h5,h6,ul,ol");if(c){g=e.split(c,g);a(e.create("div",0,i).childNodes,function(o){m=g.parentNode.insertBefore(o.cloneNode(true),g)});l(m)}else{e.setOuterHTML(g,i);d.select(h.getBody(),1);d.collapse(0)}e.remove("_marker");j=d.getStart();b=e.getViewPort(h.getWin());k=h.dom.getPos(j).y;f=j.clientHeight;if(kb.y+b.h){h.getDoc().body.scrollTop=k
       @@ -84,19 +83,19 @@ - + - - + - - + @@ -109,27 +108,27 @@
      
      +   x px
      +   / (c /c = center)
    - + - + - + - + - + - + - + - +
    diff --git a/lib/editor/tinymce/plugins/autosave/editor_plugin.js b/lib/editor/tinymce/plugins/autosave/editor_plugin.js new file mode 100644 index 0000000000..091a063a9c --- /dev/null +++ b/lib/editor/tinymce/plugins/autosave/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutoSavePlugin",{init:function(a,b){var c=this;c.editor=a;window.onbeforeunload=tinymce.plugins.AutoSavePlugin._beforeUnloadHandler},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:tinymce.majorVersion+"."+tinymce.minorVersion}},"static":{_beforeUnloadHandler:function(){var a;tinymce.each(tinyMCE.editors,function(b){if(b.getParam("fullscreen_is_enabled")){return}if(b.isDirty()){a=b.getLang("autosave.unload_msg");return false}});return a}}});tinymce.PluginManager.add("autosave",tinymce.plugins.AutoSavePlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js b/lib/editor/tinymce/plugins/autosave/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js rename to lib/editor/tinymce/plugins/autosave/editor_plugin_src.js diff --git a/lib/editor/tinymce/plugins/bbcode/editor_plugin.js b/lib/editor/tinymce/plugins/bbcode/editor_plugin.js new file mode 100644 index 0000000000..930fdff0af --- /dev/null +++ b/lib/editor/tinymce/plugins/bbcode/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(a,b){var d=this,c=a.getParam("bbcode_dialect","punbb").toLowerCase();a.onBeforeSetContent.add(function(e,f){f.content=d["_"+c+"_bbcode2html"](f.content)});a.onPostProcess.add(function(e,f){if(f.set){f.content=d["_"+c+"_bbcode2html"](f.content)}if(f.get){f.content=d["_"+c+"_html2bbcode"](f.content)}})},getInfo:function(){return{longname:"BBCode Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_punbb_html2bbcode:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/(.*?)<\/a>/gi,"[url=$1]$2[/url]");b(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/(.*?)<\/span>/gi,"[color=$1]$2[/color]");b(/(.*?)<\/font>/gi,"[color=$1]$2[/color]");b(/(.*?)<\/span>/gi,"[size=$1]$2[/size]");b(/(.*?)<\/font>/gi,"$1");b(//gi,"[img]$1[/img]");b(/(.*?)<\/span>/gi,"[code]$1[/code]");b(/(.*?)<\/span>/gi,"[quote]$1[/quote]");b(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");b(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");b(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");b(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");b(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");b(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");b(/<\/(strong|b)>/gi,"[/b]");b(/<(strong|b)>/gi,"[b]");b(/<\/(em|i)>/gi,"[/i]");b(/<(em|i)>/gi,"[i]");b(/<\/u>/gi,"[/u]");b(/(.*?)<\/span>/gi,"[u]$1[/u]");b(//gi,"[u]");b(/]*>/gi,"[quote]");b(/<\/blockquote>/gi,"[/quote]");b(/
    /gi,"\n");b(//gi,"\n");b(/
    /gi,"\n");b(/

    /gi,"");b(/<\/p>/gi,"\n");b(/ /gi," ");b(/"/gi,'"');b(/</gi,"<");b(/>/gi,">");b(/&/gi,"&");return a},_punbb_bbcode2html:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/\n/gi,"
    ");b(/\[b\]/gi,"");b(/\[\/b\]/gi,"");b(/\[i\]/gi,"");b(/\[\/i\]/gi,"");b(/\[u\]/gi,"");b(/\[\/u\]/gi,"");b(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'$2');b(/\[url\](.*?)\[\/url\]/gi,'$1');b(/\[img\](.*?)\[\/img\]/gi,'');b(/\[color=(.*?)\](.*?)\[\/color\]/gi,'$2');b(/\[code\](.*?)\[\/code\]/gi,'$1 ');b(/\[quote.*?\](.*?)\[\/quote\]/gi,'$1 ');return a}});tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/lib/editor/tinymce/plugins/bbcode/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js rename to lib/editor/tinymce/plugins/bbcode/editor_plugin_src.js diff --git a/lib/editor/tinymce/plugins/compat2x/editor_plugin.js b/lib/editor/tinymce/plugins/compat2x/editor_plugin.js new file mode 100644 index 0000000000..d921728fcb --- /dev/null +++ b/lib/editor/tinymce/plugins/compat2x/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.is;tinymce.create("tinymce.plugins.Compat2x",{getInfo:function(){return{longname:"Compat2x",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/compat2x",version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}}});(function(){tinymce.extend(tinyMCE,{addToLang:function(f,e){d(e,function(h,g){tinyMCE.i18n[(tinyMCE.settings.language||"en")+"."+(f?f+"_":"")+g]=h})},getInstanceById:function(e){return this.get(e)}})})();(function(){var e=tinymce.EditorManager;tinyMCE.instances={};tinyMCE.plugins={};tinymce.PluginManager.onAdd.add(function(f,h,g){tinyMCE.plugins[h]=g});tinyMCE.majorVersion=tinymce.majorVersion;tinyMCE.minorVersion=tinymce.minorVersion;tinyMCE.releaseDate=tinymce.releaseDate;tinyMCE.baseURL=tinymce.baseURL;tinyMCE.isIE=tinyMCE.isMSIE=tinymce.isIE||tinymce.isOpera;tinyMCE.isMSIE5=tinymce.isIE;tinyMCE.isMSIE5_0=tinymce.isIE;tinyMCE.isMSIE7=tinymce.isIE;tinyMCE.isGecko=tinymce.isGecko;tinyMCE.isSafari=tinymce.isWebKit;tinyMCE.isOpera=tinymce.isOpera;tinyMCE.isMac=false;tinyMCE.isNS7=false;tinyMCE.isNS71=false;tinyMCE.compat=true;TinyMCE_Engine=tinyMCE;tinymce.extend(tinyMCE,{getParam:function(g,f){return this.activeEditor.getParam(g,f)},addEvent:function(i,g,h,j){tinymce.dom.Event.add(i,g,h,j||this)},getControlHTML:function(f){return e.activeEditor.controlManager.createControl(f)},loadCSS:function(f){tinymce.DOM.loadCSS(f)},importCSS:function(g,f){if(g==document){this.loadCSS(f)}else{new tinymce.dom.DOMUtils(g).loadCSS(f)}},log:function(){console.debug.apply(console,arguments)},getLang:function(h,g){var f=e.activeEditor.getLang(h.replace(/^lang_/g,""),g);if(/^[0-9\-.]+$/g.test(f)){return parseInt(f)}return f},isInstance:function(f){return f!=null&&typeof(f)=="object"&&f.execCommand},triggerNodeChange:function(){e.activeEditor.nodeChanged()},regexpReplace:function(j,f,h,i){var g;if(j==null){return j}if(typeof(i)=="undefined"){i="g"}g=new RegExp(f,i);return j.replace(g,h)},trim:function(f){return tinymce.trim(f)},xmlEncode:function(f){return tinymce.DOM.encode(f)},explode:function(f,h){var g=[];tinymce.each(f.split(h),function(i){if(i!=""){g.push(i)}});return g},switchClass:function(h,g){var f;if(/^mceButton/.test(g)){f=e.activeEditor.controlManager.get(h);if(!f){return}switch(g){case"mceButtonNormal":f.setDisabled(false);f.setActive(false);return;case"mceButtonDisabled":f.setDisabled(true);return;case"mceButtonSelected":f.setActive(true);f.setDisabled(false);return}}},addCSSClass:function(g,h,f){return tinymce.DOM.addClass(g,h,f)},hasCSSClass:function(f,g){return tinymce.DOM.hasClass(f,g)},removeCSSClass:function(f,g){return tinymce.DOM.removeClass(f,g)},getCSSClasses:function(){var f=e.activeEditor.dom.getClasses(),g=[];d(f,function(h){g.push(h["class"])});return g},setWindowArg:function(g,f){e.activeEditor.windowManager.params[g]=f},getWindowArg:function(i,g){var h=e.activeEditor.windowManager,f;f=h.getParam(i);if(f===""){return""}return f||h.getFeature(i)||g},getParentNode:function(h,g){return this._getDOM().getParent(h,g)},selectElements:function(o,k,m){var l,j=[],h,g;for(g=0,k=k.split(",");g + {#emotions_dlg.title} -

    diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-cool.gif similarity index 63% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-cool.gif index 9043330209..ba90cc36fb 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-cool.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-cry.gif similarity index 51% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-cry.gif index d9c170bb09..74d897a4f6 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-cry.gif differ diff --git a/lib/editor/tinymce/plugins/emotions/img/smiley-embarassed.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-embarassed.gif new file mode 100644 index 0000000000..963a96b8a7 Binary files /dev/null and b/lib/editor/tinymce/plugins/emotions/img/smiley-embarassed.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif similarity index 66% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif index cac4126f9f..16f68cc1e9 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-frown.gif similarity index 58% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-frown.gif index 1cfa0cb24b..716f55e161 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-frown.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-innocent.gif similarity index 55% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-innocent.gif index 622d18953d..334d49e0e6 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-innocent.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-kiss.gif similarity index 64% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-kiss.gif index 70efffaa5b..4efd549ed3 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-kiss.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-laughing.gif similarity index 51% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-laughing.gif index afe2f13bd6..1606c119e7 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-laughing.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-money-mouth.gif similarity index 58% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-money-mouth.gif index c64831139e..ca2451e102 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-money-mouth.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-sealed.gif similarity index 50% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-sealed.gif index 5b870bbe40..b33d3cca1e 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-sealed.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-smile.gif similarity index 72% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-smile.gif index d54183f14e..e6a9e60d5d 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-smile.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-surprised.gif similarity index 50% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-surprised.gif index afa4b4d342..cb99cdd913 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-surprised.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-tongue-out.gif similarity index 60% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-tongue-out.gif index f7ff135785..2075dc1605 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-tongue-out.gif differ diff --git a/lib/editor/tinymce/plugins/emotions/img/smiley-undecided.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-undecided.gif new file mode 100644 index 0000000000..bef7e25730 Binary files /dev/null and b/lib/editor/tinymce/plugins/emotions/img/smiley-undecided.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-wink.gif similarity index 57% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-wink.gif index 33550d880c..9faf1aff8f 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-wink.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif b/lib/editor/tinymce/plugins/emotions/img/smiley-yell.gif similarity index 57% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif rename to lib/editor/tinymce/plugins/emotions/img/smiley-yell.gif index 2a065399f7..648e6e8791 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif and b/lib/editor/tinymce/plugins/emotions/img/smiley-yell.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js b/lib/editor/tinymce/plugins/emotions/js/emotions.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js rename to lib/editor/tinymce/plugins/emotions/js/emotions.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js b/lib/editor/tinymce/plugins/emotions/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js rename to lib/editor/tinymce/plugins/emotions/langs/en_dlg.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm b/lib/editor/tinymce/plugins/example/dialog.htm similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm rename to lib/editor/tinymce/plugins/example/dialog.htm diff --git a/lib/editor/tinymce/plugins/example/editor_plugin.js b/lib/editor/tinymce/plugins/example/editor_plugin.js new file mode 100644 index 0000000000..ec1f81ea40 --- /dev/null +++ b/lib/editor/tinymce/plugins/example/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.PluginManager.requireLangPack("example");tinymce.create("tinymce.plugins.ExamplePlugin",{init:function(a,b){a.addCommand("mceExample",function(){a.windowManager.open({file:b+"/dialog.htm",width:320+parseInt(a.getLang("example.delta_width",0)),height:120+parseInt(a.getLang("example.delta_height",0)),inline:1},{plugin_url:b,some_custom_arg:"custom arg"})});a.addButton("example",{title:"example.desc",cmd:"mceExample",image:b+"/img/example.gif"});a.onNodeChange.add(function(d,c,e){c.setActive("example",e.nodeName=="IMG")})},createControl:function(b,a){return null},getInfo:function(){return{longname:"Example plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",version:"1.0"}}});tinymce.PluginManager.add("example",tinymce.plugins.ExamplePlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js b/lib/editor/tinymce/plugins/example/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js rename to lib/editor/tinymce/plugins/example/editor_plugin_src.js diff --git a/lib/editor/tinymce/plugins/example/img/example.gif b/lib/editor/tinymce/plugins/example/img/example.gif new file mode 100644 index 0000000000..1ab5da4461 Binary files /dev/null and b/lib/editor/tinymce/plugins/example/img/example.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js b/lib/editor/tinymce/plugins/example/js/dialog.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js rename to lib/editor/tinymce/plugins/example/js/dialog.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js b/lib/editor/tinymce/plugins/example/langs/en.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js rename to lib/editor/tinymce/plugins/example/langs/en.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js b/lib/editor/tinymce/plugins/example/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js rename to lib/editor/tinymce/plugins/example/langs/en_dlg.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css b/lib/editor/tinymce/plugins/fullpage/css/fullpage.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css rename to lib/editor/tinymce/plugins/fullpage/css/fullpage.css diff --git a/lib/editor/tinymce/plugins/fullpage/editor_plugin.js b/lib/editor/tinymce/plugins/fullpage/editor_plugin.js new file mode 100644 index 0000000000..8e11bfc474 --- /dev/null +++ b/lib/editor/tinymce/plugins/fullpage/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceFullPageProperties",function(){a.windowManager.open({file:b+"/fullpage.htm",width:430+parseInt(a.getLang("fullpage.delta_width",0)),height:495+parseInt(a.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:b,head_html:c.head})});a.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});a.onBeforeSetContent.add(c._setContent,c);a.onSetContent.add(c._setBodyAttribs,c);a.onGetContent.add(c._getContent,c)},getInfo:function(){return{longname:"Fullpage",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_setBodyAttribs:function(d,a){var l,c,e,g,b,h,j,f=this.head.match(/body(.*?)>/i);if(f&&f[1]){l=f[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);if(l){for(c=0,e=l.length;c",a);h.head=f.substring(0,a+1);j=f.indexOf("\n'}h.head+=d.getParam("fullpage_default_doctype",'');h.head+="\n\n\n"+d.getParam("fullpage_default_title","Untitled document")+"\n";if(g=d.getParam("fullpage_default_encoding")){h.head+='\n'}if(g=d.getParam("fullpage_default_font_family")){i+="font-family: "+g+";"}if(g=d.getParam("fullpage_default_font_size")){i+="font-size: "+g+";"}if(g=d.getParam("fullpage_default_text_color")){i+="color: "+g+";"}h.head+="\n\n";h.foot="\n\n"}},_getContent:function(a,c){var b=this;if(!c.source_view||!a.getParam("fullpage_hide_in_source_view")){c.content=tinymce.trim(b.head)+"\n"+tinymce.trim(c.content)+"\n"+tinymce.trim(b.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js b/lib/editor/tinymce/plugins/fullpage/editor_plugin_src.js similarity index 90% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js rename to lib/editor/tinymce/plugins/fullpage/editor_plugin_src.js index b88fef2d0f..eacf910fdb 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +++ b/lib/editor/tinymce/plugins/fullpage/editor_plugin_src.js @@ -82,6 +82,9 @@ _setContent : function(ed, o) { var t = this, sp, ep, c = o.content, v, st = ''; + if (o.source_view && ed.getParam('fullpage_hide_in_source_view')) + return; + // Parse out head, body and footer c = c.replace(/<(\/?)BODY/gi, '<$1body'); sp = c.indexOf(' - @@ -26,27 +25,27 @@ - + - + - + - + - + - + - + - + @@ -95,7 +94,7 @@ - +
      
      
      
      
      
      
      
      
      
    diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js b/lib/editor/tinymce/plugins/fullpage/js/fullpage.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js rename to lib/editor/tinymce/plugins/fullpage/js/fullpage.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js b/lib/editor/tinymce/plugins/fullpage/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js rename to lib/editor/tinymce/plugins/fullpage/langs/en_dlg.js diff --git a/lib/editor/tinymce/plugins/fullscreen/editor_plugin.js b/lib/editor/tinymce/plugins/fullscreen/editor_plugin.js new file mode 100644 index 0000000000..dfb3f16ccc --- /dev/null +++ b/lib/editor/tinymce/plugins/fullscreen/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(c,d){var e=this,f={},b;e.editor=c;c.addCommand("mceFullScreen",function(){var h,i=a.doc.documentElement;if(c.getParam("fullscreen_is_enabled")){if(c.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",e.resizeFunc);tinyMCE.get(c.getParam("fullscreen_editor_id")).setContent(c.getContent({format:"raw"}),{format:"raw"});tinyMCE.remove(c);a.remove("mce_fullscreen_container");i.style.overflow=c.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",c.getParam("fullscreen_overflow"));a.win.scrollTo(c.getParam("fullscreen_scrollx"),c.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(c.getParam("fullscreen_new_window")){h=a.win.open(d+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{h.resizeTo(screen.availWidth,screen.availHeight)}catch(g){}}else{tinyMCE.oldSettings=tinyMCE.settings;f.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";f.fullscreen_html_overflow=a.getStyle(i,"overflow",1);b=a.getViewPort();f.fullscreen_scrollx=b.x;f.fullscreen_scrolly=b.y;if(tinymce.isOpera&&f.fullscreen_overflow=="visible"){f.fullscreen_overflow="auto"}if(tinymce.isIE&&f.fullscreen_overflow=="scroll"){f.fullscreen_overflow="auto"}if(tinymce.isIE&&(f.fullscreen_html_overflow=="visible"||f.fullscreen_html_overflow=="scroll")){f.fullscreen_html_overflow="auto"}if(f.fullscreen_overflow=="0px"){f.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");i.style.overflow="hidden";b=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){b.h-=1}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+(tinymce.isIE6||(tinymce.isIE&&!a.boxModel)?"absolute":"fixed")+";top:0;left:0;width:"+b.w+"px;height:"+b.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(c.settings,function(j,k){f[k]=j});f.id="mce_fullscreen";f.width=n.clientWidth;f.height=n.clientHeight-15;f.fullscreen_is_enabled=true;f.fullscreen_editor_id=c.id;f.theme_advanced_resizing=false;f.save_onsavecallback=function(){c.setContent(tinyMCE.get(f.id).getContent({format:"raw"}),{format:"raw"});c.execCommand("mceSave")};tinymce.each(c.getParam("fullscreen_settings"),function(l,j){f[j]=l});if(f.theme_advanced_toolbar_location==="external"){f.theme_advanced_toolbar_location="top"}e.fullscreenEditor=new tinymce.Editor("mce_fullscreen",f);e.fullscreenEditor.onInit.add(function(){e.fullscreenEditor.setContent(c.getContent());e.fullscreenEditor.focus()});e.fullscreenEditor.render();tinyMCE.add(e.fullscreenEditor);e.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");e.fullscreenElement.update();e.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var j=tinymce.DOM.getViewPort();e.fullscreenEditor.theme.resizeTo(j.w,j.h)})}});c.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});c.onNodeChange.add(function(h,g){g.setActive("fullscreen",h.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/lib/editor/tinymce/plugins/fullscreen/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js rename to lib/editor/tinymce/plugins/fullscreen/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm b/lib/editor/tinymce/plugins/fullscreen/fullscreen.htm similarity index 96% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm rename to lib/editor/tinymce/plugins/fullscreen/fullscreen.htm index 4b081cac1c..6ec4f26f1c 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +++ b/lib/editor/tinymce/plugins/fullscreen/fullscreen.htm @@ -96,7 +96,6 @@ // Add onunload tinymce.dom.Event.add(window, "beforeunload", unloadHandler); - diff --git a/lib/editor/tinymce/plugins/iespell/editor_plugin.js b/lib/editor/tinymce/plugins/iespell/editor_plugin.js new file mode 100644 index 0000000000..e9cba106c6 --- /dev/null +++ b/lib/editor/tinymce/plugins/iespell/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.IESpell",{init:function(a,b){var c=this,d;if(!tinymce.isIE){return}c.editor=a;a.addCommand("mceIESpell",function(){try{d=new ActiveXObject("ieSpell.ieSpellExtension");d.CheckDocumentNode(a.getDoc().documentElement)}catch(f){if(f.number==-2146827859){a.windowManager.confirm(a.getLang("iespell.download"),function(e){if(e){window.open("http://www.iespell.com/download.php","ieSpellDownload","")}})}else{a.windowManager.alert("Error Loading ieSpell: Exception "+f.number)}}});a.addButton("iespell",{title:"iespell.iespell_desc",cmd:"mceIESpell"})},getInfo:function(){return{longname:"IESpell (IE Only)",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("iespell",tinymce.plugins.IESpell)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js b/lib/editor/tinymce/plugins/iespell/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js rename to lib/editor/tinymce/plugins/iespell/editor_plugin_src.js diff --git a/lib/editor/tinymce/plugins/inlinepopups/editor_plugin.js b/lib/editor/tinymce/plugins/inlinepopups/editor_plugin.js new file mode 100644 index 0000000000..4affad454e --- /dev/null +++ b/lib/editor/tinymce/plugins/inlinepopups/editor_plugin.js @@ -0,0 +1 @@ +(function(){var d=tinymce.DOM,b=tinymce.dom.Element,a=tinymce.dom.Event,e=tinymce.each,c=tinymce.is;tinymce.create("tinymce.plugins.InlinePopups",{init:function(f,g){f.onBeforeRenderUI.add(function(){f.windowManager=new tinymce.InlineWindowManager(f);d.loadCSS(g+"/skins/"+(f.settings.inlinepopups_skin||"clearlooks2")+"/window.css")})},getInfo:function(){return{longname:"InlinePopups",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.create("tinymce.InlineWindowManager:tinymce.WindowManager",{InlineWindowManager:function(f){var g=this;g.parent(f);g.zIndex=300000;g.count=0;g.windows={}},open:function(r,j){var y=this,i,k="",q=y.editor,g=0,s=0,h,m,n,o,l,v,x;r=r||{};j=j||{};if(!r.inline){return y.parent(r,j)}if(!r.type){y.bookmark=q.selection.getBookmark("simple")}i=d.uniqueId();h=d.getViewPort();r.width=parseInt(r.width||320);r.height=parseInt(r.height||240)+(tinymce.isIE?8:0);r.min_width=parseInt(r.min_width||150);r.min_height=parseInt(r.min_height||100);r.max_width=parseInt(r.max_width||2000);r.max_height=parseInt(r.max_height||2000);r.left=r.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(r.width/2)));r.top=r.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(r.height/2)));r.movable=r.resizable=true;j.mce_width=r.width;j.mce_height=r.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=r.auto_focus;y.features=r;y.params=j;y.onOpen.dispatch(y,r,j);if(r.type){k+=" mceModal";if(r.type){k+=" mce"+r.type.substring(0,1).toUpperCase()+r.type.substring(1)}r.resizable=false}if(r.statusbar){k+=" mceStatusbar"}if(r.resizable){k+=" mceResizable"}if(r.minimizable){k+=" mceMinimizable"}if(r.maximizable){k+=" mceMaximizable"}if(r.movable){k+=" mceMovable"}y._addAll(d.doc.body,["div",{id:i,"class":q.settings.inlinepopups_skin||"clearlooks2",style:"width:100px;height:100px"},["div",{id:i+"_wrapper","class":"mceWrapper"+k},["div",{id:i+"_top","class":"mceTop"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_title"},r.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight"}]],["div",{id:i+"_bottom","class":"mceBottom"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_status"},"Content"]],["a",{"class":"mceMove",tabindex:"-1",href:"javascript:;"}],["a",{"class":"mceMin",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMax",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMed",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceClose",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{id:i+"_resize_n","class":"mceResize mceResizeN",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_s","class":"mceResize mceResizeS",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_w","class":"mceResize mceResizeW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_e","class":"mceResize mceResizeE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_nw","class":"mceResize mceResizeNW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_ne","class":"mceResize mceResizeNE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_sw","class":"mceResize mceResizeSW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_se","class":"mceResize mceResizeSE",tabindex:"-1",href:"javascript:;"}]]]);d.setStyles(i,{top:-10000,left:-10000});if(tinymce.isGecko){d.setStyle(i,"overflow","auto")}if(!r.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;s+=d.get(i+"_top").clientHeight;s+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:r.top,left:r.left,width:r.width+g,height:r.height+s});x=r.url||r.file;if(x){if(tinymce.relaxedDomain){x+=(x.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}x=tinymce._addVer(x)}if(!r.type){d.add(i+"_content","iframe",{id:i+"_ifr",src:'javascript:""',frameBorder:0,style:"border:0;width:10px;height:10px"});d.setStyles(i+"_ifr",{width:r.width,height:r.height});d.setAttrib(i+"_ifr","src",x)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(r.type=="confirm"){d.add(i+"_wrapper","a",{"class":"mceButton mceCancel",href:"javascript:;",onmousedown:"return false;"},"Cancel")}d.add(i+"_middle","div",{"class":"mceIcon"});d.setHTML(i+"_content",r.content.replace("\n","
    "))}n=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=y.windows[i];y.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceMax"){f.oldPos=f.element.getXY();f.oldSize=f.element.getSize();p=d.getViewPort();p.w-=2;p.h-=2;f.element.moveTo(p.x,p.y);f.element.resizeTo(p.w,p.h);d.setStyles(i+"_ifr",{width:p.w-f.deltaWidth,height:p.h-f.deltaHeight});d.addClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMed"){f.element.moveTo(f.oldPos.x,f.oldPos.y);f.element.resizeTo(f.oldSize.w,f.oldSize.h);f.iframeElement.resizeTo(f.oldSize.w-f.deltaWidth,f.oldSize.h-f.deltaHeight);d.removeClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMove"){return y._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return y._startDrag(i,t,u.className.substring(13))}}}}}});o=a.add(i,"click",function(f){var p=f.target;y.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":y.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":r.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});v=y.windows[i]={id:i,mousedown_func:n,click_func:o,element:new b(i,{blocker:1,container:q.getContainer()}),iframeElement:new b(i+"_ifr"),features:r,deltaWidth:g,deltaHeight:s};v.iframeElement.on("focus",function(){y.focus(i)});if(y.count==0&&y.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(y.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:y.zIndex-1}});d.show("mceModalBlocker")}else{d.setStyle("mceModalBlocker","z-index",y.zIndex-1)}if(tinymce.isIE6||/Firefox\/2\./.test(navigator.userAgent)||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceModalBlocker",{position:"absolute",left:h.x,top:h.y,width:h.w-2,height:h.h-2})}y.focus(i);y._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}y.count++;return v},focus:function(h){var g=this,f;if(f=g.windows[h]){f.zIndex=this.zIndex++;f.element.setStyle("zIndex",f.zIndex);f.element.update();h=h+"_wrapper";d.removeClass(g.lastId,"mceFocus");d.addClass(h,"mceFocus");g.lastId=h}},_addAll:function(k,h){var g,l,f=this,j=tinymce.DOM;if(c(h,"string")){k.appendChild(j.doc.createTextNode(h))}else{if(h.length){k=k.appendChild(j.create(h[0],h[1]));for(g=2;gf){i=m;f=m.zIndex}});if(i){h.focus(i.id)}}},setTitle:function(f,g){var h;f=this._findId(f);if(h=d.get(f+"_title")){h.innerHTML=d.encode(g)}},alert:function(g,f,j){var i=this,h;h=i.open({title:i,type:"alert",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},confirm:function(g,f,j){var i=this,h;h=i.open({title:i,type:"confirm",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},_findId:function(f){var g=this;if(typeof(f)=="string"){return f}e(g.windows,function(h){var i=d.get(h.id+"_ifr");if(i&&f==i.contentWindow){f=h.id;return false}});return f},_fixIELayout:function(i,h){var f,g;if(!tinymce.isIE6){return}e(["n","s","w","e","nw","ne","sw","se"],function(j){var k=d.get(i+"_resize_"+j);d.setStyles(k,{width:h?k.clientWidth:"",height:h?k.clientHeight:"",cursor:d.getStyle(k,"cursor",1)});d.setStyle(i+"_bottom","bottom","-1px");k=0});if(f=this.windows[i]){f.element.hide();f.element.show();e(d.select("div,a",i),function(k,j){if(k.currentStyle.backgroundImage!="none"){g=new Image();g.src=k.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,"$1")}});d.get(i).style.filter=""}}});tinymce.PluginManager.add("inlinepopups",tinymce.plugins.InlinePopups)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/lib/editor/tinymce/plugins/inlinepopups/editor_plugin_src.js similarity index 94% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js rename to lib/editor/tinymce/plugins/inlinepopups/editor_plugin_src.js index 55c816e7b5..ca0c90fde4 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +++ b/lib/editor/tinymce/plugins/inlinepopups/editor_plugin_src.js @@ -265,8 +265,8 @@ } else DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1); - if (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel)) - DOM.setStyles('mceModalBlocker', {position : 'absolute', width : vp.w - 2, height : vp.h - 2}); + if (tinymce.isIE6 || /Firefox\/2\./.test(navigator.userAgent) || (tinymce.isIE && !DOM.boxModel)) + DOM.setStyles('mceModalBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2}); t.focus(id); t._fixIELayout(id, 1); @@ -358,7 +358,7 @@ }); if (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel)) - DOM.setStyles('mceEventBlocker', {position : 'absolute', width : vp.w - 2, height : vp.h - 2}); + DOM.setStyles('mceEventBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2}); eb = new Element('mceEventBlocker'); eb.update(); diff --git a/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif new file mode 100644 index 0000000000..94abd08763 Binary files /dev/null and b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif differ diff --git a/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif new file mode 100644 index 0000000000..e671094cb0 Binary files /dev/null and b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif similarity index 87% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif rename to lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif index f2258ef54f..6baf64ad32 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif and b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif differ diff --git a/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif new file mode 100644 index 0000000000..497307a85a Binary files /dev/null and b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif similarity index 77% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif rename to lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif index 05a199d9f9..c894b2e835 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif and b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif differ diff --git a/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif new file mode 100644 index 0000000000..c2a2ad454d Binary files /dev/null and b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif differ diff --git a/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif new file mode 100644 index 0000000000..43a735f22c Binary files /dev/null and b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css similarity index 96% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css rename to lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css index f844aba0d4..5e6fd7d3cf 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +++ b/lib/editor/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css @@ -7,8 +7,8 @@ .clearlooks2 {position:absolute; direction:ltr} .clearlooks2 .mceWrapper {position:static} .mceEventBlocker {position:fixed; left:0; top:0; background:url(img/horizontal.gif) no-repeat 0 -75px; width:100%; height:100%} -.clearlooks2 .mcePlaceHolder {border:1px solid #000; background:#888; top:0; left:0; opacity:0.5; filter:alpha(opacity=50)} -.clearlooks2_modalBlocker {position:fixed; left:0; top:0; width:100%; height:100%; background:#FFF; opacity:0.6; filter:alpha(opacity=60); display:none} +.clearlooks2 .mcePlaceHolder {border:1px solid #000; background:#888; top:0; left:0; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50)} +.clearlooks2_modalBlocker {position:fixed; left:0; top:0; width:100%; height:100%; background:#FFF; opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60); display:none} /* Top */ .clearlooks2 .mceTop, .clearlooks2 .mceTop div {top:0; width:100%; height:23px} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm b/lib/editor/tinymce/plugins/inlinepopups/template.htm similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm rename to lib/editor/tinymce/plugins/inlinepopups/template.htm diff --git a/lib/editor/tinymce/plugins/insertdatetime/editor_plugin.js b/lib/editor/tinymce/plugins/insertdatetime/editor_plugin.js new file mode 100644 index 0000000000..938ce6b17d --- /dev/null +++ b/lib/editor/tinymce/plugins/insertdatetime/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.InsertDateTime",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceInsertDate",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_dateFormat",a.getLang("insertdatetime.date_fmt")));a.execCommand("mceInsertContent",false,d)});a.addCommand("mceInsertTime",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_timeFormat",a.getLang("insertdatetime.time_fmt")));a.execCommand("mceInsertContent",false,d)});a.addButton("insertdate",{title:"insertdatetime.insertdate_desc",cmd:"mceInsertDate"});a.addButton("inserttime",{title:"insertdatetime.inserttime_desc",cmd:"mceInsertTime"})},getInfo:function(){return{longname:"Insert date/time",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getDateTime:function(e,a){var c=this.editor;function b(g,d){g=""+g;if(g.length-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{if(g[c]>0){a[c].style.zIndex=g[c]-1}}}else{for(f=0;fg[c]){j=f;break}}if(j>-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{a[c].style.zIndex=g[c]+1}}b.execCommand("mceRepaint")},_getParentLayer:function(a){return this.editor.dom.getParent(a,function(b){return b.nodeType==1&&/^(absolute|relative|static)$/i.test(b.style.position)})},_insertLayer:function(){var a=this.editor,b=a.dom.getPos(a.dom.getParent(a.selection.getNode(),"*"));a.dom.add(a.getBody(),"div",{style:{position:"absolute",left:b.x,top:(b.y>20?b.y:20),width:100,height:100},"class":"mceItemVisualAid"},a.selection.getContent()||a.getLang("layer.content"))},_toggleAbsolute:function(){var a=this.editor,b=this._getParentLayer(a.selection.getNode());if(!b){b=a.dom.getParent(a.selection.getNode(),"DIV,P,IMG")}if(b){if(b.style.position.toLowerCase()=="absolute"){a.dom.setStyles(b,{position:"",left:"",top:"",width:"",height:""});a.dom.removeClass(b,"mceItemVisualAid")}else{if(b.style.left==""){b.style.left=20+"px"}if(b.style.top==""){b.style.top=20+"px"}if(b.style.width==""){b.style.width=b.width?(b.width+"px"):"100px"}if(b.style.height==""){b.style.height=b.height?(b.height+"px"):"100px"}b.style.position="absolute";a.addVisual(a.getBody())}a.execCommand("mceRepaint");a.nodeChanged()}}});tinymce.PluginManager.add("layer",tinymce.plugins.Layer)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js b/lib/editor/tinymce/plugins/layer/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js rename to lib/editor/tinymce/plugins/layer/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css b/lib/editor/tinymce/plugins/media/css/content.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css rename to lib/editor/tinymce/plugins/media/css/content.css diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css b/lib/editor/tinymce/plugins/media/css/media.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css rename to lib/editor/tinymce/plugins/media/css/media.css diff --git a/lib/editor/tinymce/plugins/media/editor_plugin.js b/lib/editor/tinymce/plugins/media/editor_plugin.js new file mode 100644 index 0000000000..951d1e43ad --- /dev/null +++ b/lib/editor/tinymce/plugins/media/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.MediaPlugin",{init:function(b,c){var e=this;e.editor=b;e.url=c;function f(g){return/^(mceItemFlash|mceItemShockWave|mceItemWindowsMedia|mceItemQuickTime|mceItemRealMedia)$/.test(g.className)}b.onPreInit.add(function(){b.serializer.addRules("param[name|value|_mce_value]")});b.addCommand("mceMedia",function(){b.windowManager.open({file:c+"/media.htm",width:430+parseInt(b.getLang("media.delta_width",0)),height:470+parseInt(b.getLang("media.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("media",{title:"media.desc",cmd:"mceMedia"});b.onNodeChange.add(function(h,g,i){g.setActive("media",i.nodeName=="IMG"&&f(i))});b.onInit.add(function(){var g={mceItemFlash:"flash",mceItemShockWave:"shockwave",mceItemWindowsMedia:"windowsmedia",mceItemQuickTime:"quicktime",mceItemRealMedia:"realmedia"};b.selection.onSetContent.add(function(){e._spansToImgs(b.getBody())});b.selection.onBeforeSetContent.add(e._objectsToSpans,e);if(b.settings.content_css!==false){b.dom.loadCSS(c+"/css/content.css")}if(b.theme.onResolveName){b.theme.onResolveName.add(function(h,i){if(i.name=="img"){a(g,function(l,j){if(b.dom.hasClass(i.node,j)){i.name=l;i.title=b.dom.getAttrib(i.node,"title");return false}})}})}if(b&&b.plugins.contextmenu){b.plugins.contextmenu.onContextMenu.add(function(i,h,j){if(j.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(j.className)){h.add({title:"media.edit",icon:"media",cmd:"mceMedia"})}})}});b.onBeforeSetContent.add(e._objectsToSpans,e);b.onSetContent.add(function(){e._spansToImgs(b.getBody())});b.onPreProcess.add(function(g,i){var h=g.dom;if(i.set){e._spansToImgs(i.node);a(h.select("IMG",i.node),function(k){var j;if(f(k)){j=e._parse(k.title);h.setAttrib(k,"width",h.getAttrib(k,"width",j.width||100));h.setAttrib(k,"height",h.getAttrib(k,"height",j.height||100))}})}if(i.get){a(h.select("IMG",i.node),function(m){var l,j,k;if(g.getParam("media_use_script")){if(f(m)){m.className=m.className.replace(/mceItem/g,"mceTemp")}return}switch(m.className){case"mceItemFlash":l="d27cdb6e-ae6d-11cf-96b8-444553540000";j="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0";k="application/x-shockwave-flash";break;case"mceItemShockWave":l="166b1bca-3f9c-11cf-8075-444553540000";j="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0";k="application/x-director";break;case"mceItemWindowsMedia":l=g.getParam("media_wmp6_compatible")?"05589fa1-c356-11ce-bf01-00aa0055595a":"6bf52a52-394a-11d3-b153-00c04f79faa6";j="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701";k="application/x-mplayer2";break;case"mceItemQuickTime":l="02bf25d5-8c17-4b23-bc80-d3488abddc6b";j="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0";k="video/quicktime";break;case"mceItemRealMedia":l="cfcdaa03-8be4-11cf-b84b-0020afbbccfa";j="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0";k="audio/x-pn-realaudio-plugin";break}if(l){h.replace(e._buildObj({classid:l,codebase:j,type:k},m),m)}})}});b.onPostProcess.add(function(g,h){h.content=h.content.replace(/_mce_value=/g,"value=")});function d(g,h){h=new RegExp(h+'="([^"]+)"',"g").exec(g);return h?b.dom.decode(h[1]):""}b.onPostProcess.add(function(g,h){if(g.getParam("media_use_script")){h.content=h.content.replace(/]+>/g,function(j){var i=d(j,"class");if(/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(i)){at=e._parse(d(j,"title"));at.width=d(j,"width");at.height=d(j,"height");j=' - @@ -30,7 +29,7 @@
     
    "; inst.execCommand('mceBeginUndoLevel'); - inst.execCommand('mceInsertContent', false, html); + + // Move table + if (inst.settings.fix_table_elements) { + var bm = inst.selection.getBookmark(), patt = ''; + + inst.execCommand('mceInsertContent', false, '
    '); + + tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) { + if (patt) + patt += ','; + + patt += n + ' ._mce_marker'; + }); + + tinymce.each(inst.dom.select(patt), function(n) { + inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n); + }); + + dom.setOuterHTML(dom.select('._mce_marker')[0], html); + + inst.selection.moveToBookmark(bm); + } else + inst.execCommand('mceInsertContent', false, html); + inst.addVisual(); inst.execCommand('mceEndUndoLevel'); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js b/lib/editor/tinymce/plugins/table/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js rename to lib/editor/tinymce/plugins/table/langs/en_dlg.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm b/lib/editor/tinymce/plugins/table/merge_cells.htm similarity index 92% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm rename to lib/editor/tinymce/plugins/table/merge_cells.htm index 9d34a886b0..25d42eb657 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +++ b/lib/editor/tinymce/plugins/table/merge_cells.htm @@ -6,9 +6,8 @@ - - +
    {#table_dlg.merge_cells_title} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/row.htm b/lib/editor/tinymce/plugins/table/row.htm similarity index 96% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/table/row.htm rename to lib/editor/tinymce/plugins/table/row.htm index fe75bf6072..07ca13c983 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +++ b/lib/editor/tinymce/plugins/table/row.htm @@ -8,10 +8,9 @@ - - +
    • {#table_dlg.general_tab}
    • diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/table.htm b/lib/editor/tinymce/plugins/table/table.htm similarity index 96% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/table/table.htm rename to lib/editor/tinymce/plugins/table/table.htm index 75136e607e..2a138513cb 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +++ b/lib/editor/tinymce/plugins/table/table.htm @@ -9,7 +9,6 @@ - @@ -58,7 +57,7 @@
    ::
    - +
    diff --git a/lib/editor/tinymce/plugins/xhtmlxtras/editor_plugin.js b/lib/editor/tinymce/plugins/xhtmlxtras/editor_plugin.js new file mode 100644 index 0000000000..8c7f48e692 --- /dev/null +++ b/lib/editor/tinymce/plugins/xhtmlxtras/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.XHTMLXtrasPlugin",{init:function(b,c){b.addCommand("mceCite",function(){b.windowManager.open({file:c+"/cite.htm",width:350+parseInt(b.getLang("xhtmlxtras.cite_delta_width",0)),height:250+parseInt(b.getLang("xhtmlxtras.cite_delta_height",0)),inline:1},{plugin_url:c})});b.addCommand("mceAcronym",function(){b.windowManager.open({file:c+"/acronym.htm",width:350+parseInt(b.getLang("xhtmlxtras.acronym_delta_width",0)),height:250+parseInt(b.getLang("xhtmlxtras.acronym_delta_width",0)),inline:1},{plugin_url:c})});b.addCommand("mceAbbr",function(){b.windowManager.open({file:c+"/abbr.htm",width:350+parseInt(b.getLang("xhtmlxtras.abbr_delta_width",0)),height:250+parseInt(b.getLang("xhtmlxtras.abbr_delta_width",0)),inline:1},{plugin_url:c})});b.addCommand("mceDel",function(){b.windowManager.open({file:c+"/del.htm",width:340+parseInt(b.getLang("xhtmlxtras.del_delta_width",0)),height:310+parseInt(b.getLang("xhtmlxtras.del_delta_width",0)),inline:1},{plugin_url:c})});b.addCommand("mceIns",function(){b.windowManager.open({file:c+"/ins.htm",width:340+parseInt(b.getLang("xhtmlxtras.ins_delta_width",0)),height:310+parseInt(b.getLang("xhtmlxtras.ins_delta_width",0)),inline:1},{plugin_url:c})});b.addCommand("mceAttributes",function(){b.windowManager.open({file:c+"/attributes.htm",width:380,height:370,inline:1},{plugin_url:c})});b.addButton("cite",{title:"xhtmlxtras.cite_desc",cmd:"mceCite"});b.addButton("acronym",{title:"xhtmlxtras.acronym_desc",cmd:"mceAcronym"});b.addButton("abbr",{title:"xhtmlxtras.abbr_desc",cmd:"mceAbbr"});b.addButton("del",{title:"xhtmlxtras.del_desc",cmd:"mceDel"});b.addButton("ins",{title:"xhtmlxtras.ins_desc",cmd:"mceIns"});b.addButton("attribs",{title:"xhtmlxtras.attribs_desc",cmd:"mceAttributes"});if(tinymce.isIE){function a(d,e){if(e.set){e.content=e.content.replace(/]+)>/gi,"");e.content=e.content.replace(/<\/abbr>/gi,"")}}b.onBeforeSetContent.add(a);b.onPostProcess.add(a)}b.onNodeChange.add(function(e,d,g,f){g=e.dom.getParent(g,"CITE,ACRONYM,ABBR,DEL,INS");d.setDisabled("cite",f);d.setDisabled("acronym",f);d.setDisabled("abbr",f);d.setDisabled("del",f);d.setDisabled("ins",f);d.setDisabled("attribs",g&&g.nodeName=="BODY");d.setActive("cite",0);d.setActive("acronym",0);d.setActive("abbr",0);d.setActive("del",0);d.setActive("ins",0);if(g){do{d.setDisabled(g.nodeName.toLowerCase(),0);d.setActive(g.nodeName.toLowerCase(),1)}while(g=g.parentNode)}})},getInfo:function(){return{longname:"XHTML Xtras Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("xhtmlxtras",tinymce.plugins.XHTMLXtrasPlugin)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js b/lib/editor/tinymce/plugins/xhtmlxtras/editor_plugin_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js rename to lib/editor/tinymce/plugins/xhtmlxtras/editor_plugin_src.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm b/lib/editor/tinymce/plugins/xhtmlxtras/ins.htm similarity index 96% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm rename to lib/editor/tinymce/plugins/xhtmlxtras/ins.htm index c0f056ff34..9fa21c4338 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +++ b/lib/editor/tinymce/plugins/xhtmlxtras/ins.htm @@ -9,7 +9,6 @@ - @@ -31,7 +30,7 @@ - +
    diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/lib/editor/tinymce/plugins/xhtmlxtras/js/abbr.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js rename to lib/editor/tinymce/plugins/xhtmlxtras/js/abbr.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/lib/editor/tinymce/plugins/xhtmlxtras/js/acronym.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js rename to lib/editor/tinymce/plugins/xhtmlxtras/js/acronym.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/lib/editor/tinymce/plugins/xhtmlxtras/js/attributes.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js rename to lib/editor/tinymce/plugins/xhtmlxtras/js/attributes.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js b/lib/editor/tinymce/plugins/xhtmlxtras/js/cite.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js rename to lib/editor/tinymce/plugins/xhtmlxtras/js/cite.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js b/lib/editor/tinymce/plugins/xhtmlxtras/js/del.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js rename to lib/editor/tinymce/plugins/xhtmlxtras/js/del.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js b/lib/editor/tinymce/plugins/xhtmlxtras/js/element_common.js similarity index 92% rename from lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js rename to lib/editor/tinymce/plugins/xhtmlxtras/js/element_common.js index 2b2a20b06a..bc83b51615 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +++ b/lib/editor/tinymce/plugins/xhtmlxtras/js/element_common.js @@ -165,11 +165,14 @@ SXE.insertElement = function(element_name) { for (var i=0; ilang = $lang; - -$output = ''; - -// get the keys from the reference english translations -$string = array(); -include_once($CFG->dirroot .'/lang/en_utf8/tinymce.php'); -$keys = array_keys($string); - -if (!is_null($contexturl)) { - $context = array_pop(explode('/tinymce/jscripts/tiny_mce/', $contexturl)); - $contexts = explode('/', $context); - $moduletype = $contexts[0]; - $modulename = $contexts[1]; - - $dialogpostfix = ''; - if ($modulename && $isdialog) { - $dialogpostfix = '_dlg'; - } - - $selectedkeys = preg_grep('/^'. $moduletype .'\/'. $modulename . $dialogpostfix .':/', $keys); - - $output = "tinyMCE.addI18n('$lang". ($modulename ? '.'.$modulename:'') ."$dialogpostfix',{\r\n"; - $i = count($selectedkeys); - foreach($selectedkeys as $key) { - $i--; - $output .= substr($key, strpos($key, ':')+1) .':"'. addslashes_js(get_string($key, 'tinymce')) .'"'; - if ($i > 0) { - $output .= ","; // must not add commas at the last element - breaks in IE 6 and 7. - } - $output .= "\r\n"; - } - $output .= "});"; - - -} else { - $output = "tinyMCE.addI18n({". $lang .":{"; - $selectedkeys = preg_grep('/^main\//', $keys); - $currentsection = ''; - $firstiteration = true; - foreach($selectedkeys as $key) { - $subkey = explode(':', array_pop(explode('/', $key))); - $section = $subkey[0]; - $string = $subkey[1]; - if ($section != $currentsection) { - $output .= "\r\n"; - if ($firstiteration) { - $firstiteration = false; - } else { - $output .= "},\r\n"; - } - $currentsection = $section; - $output .= $currentsection .":{\r\n"; - } else { - $output .= ",\r\n"; - } - - $output .= $string .':"'. addslashes_js(get_string($key, 'tinymce')) .'"'; - } - $output .= "\r\n}}});"; - -} - -$lifetime = '86400'; -@header('Content-type: text/javascript; charset=utf-8'); -@header('Content-length: '.strlen($output)); -@header('Last-Modified: '. gmdate('D, d M Y H:i:s', time()) .' GMT'); -@header('Cache-control: max-age='.$lifetime); -@header('Expires: '. gmdate('D, d M Y H:i:s', time() + $lifetime) .'GMT'); -@header('Pragma: '); - -echo $output; - -?> diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm b/lib/editor/tinymce/themes/advanced/about.htm similarity index 94% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm rename to lib/editor/tinymce/themes/advanced/about.htm index 4ef2a29c5d..e5df7aa5ac 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +++ b/lib/editor/tinymce/themes/advanced/about.htm @@ -1,4 +1,4 @@ - + {#advanced_dlg.about_title} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm b/lib/editor/tinymce/themes/advanced/anchor.htm similarity index 90% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm rename to lib/editor/tinymce/themes/advanced/anchor.htm index 9e4c0b91ae..42095a1c0c 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +++ b/lib/editor/tinymce/themes/advanced/anchor.htm @@ -4,7 +4,6 @@ {#advanced_dlg.anchor_title} - @@ -13,7 +12,7 @@ {#advanced_dlg.anchor_title} - {#advanced_dlg.anchor_name}: + {#advanced_dlg.anchor_name}: diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm b/lib/editor/tinymce/themes/advanced/charmap.htm similarity index 92% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm rename to lib/editor/tinymce/themes/advanced/charmap.htm index e4c7344848..f11a38ad8a 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +++ b/lib/editor/tinymce/themes/advanced/charmap.htm @@ -1,11 +1,10 @@ - + {#advanced_dlg.charmap_title} - diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm b/lib/editor/tinymce/themes/advanced/color_picker.htm similarity index 94% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm rename to lib/editor/tinymce/themes/advanced/color_picker.htm index a8f297c603..90eb4c2ee1 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +++ b/lib/editor/tinymce/themes/advanced/color_picker.htm @@ -5,7 +5,6 @@ - @@ -22,7 +21,7 @@
    {#advanced_dlg.colorpicker_picker_title}
    - +
    diff --git a/lib/editor/tinymce/themes/advanced/editor_template.js b/lib/editor/tinymce/themes/advanced/editor_template.js new file mode 100644 index 0000000000..628c793cc7 --- /dev/null +++ b/lib/editor/tinymce/themes/advanced/editor_template.js @@ -0,0 +1 @@ +(function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";if(j.settings.convert_fonts_to_spans){o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}j.onInit.add(function(){j.onNodeChange.add(l._nodeChanged,l);if(j.settings.content_css!==false){j.dom.loadCSS(j.baseURI.toAbsolute("themes/advanced/skins/"+j.settings.skin+"/content.css"))}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(j){var i=this.editor,k=i.controlManager.get("styleselect");if(k.getLength()==0){f(i.dom.getClasses(),function(l){k.add(l["class"],l["class"])})}},_createStyleSelect:function(m){var j=this,i=j.editor,k=i.controlManager,l=k.createListBox("styleselect",{title:"advanced.style_select",onselect:function(n){if(l.selectedValue===n){i.execCommand("mceSetStyleInfo",0,{command:"removeformat"});l.select();return false}else{i.execCommand("mceSetCSSClass",0,n)}}});if(l){f(i.getParam("theme_advanced_styles","","hash"),function(o,n){if(o){l.add(j.editor.translate(n),o)}});l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",j._importClasses,j);b.add(p.id+"_text","mousedown",j._importClasses,j);b.add(p.id+"_open","focus",j._importClasses,j);b.add(p.id+"_open","mousedown",j._importClasses,j)}else{b.add(p.id,"focus",j._importClasses,j)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",cmd:"FontName"});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){if(i.fontSize){k.execCommand("FontSize",false,i.fontSize)}else{f(m.settings.theme_advanced_font_sizes,function(p,o){if(p["class"]){j.push(p["class"])}});k.editorCommands._applyInlineStyle("span",{"class":i["class"]},{check_classes:j})}}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",cmd:"FormatBlock"});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;m=j=d.create("span",{id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=d.stdMode?u.getElementsByTagName("tr"):u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},""),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_tbl");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,l){var j=this.editor,k=j.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr"),m;i=Math.max(k.theme_advanced_resizing_min_width||100,i);l=Math.max(k.theme_advanced_resizing_min_height||100,l);i=Math.min(k.theme_advanced_resizing_max_width||65535,i);l=Math.min(k.theme_advanced_resizing_max_height||65535,l);m=n.clientHeight-o.clientHeight;d.setStyle(o,"height",l-m);d.setStyles(n,{width:i,height:l})},destroy:function(){var i=this.editor.id;b.clear(i+"_resize");b.clear(i+"_path_row");b.clear(i+"_external_close")},_simpleLayout:function(y,r,k,i){var x=this,u=x.editor,v=y.theme_advanced_toolbar_location,m=y.theme_advanced_statusbar_location,l,j,q,w;if(y.readonly){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});return j}if(v=="top"){x._addToolbars(r,k)}if(v=="external"){l=w=d.create("div",{style:"position:relative"});l=d.add(l,"div",{id:u.id+"_external","class":"mceExternalToolbar"});d.add(l,"a",{id:u.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});l=d.add(l,"table",{id:u.id+"_tblext",cellSpacing:0,cellPadding:0});q=d.add(l,"tbody");if(i.firstChild.className=="mceOldBoxModel"){i.firstChild.appendChild(w)}else{i.insertBefore(w,i.firstChild)}x._addToolbars(q,k);u.onMouseUp.add(function(){var o=d.get(u.id+"_external");d.show(o);d.hide(g);var n=b.add(u.id+"_external_close","click",function(){d.hide(u.id+"_external");b.remove(u.id+"_external_close","click",n)});d.show(o);d.setStyle(o,"top",0-d.getRect(u.id+"_tblext").h-1);d.hide(o);d.show(o);o.style.filter="";g=u.id+"_external";o=null})}if(m=="top"){x._addStatusBar(r,k)}if(!y.theme_advanced_toolbar_container){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"})}if(v=="bottom"){x._addToolbars(r,k)}if(m=="bottom"){x._addStatusBar(r,k)}return j},_rowLayout:function(w,m,k){var v=this,p=v.editor,u,x,i=p.controlManager,l,j,r,q;u=w.theme_advanced_containers_default_class||"";x=w.theme_advanced_containers_default_align||"center";f(c(w.theme_advanced_containers||""),function(s,o){var n=w["theme_advanced_container_"+s]||"";switch(n.toLowerCase()){case"mceeditor":l=d.add(m,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":v._addStatusBar(m,k);break;default:q=(w["theme_advanced_container_"+s+"_align"]||x).toLowerCase();q="mce"+v._ufirst(q);l=d.add(d.add(m,"tr"),"td",{"class":"mceToolbar "+(w["theme_advanced_container_"+s+"_class"]||u)+" "+q||x});r=i.createToolbar("toolbar"+o);v._addControls(n,r);d.setHTML(l,r.renderHTML());k.deltaHeight-=w.theme_advanced_row_height}});return j},_addControls:function(j,i){var k=this,l=k.settings,m,n=k.editor.controlManager;if(l.theme_advanced_disable&&!k._disabled){m={};f(c(l.theme_advanced_disable),function(o){m[o]=1});k._disabled=m}else{m=k._disabled}f(c(j),function(p){var o;if(m&&m[p]){return}if(p=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(q){q=k.createControl(q,n);if(q){i.add(q)}});return}o=k.createControl(p,n);if(o){i.add(o)}})},_addToolbars:function(w,k){var z=this,p,m,r=z.editor,A=z.settings,y,j=r.controlManager,u,l,q=[],x;x=A.theme_advanced_toolbar_align.toLowerCase();x="mce"+z._ufirst(x);l=d.add(d.add(w,"tr"),"td",{"class":"mceToolbar "+x});if(!r.getParam("accessibility_focus")){q.push(d.createHTML("a",{href:"#",onfocus:"tinyMCE.get('"+r.id+"').focus();"},""))}q.push(d.createHTML("a",{href:"#",accesskey:"q",title:r.getLang("advanced.toolbar_focus")},""));for(p=1;(y=A["theme_advanced_buttons"+p]);p++){m=j.createToolbar("toolbar"+p,{"class":"mceToolbarRow"+p});if(A["theme_advanced_buttons"+p+"_add"]){y+=","+A["theme_advanced_buttons"+p+"_add"]}if(A["theme_advanced_buttons"+p+"_add_before"]){y=A["theme_advanced_buttons"+p+"_add_before"]+","+y}z._addControls(y,m);q.push(m.renderHTML());k.deltaHeight-=A.theme_advanced_row_height}q.push(d.createHTML("a",{href:"#",accesskey:"z",title:r.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+r.id+"').focus();"},""));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row"},w.theme_advanced_path?p.translate("advanced.path")+": ":" ");d.add(k,"a",{href:"#",accesskey:"x"});if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}if(w.theme_advanced_resize_horizontal){r.style.width=Math.max(10,n.cw)+"px"}r.style.height=Math.max(10,n.ch)+"px";d.get(p.id+"_ifr").style.height=Math.max(10,parseInt(n.ch)+v.deltaHeight)+"px"})}p.onPostRender.add(function(){b.add(p.id+"_resize","mousedown",function(x){var z,t,o,s,y,r;z=d.get(p.id+"_tbl");o=z.clientWidth;s=z.clientHeight;miw=w.theme_advanced_resizing_min_width||100;mih=w.theme_advanced_resizing_min_height||100;maw=w.theme_advanced_resizing_max_width||65535;mah=w.theme_advanced_resizing_max_height||65535;t=d.add(d.get(p.id+"_parent"),"div",{"class":"mcePlaceHolder"});d.setStyles(t,{width:o,height:s});d.hide(z);d.show(t);i={x:x.screenX,y:x.screenY,w:o,h:s,dx:null,dy:null};q=b.add(d.doc,"mousemove",function(B){var n,A;i.dx=B.screenX-i.x;i.dy=B.screenY-i.y;n=Math.max(miw,i.w+i.dx);A=Math.max(mih,i.h+i.dy);n=Math.min(maw,n);A=Math.min(mah,A);if(w.theme_advanced_resize_horizontal){t.style.width=n+"px"}t.style.height=A+"px";return b.cancel(B)});u=b.add(d.doc,"mouseup",function(n){var A;b.remove(d.doc,"mousemove",q);b.remove(d.doc,"mouseup",u);z.style.display="";d.remove(t);if(i.dx===null){return}A=d.get(p.id+"_ifr");if(w.theme_advanced_resize_horizontal){z.style.width=Math.max(10,i.w+i.dx)+"px"}z.style.height=Math.max(10,i.h+i.dy)+"px";A.style.height=Math.max(10,A.clientHeight+i.dy)+"px";if(w.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+p.id+"_size",{cw:i.w+i.dx,ch:i.h+i.dy})}});return b.cancel(x)})})}j.deltaHeight-=21;k=m=null},_nodeChanged:function(l,u,k,q){var y=this,i,r=0,x,m,z=y.settings,w,j,o;if(z.readonly){return}e.each(y.stateControls,function(n){u.setActive(n,l.queryCommandState(y.controls[n][1]))});u.setActive("visualaid",l.hasVisual);u.setDisabled("undo",!l.undoManager.hasUndo()&&!l.typing);u.setDisabled("redo",!l.undoManager.hasRedo());u.setDisabled("outdent",!l.queryCommandState("Outdent"));i=d.getParent(k,"A");if(m=u.get("link")){if(!i||!i.name){m.setDisabled(!i&&q);m.setActive(!!i)}}if(m=u.get("unlink")){m.setDisabled(!i&&q);m.setActive(!!i&&!i.name)}if(m=u.get("anchor")){m.setActive(!!i&&i.name);if(e.isWebKit){i=d.getParent(k,"IMG");m.setActive(!!i&&d.getAttrib(i,"mce_name")=="a")}}i=d.getParent(k,"IMG");if(m=u.get("image")){m.setActive(!!i&&k.className.indexOf("mceItem")==-1)}if(m=u.get("styleselect")){if(k.className){y._importClasses();m.select(k.className)}else{m.select()}}if(m=u.get("formatselect")){i=d.getParent(k,d.isBlock);if(i){m.select(i.nodeName.toLowerCase())}}if(l.settings.convert_fonts_to_spans){l.dom.getParent(k,function(p){if(p.nodeName==="SPAN"){if(!w&&p.className){w=p.className}if(!j&&p.style.fontSize){j=p.style.fontSize}if(!o&&p.style.fontFamily){o=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}}return false});if(m=u.get("fontselect")){m.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==o})}if(m=u.get("fontsizeselect")){m.select(function(n){if(n.fontSize&&n.fontSize===j){return true}if(n["class"]&&n["class"]===w){return true}})}}else{if(m=u.get("fontselect")){m.select(l.queryCommandValue("FontName"))}if(m=u.get("fontsizeselect")){x=l.queryCommandValue("FontSize");m.select(function(n){return n.fontSize==x})}}if(z.theme_advanced_path&&z.theme_advanced_statusbar_location){i=d.get(l.id+"_path")||d.add(l.id+"_path_row","span",{id:l.id+"_path"});d.setHTML(i,"");l.dom.getParent(k,function(A){var p=A.nodeName.toLowerCase(),s,v,t="";if(A.nodeType!=1||A.nodeName==="BR"||(d.hasClass(A,"mceItemHidden")||d.hasClass(A,"mceItemRemoved"))){return}if(x=d.getAttrib(A,"mce_name")){p=x}if(e.isIE&&A.scopeName!=="HTML"){p=A.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(x=d.getAttrib(A,"src")){t+="src: "+x+" "}break;case"a":if(x=d.getAttrib(A,"name")){t+="name: "+x+" ";p+="#"+x}if(x=d.getAttrib(A,"href")){t+="href: "+x+" "}break;case"font":if(z.convert_fonts_to_spans){p="span"}if(x=d.getAttrib(A,"face")){t+="font: "+x+" "}if(x=d.getAttrib(A,"size")){t+="size: "+x+" "}if(x=d.getAttrib(A,"color")){t+="color: "+x+" "}break;case"span":if(x=d.getAttrib(A,"style")){t+="style: "+x+" "}break}if(x=d.getAttrib(A,"id")){t+="id: "+x+" "}if(x=A.className){x=x.replace(/(webkit-[\w\-]+|Apple-[\w\-]+|mceItem\w+|mceVisualAid)/g,"");if(x&&x.indexOf("mceItem")==-1){t+="class: "+x+" ";if(d.isBlock(A)||p=="img"||p=="span"){p+="."+x}}}p=p.replace(/(html:)/g,"");p={name:p,node:A,title:t};y.onResolveName.dispatch(y,p);t=p.title;p=p.name;v=d.create("a",{href:"javascript:;",onmousedown:"return false;",title:t,"class":"mcePath_"+(r++)},p);if(i.hasChildNodes()){i.insertBefore(d.doc.createTextNode(" \u00bb "),i.firstChild);i.insertBefore(v,i.firstChild)}else{i.appendChild(v)}},l.getBody())}},_sel:function(i){this.editor.execCommand("mceSelectNodeDepth",false,i)},_mceInsertAnchor:function(k,j){var i=this.editor;i.windowManager.open({url:e.baseURL+"/themes/advanced/anchor.htm",width:320+parseInt(i.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(i.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var i=this.editor;i.windowManager.open({url:e.baseURL+"/themes/advanced/charmap.htm",width:550+parseInt(i.getLang("advanced.charmap_delta_width",0)),height:250+parseInt(i.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var i=this.editor;i.windowManager.open({url:e.baseURL+"/themes/advanced/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(k,j){var i=this.editor;j=j||{};i.windowManager.open({url:e.baseURL+"/themes/advanced/color_picker.htm",width:375+parseInt(i.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(i.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:j.color,func:j.func,theme_url:this.url})},_mceCodeEditor:function(j,k){var i=this.editor;i.windowManager.open({url:e.baseURL+"/themes/advanced/source_editor.htm",width:parseInt(i.getParam("theme_advanced_source_editor_width",720)),height:parseInt(i.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(j,k){var i=this.editor;if(i.dom.getAttrib(i.selection.getNode(),"class").indexOf("mceItem")!=-1){return}i.windowManager.open({url:e.baseURL+"/themes/advanced/image.htm",width:355+parseInt(i.getLang("advanced.image_delta_width",0)),height:275+parseInt(i.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(j,k){var i=this.editor;i.windowManager.open({url:e.baseURL+"/themes/advanced/link.htm",width:310+parseInt(i.getLang("advanced.link_delta_width",0)),height:200+parseInt(i.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var i=this.editor;i.windowManager.confirm("advanced.newdocument",function(j){if(j){i.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var i=this;this._mceColorPicker(0,{color:i.fgColor,func:function(j){i.fgColor=j;i.editor.execCommand("ForeColor",false,j)}})},_mceBackColor:function(){var i=this;this._mceColorPicker(0,{color:i.bgColor,func:function(j){i.bgColor=j;i.editor.execCommand("HiliteColor",false,j)}})},_ufirst:function(i){return i.substring(0,1).toUpperCase()+i.substring(1)}});e.ThemeManager.add("advanced",e.themes.AdvancedTheme)}(tinymce)); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js b/lib/editor/tinymce/themes/advanced/editor_template_src.js similarity index 95% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js rename to lib/editor/tinymce/themes/advanced/editor_template_src.js index df3143d81b..9a43724f41 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +++ b/lib/editor/tinymce/themes/advanced/editor_template_src.js @@ -5,7 +5,7 @@ * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. */ -(function() { +(function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode; // Tell it to load theme specific language pack(s) @@ -104,7 +104,7 @@ } } - if (/\s*\./.test(v)) + if (/^\s*\./.test(v)) cl = v.replace(/\./g, ''); o[k] = cl ? {'class' : cl} : {fontSize : v}; @@ -325,6 +325,9 @@ if (v = s.theme_advanced_text_colors) o.colors = v; + if (s.theme_advanced_default_foreground_color) + o.default_color = s.theme_advanced_default_foreground_color; + o.title = 'advanced.forecolor_desc'; o.cmd = 'ForeColor'; o.scope = this; @@ -351,6 +354,9 @@ if (v = s.theme_advanced_background_colors) o.colors = v; + if (s.theme_advanced_default_background_color) + o.default_color = s.theme_advanced_default_background_color; + o.title = 'advanced.backcolor_desc'; o.cmd = 'HiliteColor'; o.scope = this; @@ -434,7 +440,7 @@ } */ - if (!ed.getParam('accessibility_focus') || ed.getParam('tab_focus')) + if (!ed.getParam('accessibility_focus')) Event.add(DOM.add(p, 'a', {href : '#'}, ''), 'focus', function() {tinyMCE.get(ed.id).focus();}); if (s.theme_advanced_toolbar_location == 'external') @@ -649,7 +655,7 @@ n = DOM.add(DOM.add(c, 'tr'), 'td', {'class' : 'mceToolbar ' + a}); - if (!ed.getParam('accessibility_focus') || ed.getParam('tab_focus')) + if (!ed.getParam('accessibility_focus')) h.push(DOM.createHTML('a', {href : '#', onfocus : 'tinyMCE.get(\'' + ed.id + '\').focus();'}, '')); h.push(DOM.createHTML('a', {href : '#', accesskey : 'q', title : ed.getLang("advanced.toolbar_focus")}, '')); @@ -681,10 +687,10 @@ n = DOM.add(tb, 'tr'); n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); - n = DOM.add(n, 'div', {id : ed.id + '_path_row'}, s.theme_advanced_path ? ed.translate('advanced.path') + ': ' : ' '); + n = DOM.add(n, 'div', {id : ed.id + '_path_row'}, s.theme_advanced_path ? ed.translate('advanced.path') + ': ' : ' '); DOM.add(n, 'a', {href : '#', accesskey : 'x'}); - if (s.theme_advanced_resizing && !tinymce.isOldWebKit) { + if (s.theme_advanced_resizing) { DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize'}); if (s.theme_advanced_resizing_use_cookie) { @@ -1144,4 +1150,4 @@ }); tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme); -}()); \ No newline at end of file +}(tinymce)); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm b/lib/editor/tinymce/themes/advanced/image.htm similarity index 83% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm rename to lib/editor/tinymce/themes/advanced/image.htm index 6c366469c3..7ec1052ba5 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +++ b/lib/editor/tinymce/themes/advanced/image.htm @@ -6,7 +6,6 @@ - @@ -20,7 +19,7 @@
    - +
    @@ -33,11 +32,11 @@ - + - + - + - + - + - +
    x
    diff --git a/lib/editor/tinymce/themes/advanced/img/colorpicker.jpg b/lib/editor/tinymce/themes/advanced/img/colorpicker.jpg new file mode 100644 index 0000000000..b4c542d107 Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/img/colorpicker.jpg differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif b/lib/editor/tinymce/themes/advanced/img/icons.gif similarity index 52% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif rename to lib/editor/tinymce/themes/advanced/img/icons.gif index 2f874b8e15..ccac36f54d 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif and b/lib/editor/tinymce/themes/advanced/img/icons.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js b/lib/editor/tinymce/themes/advanced/js/about.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js rename to lib/editor/tinymce/themes/advanced/js/about.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js b/lib/editor/tinymce/themes/advanced/js/anchor.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js rename to lib/editor/tinymce/themes/advanced/js/anchor.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js b/lib/editor/tinymce/themes/advanced/js/charmap.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js rename to lib/editor/tinymce/themes/advanced/js/charmap.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js b/lib/editor/tinymce/themes/advanced/js/color_picker.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js rename to lib/editor/tinymce/themes/advanced/js/color_picker.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js b/lib/editor/tinymce/themes/advanced/js/image.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js rename to lib/editor/tinymce/themes/advanced/js/image.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js b/lib/editor/tinymce/themes/advanced/js/link.js similarity index 93% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js rename to lib/editor/tinymce/themes/advanced/js/link.js index 2974878e1e..21aae6cbf8 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +++ b/lib/editor/tinymce/themes/advanced/js/link.js @@ -53,6 +53,7 @@ var LinkDialog = { // Create new anchor elements if (e == null) { + ed.getDoc().execCommand("unlink", false, null); tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); tinymce.each(ed.dom.select("a"), function(n) { @@ -92,7 +93,7 @@ var LinkDialog = { if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email'))) n.value = 'mailto:' + n.value; - if (/^\s*www./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external'))) + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external'))) n.value = 'http://' + n.value; }, diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js b/lib/editor/tinymce/themes/advanced/js/source_editor.js similarity index 91% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js rename to lib/editor/tinymce/themes/advanced/js/source_editor.js index af2231cad5..279328614c 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +++ b/lib/editor/tinymce/themes/advanced/js/source_editor.js @@ -2,7 +2,7 @@ tinyMCEPopup.requireLangPack(); tinyMCEPopup.onInit.add(onLoadInit); function saveContent() { - tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value); + tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true}); tinyMCEPopup.close(); } @@ -13,7 +13,7 @@ function onLoadInit() { if (tinymce.isGecko) document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck"); - document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent(); + document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true}); if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) { setWrap('soft'); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js b/lib/editor/tinymce/themes/advanced/langs/en.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js rename to lib/editor/tinymce/themes/advanced/langs/en.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js b/lib/editor/tinymce/themes/advanced/langs/en_dlg.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js rename to lib/editor/tinymce/themes/advanced/langs/en_dlg.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm b/lib/editor/tinymce/themes/advanced/link.htm similarity index 89% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm rename to lib/editor/tinymce/themes/advanced/link.htm index 286cc92479..a78bd334d5 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +++ b/lib/editor/tinymce/themes/advanced/link.htm @@ -7,7 +7,6 @@ - @@ -22,7 +21,7 @@ - +
    @@ -39,7 +38,7 @@ - + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css b/lib/editor/tinymce/themes/advanced/skins/default/content.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css rename to lib/editor/tinymce/themes/advanced/skins/default/content.css diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css b/lib/editor/tinymce/themes/advanced/skins/default/dialog.css similarity index 93% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css rename to lib/editor/tinymce/themes/advanced/skins/default/dialog.css index c944a60ba0..873c67e3c4 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +++ b/lib/editor/tinymce/themes/advanced/skins/default/dialog.css @@ -19,6 +19,7 @@ td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} textarea {resize:none;outline:none;} a:link, a:visited {color:black;} a:hover {color:#2B6FB6;} +.nowrap {white-space: nowrap} /* Forms */ fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} @@ -47,10 +48,11 @@ padding-bottom:2px; #cancel {background:url(img/buttons.png) 0 0;} /* Browse */ +a.pickcolor, a.browse {text-decoration:none} a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} .mceOldBoxModel a.browse span {width:22px; height:20px;} a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} -a.browse span.disabled {border:1px solid white; -moz-opacity:0.3; opacity:0.3; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} .mceOldBoxModel a.pickcolor span {width:21px; height:17px;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png b/lib/editor/tinymce/themes/advanced/skins/default/img/buttons.png similarity index 77% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png rename to lib/editor/tinymce/themes/advanced/skins/default/img/buttons.png index f1f3ee38ca..7dd58418ba 100644 Binary files a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png and b/lib/editor/tinymce/themes/advanced/skins/default/img/buttons.png differ diff --git a/lib/editor/tinymce/themes/advanced/skins/default/img/items.gif b/lib/editor/tinymce/themes/advanced/skins/default/img/items.gif new file mode 100644 index 0000000000..2eafd7954e Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/default/img/items.gif differ diff --git a/lib/editor/tinymce/themes/advanced/skins/default/img/menu_arrow.gif b/lib/editor/tinymce/themes/advanced/skins/default/img/menu_arrow.gif new file mode 100644 index 0000000000..85e31dfb2d Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/default/img/menu_arrow.gif differ diff --git a/lib/editor/tinymce/themes/advanced/skins/default/img/menu_check.gif b/lib/editor/tinymce/themes/advanced/skins/default/img/menu_check.gif new file mode 100644 index 0000000000..adfdddccd7 Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/default/img/menu_check.gif differ diff --git a/lib/editor/tinymce/themes/advanced/skins/default/img/progress.gif b/lib/editor/tinymce/themes/advanced/skins/default/img/progress.gif new file mode 100644 index 0000000000..5bb90fd6a4 Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/default/img/progress.gif differ diff --git a/lib/editor/tinymce/themes/advanced/skins/default/img/tabs.gif b/lib/editor/tinymce/themes/advanced/skins/default/img/tabs.gif new file mode 100644 index 0000000000..ce4be63558 Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/default/img/tabs.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css b/lib/editor/tinymce/themes/advanced/skins/default/ui.css similarity index 94% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css rename to lib/editor/tinymce/themes/advanced/skins/default/ui.css index 7e202a71a3..230a2ee288 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +++ b/lib/editor/tinymce/themes/advanced/skins/default/ui.css @@ -37,7 +37,7 @@ .defaultSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px; margin-right:1px} .defaultSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} .defaultSkin a.mceButtonActive, .defaultSkin a.mceButtonSelected {border:1px solid #0A246A; background-color:#C2CBE0} -.defaultSkin .mceButtonDisabled .mceIcon {opacity:0.3; filter:alpha(opacity=30)} +.defaultSkin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} .defaultSkin .mceButtonLabeled {width:auto} .defaultSkin .mceButtonLabeled span.mceIcon {float:left} .defaultSkin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} @@ -64,12 +64,11 @@ .defaultSkin .mceSplitButton a, .defaultSkin .mceSplitButton span {height:20px; display:block} .defaultSkin .mceSplitButton a.mceAction {width:20px; border:1px solid #F0F0EE; border-right:0;} .defaultSkin .mceSplitButton span.mceAction {width:20px; background:url(../../img/icons.gif) 20px 20px;} -.defaultSkin .mceSplitButton a.mceOpen {width:9px; border:1px solid #F0F0EE;} -.defaultSkin .mceSplitButton span.mceOpen {width:9px; background:url(../../img/icons.gif) -741px 0;} +.defaultSkin .mceSplitButton a.mceOpen {width:9px; background:url(../../img/icons.gif) -741px 0; border:1px solid #F0F0EE;} +.defaultSkin .mceSplitButton span.mceOpen {display:none} .defaultSkin table.mceSplitButtonEnabled:hover a.mceAction, .defaultSkin .mceSplitButtonHover a.mceAction, .defaultSkin .mceSplitButtonSelected a.mceAction {border:1px solid #0A246A; border-right:0; background-color:#B2BBD0} -.defaultSkin table.mceSplitButtonEnabled:hover a.mceOpen, .defaultSkin .mceSplitButtonHover a.mceOpen, .defaultSkin .mceSplitButtonSelected a.mceOpen {border:1px solid #0A246A;} -.defaultSkin table.mceSplitButtonEnabled:hover span.mceOpen, .defaultSkin .mceSplitButtonHover span.mceOpen, .defaultSkin .mceSplitButtonSelected span.mceOpen {background-color:#B2BBD0} -.defaultSkin .mceSplitButtonDisabled .mceAction, .defaultSkin .mceSplitButtonDisabled span.mceOpen {opacity:0.3; filter:alpha(opacity=30)} +.defaultSkin table.mceSplitButtonEnabled:hover a.mceOpen, .defaultSkin .mceSplitButtonHover a.mceOpen, .defaultSkin .mceSplitButtonSelected a.mceOpen {background-color:#B2BBD0; border:1px solid #0A246A;} +.defaultSkin .mceSplitButtonDisabled .mceAction, .defaultSkin .mceSplitButtonDisabled a.mceOpen {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} .defaultSkin .mceSplitButtonActive a.mceAction {border:1px solid #0A246A; background-color:#C2CBE0} .defaultSkin .mceSplitButtonActive a.mceOpen {border-left:0;} @@ -107,7 +106,7 @@ .defaultSkin .mceMenuItemSub a {background:url(img/menu_arrow.gif) no-repeat top right;} /* Progress,Resize */ -.defaultSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; filter:alpha(opacity=50); background:#FFF} +.defaultSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50); background:#FFF} .defaultSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} .defaultSkin .mcePlaceHolder {border:1px dotted gray} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css b/lib/editor/tinymce/themes/advanced/skins/o2k7/content.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css rename to lib/editor/tinymce/themes/advanced/skins/o2k7/content.css diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css b/lib/editor/tinymce/themes/advanced/skins/o2k7/dialog.css similarity index 94% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css rename to lib/editor/tinymce/themes/advanced/skins/o2k7/dialog.css index e36042e645..6c37d6fb83 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +++ b/lib/editor/tinymce/themes/advanced/skins/o2k7/dialog.css @@ -19,6 +19,7 @@ td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} textarea {resize:none;outline:none;} a:link, a:visited {color:black;} a:hover {color:#2B6FB6;} +.nowrap {white-space: nowrap} /* Forms */ fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} @@ -47,10 +48,11 @@ padding-bottom:2px; #cancel {background:url(../default/img/buttons.png) 0 0;} /* Browse */ +a.pickcolor, a.browse {text-decoration:none} a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} .mceOldBoxModel a.browse span {width:22px; height:20px;} a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} -a.browse span.disabled {border:1px solid white; -moz-opacity:0.3; opacity:0.3; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} .mceOldBoxModel a.pickcolor span {width:21px; height:17px;} diff --git a/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg.png b/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg.png new file mode 100644 index 0000000000..12cfb419bb Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg.png differ diff --git a/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png b/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png new file mode 100644 index 0000000000..8996c7493e Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png differ diff --git a/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png b/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png new file mode 100644 index 0000000000..bd5d2550c0 Binary files /dev/null and b/lib/editor/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css b/lib/editor/tinymce/themes/advanced/skins/o2k7/ui.css similarity index 94% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css rename to lib/editor/tinymce/themes/advanced/skins/o2k7/ui.css index 0da56e9112..c10a3f0161 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +++ b/lib/editor/tinymce/themes/advanced/skins/o2k7/ui.css @@ -40,7 +40,7 @@ .o2k7Skin .mceOldBoxModel a.mceButton span, .o2k7Skin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px} .o2k7Skin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} .o2k7Skin a.mceButtonActive, .o2k7Skin a.mceButtonSelected {background-position:0 -44px} -.o2k7Skin .mceButtonDisabled .mceIcon {opacity:0.3; filter:alpha(opacity=30)} +.o2k7Skin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} .o2k7Skin .mceButtonLabeled {width:auto} .o2k7Skin .mceButtonLabeled span.mceIcon {float:left} .o2k7Skin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} @@ -66,11 +66,11 @@ .o2k7Skin .mceSplitButton {background:url(img/button_bg.png)} .o2k7Skin .mceSplitButton a.mceAction {width:22px} .o2k7Skin .mceSplitButton span.mceAction {width:22px; background:url(../../img/icons.gif) 20px 20px} -.o2k7Skin .mceSplitButton a.mceOpen {width:10px} -.o2k7Skin .mceSplitButton span.mceOpen {width:10px; background:url(img/button_bg.png) -44px 0} +.o2k7Skin .mceSplitButton a.mceOpen {width:10px; background:url(img/button_bg.png) -44px 0} +.o2k7Skin .mceSplitButton span.mceOpen {display:none} .o2k7Skin table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background:url(img/button_bg.png) 0 -22px} -.o2k7Skin table.mceSplitButtonEnabled:hover span.mceOpen, .o2k7Skin .mceSplitButtonHover span.mceOpen, .o2k7Skin .mceSplitButtonSelected span.mceOpen {background-position:-44px -44px} -.o2k7Skin .mceSplitButtonDisabled .mceAction {opacity:0.3; filter:alpha(opacity=30)} +.o2k7Skin table.mceSplitButtonEnabled:hover a.mceOpen, .o2k7Skin .mceSplitButtonHover a.mceOpen, .o2k7Skin .mceSplitButtonSelected a.mceOpen {background-position:-44px -44px} +.o2k7Skin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} .o2k7Skin .mceSplitButtonActive {background-position:0 -44px} /* ColorSplitButton */ @@ -107,7 +107,7 @@ .o2k7Skin .mceMenuItemSub a {background:url(../default/img/menu_arrow.gif) no-repeat top right;} /* Progress,Resize */ -.o2k7Skin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; filter:alpha(opacity=50); background:#FFF} +.o2k7Skin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF} .o2k7Skin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} .o2k7Skin .mcePlaceHolder {border:1px dotted gray} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css b/lib/editor/tinymce/themes/advanced/skins/o2k7/ui_black.css similarity index 68% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css rename to lib/editor/tinymce/themes/advanced/skins/o2k7/ui_black.css index a42a727abc..153f0c38a6 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +++ b/lib/editor/tinymce/themes/advanced/skins/o2k7/ui_black.css @@ -1,8 +1,8 @@ /* Black */ -.o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton span.mceOpen, .o2k7SkinBlack .mceListBox .mceOpen {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton a.mceOpen, .o2k7SkinBlack .mceListBox a.mceOpen {background-image:url(img/button_bg_black.png)} .o2k7SkinBlack table, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} .o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0} -.o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} +.o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7SkinBlack .mceListBoxHover .mceText, .o2k7SkinBlack .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} .o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;} -.o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)} -.o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#FFE7A1} \ No newline at end of file +.o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7SkinBlack .mceSplitButtonHover a.mceAction, .o2k7SkinBlack .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7SkinBlack .mceMenu .mceMenuItemActive {background-color:#FFE7A1} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css b/lib/editor/tinymce/themes/advanced/skins/o2k7/ui_silver.css similarity index 81% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css rename to lib/editor/tinymce/themes/advanced/skins/o2k7/ui_silver.css index 548b1b852b..7fe3b45e12 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +++ b/lib/editor/tinymce/themes/advanced/skins/o2k7/ui_silver.css @@ -1,5 +1,5 @@ /* Silver */ -.o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton span.mceOpen, .o2k7SkinSilver .mceListBox .mceOpen {background-image:url(img/button_bg_silver.png)} +.o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton a.mceOpen, .o2k7SkinSilver .mceListBox a.mceOpen {background-image:url(img/button_bg_silver.png)} .o2k7SkinSilver table, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee} .o2k7SkinSilver .mceListBox .mceText {background:#FFF} .o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm b/lib/editor/tinymce/themes/advanced/source_editor.htm similarity index 95% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm rename to lib/editor/tinymce/themes/advanced/source_editor.htm index 119a913c93..553e7bb2bc 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +++ b/lib/editor/tinymce/themes/advanced/source_editor.htm @@ -4,7 +4,6 @@ {#advanced_dlg.code_title} - diff --git a/lib/editor/tinymce/themes/simple/editor_template.js b/lib/editor/tinymce/themes/simple/editor_template.js new file mode 100644 index 0000000000..ed89abc067 --- /dev/null +++ b/lib/editor/tinymce/themes/simple/editor_template.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.ThemeManager.requireLangPack("simple");tinymce.create("tinymce.themes.SimpleTheme",{init:function(c,d){var e=this,b=["Bold","Italic","Underline","Strikethrough","InsertUnorderedList","InsertOrderedList"],f=c.settings;e.editor=c;c.onInit.add(function(){c.onNodeChange.add(function(h,g){tinymce.each(b,function(i){g.get(i.toLowerCase()).setActive(h.queryCommandState(i))})});c.dom.loadCSS(d+"/skins/"+f.skin+"/content.css")});a.loadCSS((f.editor_css?c.documentBaseURI.toAbsolute(f.editor_css):"")||d+"/skins/"+f.skin+"/ui.css")},renderUI:function(h){var e=this,i=h.targetNode,b,c,d=e.editor,f=d.controlManager,g;i=a.insertAfter(a.create("span",{id:d.id+"_container","class":"mceEditor "+d.settings.skin+"SimpleSkin"}),i);i=g=a.add(i,"table",{cellPadding:0,cellSpacing:0,"class":"mceLayout"});i=c=a.add(i,"tbody");i=a.add(c,"tr");i=b=a.add(a.add(i,"td"),"div",{"class":"mceIframeContainer"});i=a.add(a.add(c,"tr",{"class":"last"}),"td",{"class":"mceToolbar mceLast",align:"center"});c=e.toolbar=f.createToolbar("tools1");c.add(f.createButton("bold",{title:"simple.bold_desc",cmd:"Bold"}));c.add(f.createButton("italic",{title:"simple.italic_desc",cmd:"Italic"}));c.add(f.createButton("underline",{title:"simple.underline_desc",cmd:"Underline"}));c.add(f.createButton("strikethrough",{title:"simple.striketrough_desc",cmd:"Strikethrough"}));c.add(f.createSeparator());c.add(f.createButton("undo",{title:"simple.undo_desc",cmd:"Undo"}));c.add(f.createButton("redo",{title:"simple.redo_desc",cmd:"Redo"}));c.add(f.createSeparator());c.add(f.createButton("cleanup",{title:"simple.cleanup_desc",cmd:"mceCleanup"}));c.add(f.createSeparator());c.add(f.createButton("insertunorderedlist",{title:"simple.bullist_desc",cmd:"InsertUnorderedList"}));c.add(f.createButton("insertorderedlist",{title:"simple.numlist_desc",cmd:"InsertOrderedList"}));c.renderTo(i);return{iframeContainer:b,editorContainer:d.id+"_container",sizeContainer:g,deltaHeight:-20}},getInfo:function(){return{longname:"Simple theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.ThemeManager.add("simple",tinymce.themes.SimpleTheme)})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js b/lib/editor/tinymce/themes/simple/editor_template_src.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js rename to lib/editor/tinymce/themes/simple/editor_template_src.js diff --git a/lib/editor/tinymce/themes/simple/img/icons.gif b/lib/editor/tinymce/themes/simple/img/icons.gif new file mode 100644 index 0000000000..16af141ff0 Binary files /dev/null and b/lib/editor/tinymce/themes/simple/img/icons.gif differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js b/lib/editor/tinymce/themes/simple/langs/en.js similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js rename to lib/editor/tinymce/themes/simple/langs/en.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css b/lib/editor/tinymce/themes/simple/skins/default/content.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css rename to lib/editor/tinymce/themes/simple/skins/default/content.css diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css b/lib/editor/tinymce/themes/simple/skins/default/ui.css similarity index 93% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css rename to lib/editor/tinymce/themes/simple/skins/default/ui.css index 1cf64b8dc3..076fe84e34 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css +++ b/lib/editor/tinymce/themes/simple/skins/default/ui.css @@ -15,7 +15,7 @@ .defaultSimpleSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px} .defaultSimpleSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} .defaultSimpleSkin a.mceButtonActive {border:1px solid #0A246A; background-color:#C2CBE0} -.defaultSimpleSkin .mceButtonDisabled span {opacity:0.3; filter:alpha(opacity=30)} +.defaultSimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} /* Separator */ .defaultSimpleSkin .mceSeparator {display:block; background:url(../../img/icons.gif) -180px 0; width:2px; height:20px; margin:0 2px 0 4px} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css b/lib/editor/tinymce/themes/simple/skins/o2k7/content.css similarity index 100% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css rename to lib/editor/tinymce/themes/simple/skins/o2k7/content.css diff --git a/lib/editor/tinymce/themes/simple/skins/o2k7/img/button_bg.png b/lib/editor/tinymce/themes/simple/skins/o2k7/img/button_bg.png new file mode 100644 index 0000000000..527e3495a6 Binary files /dev/null and b/lib/editor/tinymce/themes/simple/skins/o2k7/img/button_bg.png differ diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css b/lib/editor/tinymce/themes/simple/skins/o2k7/ui.css similarity index 93% rename from lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css rename to lib/editor/tinymce/themes/simple/skins/o2k7/ui.css index bfae96e2d0..cf6c35d109 100644 --- a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css +++ b/lib/editor/tinymce/themes/simple/skins/o2k7/ui.css @@ -18,7 +18,7 @@ .o2k7SimpleSkin a.mceButton span, .o2k7SimpleSkin a.mceButton img {margin:1px 0 0 1px} .o2k7SimpleSkin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} .o2k7SimpleSkin a.mceButtonActive {background-position:0 -44px} -.o2k7SimpleSkin .mceButtonDisabled span {opacity:0.3; filter:alpha(opacity=30)} +.o2k7SimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} /* Separator */ .o2k7SimpleSkin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} diff --git a/lib/editor/tinymce/tiny_mce.js b/lib/editor/tinymce/tiny_mce.js new file mode 100644 index 0000000000..866d3e1fb3 --- /dev/null +++ b/lib/editor/tinymce/tiny_mce.js @@ -0,0 +1 @@ +var tinymce={majorVersion:"3",minorVersion:"2.3.1",releaseDate:"2009-05-05",_init:function(){var o=this,k=document,l=window,j=navigator,b=j.userAgent,h,a,g,f,e,m;o.isOpera=l.opera&&opera.buildNumber;o.isWebKit=/WebKit/.test(b);o.isIE=!o.isWebKit&&!o.isOpera&&(/MSIE/gi).test(b)&&(/Explorer/gi).test(j.appName);o.isIE6=o.isIE&&/MSIE [56]/.test(b);o.isGecko=!o.isWebKit&&/Gecko/.test(b);o.isMac=b.indexOf("Mac")!=-1;o.isAir=/adobeair/i.test(b);if(l.tinyMCEPreInit){o.suffix=tinyMCEPreInit.suffix;o.baseURL=tinyMCEPreInit.base;o.query=tinyMCEPreInit.query;return}o.suffix="";a=k.getElementsByTagName("base");for(h=0;h=c.length){for(e=0,b=g.length;e=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}g.push(f[c])}c=e.length-b;if(c<=0){return"/"+g.reverse().join("/")+d}return"/"+e.slice(0,c).join("/")+"/"+g.reverse().join("/")+d},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();tinymce.create("static tinymce.util.JSON",{serialize:function(e){var c,a,d=tinymce.util.JSON.serialize,b;if(e==null){return"null"}b=typeof e;if(b=="string"){a="\bb\tt\nn\ff\rr\"\"''\\\\";return'"'+e.replace(/([\u0080-\uFFFF\x00-\x1f\"])/g,function(g,f){c=a.indexOf(f);if(c+1){return"\\"+a.charAt(c+1)}g=f.charCodeAt().toString(16);return"\\u"+"0000".substring(g.length)+g})+'"'}if(b=="object"){if(e.hasOwnProperty&&e instanceof Array){for(c=0,a="[";c0?",":"")+d(e[c])}return a+"]"}a="{";for(c in e){a+=typeof e[c]!="function"?(a.length>1?',"':'"')+c+'":'+d(e[c]):""}return a+"}"}return""+e},parse:function(s){try{return eval("("+s+")")}catch(ex){}}});tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){e.call(f.error_scope||f.scope,h,g)};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(c){var e=c.each,b=c.is;var d=c.isWebKit,a=c.isIE;c.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(i,g){var f=this;f.doc=i;f.win=window;f.files={};f.cssFlicker=false;f.counter=0;f.boxModel=!c.isIE||i.compatMode=="CSS1Compat";f.stdMode=i.documentMode===8;this.settings=g=c.extend({keep_values:false,hex_colors:1,process_html:1},g);if(c.isIE6){try{i.execCommand("BackgroundImageCache",false,true)}catch(h){f.cssFlicker=true}}c.addUnload(f.destroy,f)},getRoot:function(){var f=this,g=f.settings;return(g&&f.get(g.root_element))||f.doc.body},getViewPort:function(g){var h,f;g=!g?this.win:g;h=g.document;f=this.boxModel?h.documentElement:h.body;return{x:g.pageXOffset||f.scrollLeft,y:g.pageYOffset||f.scrollTop,w:g.innerWidth||f.clientWidth,h:g.innerHeight||f.clientHeight}},getRect:function(i){var h,f=this,g;i=f.get(i);h=f.getPos(i);g=f.getSize(i);return{x:h.x,y:h.y,w:g.w,h:g.h}},getSize:function(j){var g=this,f,i;j=g.get(j);f=g.getStyle(j,"width");i=g.getStyle(j,"height");if(f.indexOf("px")===-1){f=0}if(i.indexOf("px")===-1){i=0}return{w:parseInt(f)||j.offsetWidth||j.clientWidth,h:parseInt(i)||j.offsetHeight||j.clientHeight}},is:function(g,f){return c.dom.Sizzle.matches(f,g.nodeType?[g]:g).length>0},getParent:function(i,h,g){return this.getParents(i,h,g,false)},getParents:function(p,k,i,m){var h=this,g,j=h.settings,l=[];p=h.get(p);m=m===undefined;if(j.strict_root){i=i||h.getRoot()}if(b(k,"string")){g=k;if(k==="*"){k=function(f){return f.nodeType==1}}else{k=function(f){return h.is(f,g)}}}while(p){if(p==i||!p.nodeType||p.nodeType===9){break}if(!k||k(p)){if(m){l.push(p)}else{return p}}p=p.parentNode}return m?l:null},get:function(f){var g;if(f&&this.doc&&typeof(f)=="string"){g=f;f=this.doc.getElementById(f);if(f&&f.id!==g){return this.doc.getElementsByName(g)[1]}}return f},select:function(h,g){var f=this;return c.dom.Sizzle(h,f.get(g)||f.get(f.settings.root_element)||f.doc,[])},add:function(j,l,f,i,k){var g=this;return this.run(j,function(n){var m,h;m=b(l,"string")?g.doc.createElement(l):l;g.setAttribs(m,f);if(i){if(i.nodeType){m.appendChild(i)}else{g.setHTML(m,i)}}return !k?n.appendChild(m):m})},create:function(i,f,g){return this.add(this.doc.createElement(i),i,f,g,1)},createHTML:function(m,f,j){var l="",i=this,g;l+="<"+m;for(g in f){if(f.hasOwnProperty(g)){l+=" "+g+'="'+i.encode(f[g])+'"'}}if(c.is(j)){return l+">"+j+""}return l+" />"},remove:function(h,f){var g=this;return this.run(h,function(m){var l,k,j;l=m.parentNode;if(!l){return null}if(f){for(j=m.childNodes.length-1;j>=0;j--){g.insertAfter(m.childNodes[j],m)}}if(g.fixPsuedoLeaks){l=m.cloneNode(true);f="IELeakGarbageBin";k=g.get(f)||g.add(g.doc.body,"div",{id:f,style:"display:none"});k.appendChild(m);k.innerHTML="";return l}return l.removeChild(m)})},setStyle:function(i,f,g){var h=this;return h.run(i,function(l){var k,j;k=l.style;f=f.replace(/-(\D)/g,function(n,m){return m.toUpperCase()});if(h.pixelStyles.test(f)&&(c.is(g,"number")||/^[\-0-9\.]+$/.test(g))){g+="px"}switch(f){case"opacity":if(a){k.filter=g===""?"":"alpha(opacity="+(g*100)+")";if(!i.currentStyle||!i.currentStyle.hasLayout){k.display="inline-block"}}k[f]=k["-moz-opacity"]=k["-khtml-opacity"]=g||"";break;case"float":a?k.styleFloat=g:k.cssFloat=g;break;default:k[f]=g||""}if(h.settings.update_styles){h.setAttrib(l,"mce_style")}})},getStyle:function(i,f,h){i=this.get(i);if(!i){return false}if(this.doc.defaultView&&h){f=f.replace(/[A-Z]/g,function(j){return"-"+j});try{return this.doc.defaultView.getComputedStyle(i,null).getPropertyValue(f)}catch(g){return null}}f=f.replace(/-(\D)/g,function(k,j){return j.toUpperCase()});if(f=="float"){f=a?"styleFloat":"cssFloat"}if(i.currentStyle&&h){return i.currentStyle[f]}return i.style[f]},setStyles:function(i,j){var g=this,h=g.settings,f;f=h.update_styles;h.update_styles=0;e(j,function(k,l){g.setStyle(i,l,k)});h.update_styles=f;if(h.update_styles){g.setAttrib(i,h.cssText)}},setAttrib:function(h,i,f){var g=this;if(!h||!i){return}if(g.settings.strict){i=i.toLowerCase()}return this.run(h,function(k){var j=g.settings;switch(i){case"style":if(!b(f,"string")){e(f,function(l,m){g.setStyle(k,m,l)});return}if(j.keep_values){if(f&&!g._isRes(f)){k.setAttribute("mce_style",f,2)}else{k.removeAttribute("mce_style",2)}}k.style.cssText=f;break;case"class":k.className=f||"";break;case"src":case"href":if(j.keep_values){if(j.url_converter){f=j.url_converter.call(j.url_converter_scope||g,f,i,k)}g.setAttrib(k,"mce_"+i,f,2)}break;case"shape":k.setAttribute("mce_style",f);break}if(b(f)&&f!==null&&f.length!==0){k.setAttribute(i,""+f,2)}else{k.removeAttribute(i,2)}})},setAttribs:function(g,h){var f=this;return this.run(g,function(i){e(h,function(j,k){f.setAttrib(i,k,j)})})},getAttrib:function(i,j,h){var f,g=this;i=g.get(i);if(!i||i.nodeType!==1){return false}if(!b(h)){h=""}if(/^(src|href|style|coords|shape)$/.test(j)){f=i.getAttribute("mce_"+j);if(f){return f}}if(a&&g.props[j]){f=i[g.props[j]];f=f&&f.nodeValue?f.nodeValue:f}if(!f){f=i.getAttribute(j,2)}if(j==="style"){f=f||i.style.cssText;if(f){f=g.serializeStyle(g.parseStyle(f));if(g.settings.keep_values&&!g._isRes(f)){i.setAttribute("mce_style",f)}}}if(d&&j==="class"&&f){f=f.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(a){switch(j){case"rowspan":case"colspan":if(f===1){f=""}break;case"size":if(f==="+0"||f===20||f===0){f=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(f===0){f=""}break;case"hspace":if(f===-1){f=""}break;case"maxlength":case"tabindex":if(f===32768||f===2147483647||f==="32768"){f=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(f===65535){return j}return h;case"shape":f=f.toLowerCase();break;default:if(j.indexOf("on")===0&&f){f=(""+f).replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1")}}}return(f!==undefined&&f!==null&&f!=="")?""+f:h},getPos:function(m,i){var g=this,f=0,l=0,j,k=g.doc,h;m=g.get(m);i=i||k.body;if(m){if(a&&!g.stdMode){m=m.getBoundingClientRect();j=g.boxModel?k.documentElement:k.body;f=g.getStyle(g.select("html")[0],"borderWidth");f=(f=="medium"||g.boxModel&&!g.isIE6)&&2||f;m.top+=g.win.self!=g.win.top?2:0;return{x:m.left+j.scrollLeft-f,y:m.top+j.scrollTop-f}}h=m;while(h&&h!=i&&h.nodeType){f+=h.offsetLeft||0;l+=h.offsetTop||0;h=h.offsetParent}h=m.parentNode;while(h&&h!=i&&h.nodeType){f-=h.scrollLeft||0;l-=h.scrollTop||0;h=h.parentNode}}return{x:f,y:l}},parseStyle:function(h){var i=this,j=i.settings,k={};if(!h){return k}function f(w,q,v){var o,u,m,n;o=k[w+"-top"+q];if(!o){return}u=k[w+"-right"+q];if(o!=u){return}m=k[w+"-bottom"+q];if(u!=m){return}n=k[w+"-left"+q];if(m!=n){return}k[v]=n;delete k[w+"-top"+q];delete k[w+"-right"+q];delete k[w+"-bottom"+q];delete k[w+"-left"+q]}function g(n,m,l,p){var o;o=k[m];if(!o){return}o=k[l];if(!o){return}o=k[p];if(!o){return}k[n]=k[m]+" "+k[l]+" "+k[p];delete k[m];delete k[l];delete k[p]}h=h.replace(/&(#?[a-z0-9]+);/g,"&$1_MCE_SEMI_");e(h.split(";"),function(m){var l,n=[];if(m){m=m.replace(/_MCE_SEMI_/g,";");m=m.replace(/url\([^\)]+\)/g,function(o){n.push(o);return"url("+n.length+")"});m=m.split(":");l=c.trim(m[1]);l=l.replace(/url\(([^\)]+)\)/g,function(p,o){return n[parseInt(o)-1]});l=l.replace(/rgb\([^\)]+\)/g,function(o){return i.toHex(o)});if(j.url_converter){l=l.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g,function(o,p){return"url("+j.url_converter.call(j.url_converter_scope||i,i.decode(p),"style",null)+")"})}k[c.trim(m[0]).toLowerCase()]=l}});f("border","","border");f("border","-width","border-width");f("border","-color","border-color");f("border","-style","border-style");f("padding","","padding");f("margin","","margin");g("border","border-width","border-style","border-color");if(a){if(k.border=="medium none"){k.border=""}}return k},serializeStyle:function(g){var f="";e(g,function(i,h){if(h&&i){if(c.isGecko&&h.indexOf("-moz-")===0){return}switch(h){case"color":case"background-color":i=i.toLowerCase();break}f+=(f?" ":"")+h+": "+i+";"}});return f},loadCSS:function(f){var g=this,h=g.doc;if(!f){f=""}e(f.split(","),function(i){if(g.files[i]){return}g.files[i]=true;g.add(g.select("head")[0],"link",{rel:"stylesheet",href:c._addVer(i)})})},addClass:function(f,g){return this.run(f,function(h){var i;if(!g){return 0}if(this.hasClass(h,g)){return h.className}i=this.removeClass(h,g);return h.className=(i!=""?(i+" "):"")+g})},removeClass:function(h,i){var f=this,g;return f.run(h,function(k){var j;if(f.hasClass(k,i)){if(!g){g=new RegExp("(^|\\s+)"+i+"(\\s+|$)","g")}j=k.className.replace(g," ");return k.className=c.trim(j!=" "?j:"")}return k.className})},hasClass:function(g,f){g=this.get(g);if(!g||!f){return false}return(" "+g.className+" ").indexOf(" "+f+" ")!==-1},show:function(f){return this.setStyle(f,"display","block")},hide:function(f){return this.setStyle(f,"display","none")},isHidden:function(f){f=this.get(f);return !f||f.style.display=="none"||this.getStyle(f,"display")=="none"},uniqueId:function(f){return(!f?"mce_":f)+(this.counter++)},setHTML:function(i,g){var f=this;return this.run(i,function(m){var h,k,j,q,l,h;g=f.processHTML(g);if(a){function o(){try{m.innerHTML="
    "+g;m.removeChild(m.firstChild)}catch(n){while(m.firstChild){m.firstChild.removeNode()}h=f.create("div");h.innerHTML="
    "+g;e(h.childNodes,function(r,p){if(p){m.appendChild(r)}})}}if(f.settings.fix_ie_paragraphs){g=g.replace(/

    <\/p>|]+)><\/p>|/gi,' 

    ')}o();if(f.settings.fix_ie_paragraphs){j=m.getElementsByTagName("p");for(k=j.length-1,h=0;k>=0;k--){q=j[k];if(!q.hasChildNodes()){if(!q.mce_keep){h=1;break}q.removeAttribute("mce_keep")}}}if(h){g=g.replace(/

    ]+)>|

    /g,'

    ');g=g.replace(/<\/p>/g,"
    ");o();if(f.settings.fix_ie_paragraphs){j=m.getElementsByTagName("DIV");for(k=j.length-1;k>=0;k--){q=j[k];if(q.mce_tmp){l=f.doc.createElement("p");q.cloneNode(false).outerHTML.replace(/([a-z0-9\-_]+)=/gi,function(p,n){var r;if(n!=="mce_tmp"){r=q.getAttribute(n);if(!r&&n==="class"){r=q.className}l.setAttribute(n,r)}});for(h=0;h|]+)>/gi,"<$1b$2>");j=j.replace(/<(\/?)em>|]+)>/gi,"<$1i$2>")}else{if(a){j=j.replace(/'/g,"'");j=j.replace(/\s+(disabled|checked|readonly|selected)\s*=\s*[\"\']?(false|0)[\"\']?/gi,"")}}j=j.replace(/]+)\/>|/gi,"");if(i.keep_values){if(/)/g,"\n");h=h.replace(/^[\r\n]*|[\r\n]*$/g,"");h=h.replace(/^\s*(\/\/\s*|\]\]>|-->|\]\]-->)\s*$/g,"");return h}j=j.replace(/]+|)>([\s\S]*?)<\/script>/g,function(l,k,h){h=f(h);if(!k){k=' type="text/javascript"'}if(h){h=""}return""+h+""});j=j.replace(/]+|)>([\s\S]*?)<\/style>/g,function(l,k,h){h=f(h);return"'+h+""})}j=j.replace(//g,"");j=j.replace(/<([\w:]+) [^>]*(src|href|style|shape|coords)[^>]*>/gi,function(h,l){function k(o,n,q){var p=q;if(h.indexOf("mce_"+n)!=-1){return o}if(n=="style"){if(g._isRes(q)){return o}if(i.hex_colors){p=p.replace(/rgb\([^\)]+\)/g,function(m){return g.toHex(m)})}if(i.url_converter){p=p.replace(/url\([\'\"]?([^\)\'\"]+)\)/g,function(m,r){return"url("+g.encode(i.url_converter.call(i.url_converter_scope||g,g.decode(r),n,l))+")"})}}else{if(n!="coords"&&n!="shape"){if(i.url_converter){p=g.encode(i.url_converter.call(i.url_converter_scope||g,g.decode(q),n,l))}}}return" "+n+'="'+q+'" mce_'+n+'="'+p+'"'}h=h.replace(/ (src|href|style|coords|shape)=[\"]([^\"]+)[\"]/gi,k);h=h.replace(/ (src|href|style|coords|shape)=[\']([^\']+)[\']/gi,k);return h.replace(/ (src|href|style|coords|shape)=([^\s\"\'>]+)/gi,k)})}return j},getOuterHTML:function(f){var g;f=this.get(f);if(!f){return null}if(f.outerHTML!==undefined){return f.outerHTML}g=(f.ownerDocument||this.doc).createElement("body");g.appendChild(f.cloneNode(true));return g.innerHTML},setOuterHTML:function(i,g,j){var f=this;return this.run(i,function(h){var l,k;h=f.get(h);j=j||h.ownerDocument||f.doc;if(a&&h.nodeType==1){h.outerHTML=g}else{k=j.createElement("body");k.innerHTML=g;l=k.lastChild;while(l){f.insertAfter(l.cloneNode(true),h);l=l.previousSibling}f.remove(h)}})},decode:function(g){var h,i,f;if(/&[^;]+;/.test(g)){h=this.doc.createElement("div");h.innerHTML=g;i=h.firstChild;f="";if(i){do{f+=i.nodeValue}while(i.nextSibling)}return f||g}return g},encode:function(f){return f?(""+f).replace(/[<>&\"]/g,function(h,g){switch(h){case"&":return"&";case'"':return""";case"<":return"<";case">":return">"}return h}):f},insertAfter:function(h,g){var f=this;g=f.get(g);return this.run(h,function(k){var j,i;j=g.parentNode;i=g.nextSibling;if(i){j.insertBefore(k,i)}else{j.appendChild(k)}return k})},isBlock:function(f){if(f.nodeType&&f.nodeType!==1){return false}f=f.nodeName||f;return/^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TR|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP)$/.test(f)},replace:function(i,h,f){var g=this;if(b(h,"array")){i=i.cloneNode(true)}return g.run(h,function(j){if(f){e(j.childNodes,function(k){i.appendChild(k.cloneNode(true))})}if(g.fixPsuedoLeaks&&j.nodeType===1){j.parentNode.insertBefore(i,j);g.remove(j);return i}return j.parentNode.replaceChild(i,j)})},findCommonAncestor:function(h,f){var i=h,g;while(i){g=f;while(g&&i!=g){g=g.parentNode}if(i==g){break}i=i.parentNode}if(!i&&h.ownerDocument){return h.ownerDocument.documentElement}return i},toHex:function(f){var h=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(f);function g(i){i=parseInt(i).toString(16);return i.length>1?i:"0"+i}if(h){f="#"+g(h[1])+g(h[2])+g(h[3]);return f}return f},getClasses:function(){var l=this,g=[],k,m={},n=l.settings.class_filter,j;if(l.classes){return l.classes}function o(f){e(f.imports,function(i){o(i)});e(f.cssRules||f.rules,function(i){switch(i.type||1){case 1:if(i.selectorText){e(i.selectorText.split(","),function(p){p=p.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(p)||!/\.[\w\-]+$/.test(p)){return}j=p;p=p.replace(/.*\.([a-z0-9_\-]+).*/i,"$1");if(n&&!(p=n(p,j))){return}if(!m[p]){g.push({"class":p});m[p]=1}})}break;case 3:o(i.styleSheet);break}})}try{e(l.doc.styleSheets,o)}catch(h){}if(g.length>0){l.classes=g}return g},run:function(j,i,h){var g=this,k;if(g.doc&&typeof(j)==="string"){j=g.get(j)}if(!j){return false}h=h||this;if(!j.nodeType&&(j.length||j.length===0)){k=[];e(j,function(l,f){if(l){if(typeof(l)=="string"){l=g.doc.getElementById(l)}k.push(i.call(h,l,f))}});return k}return i.call(h,j)},getAttribs:function(g){var f;g=this.get(g);if(!g){return[]}if(a){f=[];if(g.nodeName=="OBJECT"){return g.attributes}g.cloneNode(false).outerHTML.replace(/([a-z0-9\:\-_]+)=/gi,function(i,h){f.push({specified:1,nodeName:h})});return f}return g.attributes},destroy:function(g){var f=this;f.win=f.doc=f.root=null;if(!g){c.removeUnload(f.destroy)}},createRng:function(){var f=this.doc;return f.createRange?f.createRange():new c.dom.Range(this)},split:function(k,j,n){var o=this,f=o.createRng(),l,i,m;function g(q,p){q=q[p];if(q&&q[p]&&q[p].nodeType==1&&h(q[p])){o.remove(q[p])}}function h(p){p=o.getOuterHTML(p);p=p.replace(/<(img|hr|table)/gi,"-");p=p.replace(/<[^>]+>/g,"");return p.replace(/[ \t\r\n]+| | /g,"")==""}if(k&&j){f.setStartBefore(k);f.setEndBefore(j);l=f.extractContents();f=o.createRng();f.setStartAfter(j);f.setEndAfter(k);i=f.extractContents();m=k.parentNode;g(l,"lastChild");if(!h(l)){m.insertBefore(l,k)}if(n){m.replaceChild(n,j)}else{m.insertBefore(j,k)}g(i,"firstChild");if(!h(i)){m.insertBefore(i,k)}o.remove(k);return n||j}},_isRes:function(f){return/^(top|left|bottom|right|width|height)/i.test(f)||/;\s*(top|left|bottom|right|width|height)/i.test(f)}});c.DOM=new c.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(f){var h=0,c=1,e=2,d=tinymce.extend;function g(m,k){var j,l;if(m.parentNode!=k){return -1}for(l=k.firstChild,j=0;l!=m;l=l.nextSibling){j++}return j}function b(k){var j=0;while(k.previousSibling){j++;k=k.previousSibling}return j}function i(j,k){var l;if(j.nodeType==3){return j}if(k<0){return j}l=j.firstChild;while(l!=null&&k>0){--k;l=l.nextSibling}if(l!=null){return l}return j}function a(k){var j=k.doc;d(this,{dom:k,startContainer:j,startOffset:0,endContainer:j,endOffset:0,collapsed:true,commonAncestorContainer:j,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3})}d(a.prototype,{setStart:function(k,j){this._setEndPoint(true,k,j)},setEnd:function(k,j){this._setEndPoint(false,k,j)},setStartBefore:function(j){this.setStart(j.parentNode,b(j))},setStartAfter:function(j){this.setStart(j.parentNode,b(j)+1)},setEndBefore:function(j){this.setEnd(j.parentNode,b(j))},setEndAfter:function(j){this.setEnd(j.parentNode,b(j)+1)},collapse:function(k){var j=this;if(k){j.endContainer=j.startContainer;j.endOffset=j.startOffset}else{j.startContainer=j.endContainer;j.startOffset=j.endOffset}j.collapsed=true},selectNode:function(j){this.setStartBefore(j);this.setEndAfter(j)},selectNodeContents:function(j){this.setStart(j,0);this.setEnd(j,j.nodeType===1?j.childNodes.length:j.nodeValue.length)},compareBoundaryPoints:function(m,n){var l=this,p=l.startContainer,o=l.startOffset,k=l.endContainer,j=l.endOffset;if(m===0){return l._compareBoundaryPoints(p,o,p,o)}if(m===1){return l._compareBoundaryPoints(p,o,k,j)}if(m===2){return l._compareBoundaryPoints(k,j,k,j)}if(m===3){return l._compareBoundaryPoints(k,j,p,o)}},deleteContents:function(){this._traverse(e)},extractContents:function(){return this._traverse(h)},cloneContents:function(){return this._traverse(c)},insertNode:function(m){var j=this,l,k;if(m.nodeType===3||m.nodeType===4){l=j.startContainer.splitText(j.startOffset);j.startContainer.parentNode.insertBefore(m,l)}else{if(j.startContainer.childNodes.length>0){k=j.startContainer.childNodes[j.startOffset]}j.startContainer.insertBefore(m,k)}},surroundContents:function(l){var j=this,k=j.extractContents();j.insertNode(l);l.appendChild(k);j.selectNode(l)},cloneRange:function(){var j=this;return d(new a(j.dom),{startContainer:j.startContainer,startOffset:j.startOffset,endContainer:j.endContainer,endOffset:j.endOffset,collapsed:j.collapsed,commonAncestorContainer:j.commonAncestorContainer})},_isCollapsed:function(){return(this.startContainer==this.endContainer&&this.startOffset==this.endOffset)},_compareBoundaryPoints:function(m,p,k,o){var q,l,j,r,t,s;if(m==k){if(p==o){return 0}else{if(p0){l.collapse(k)}}l.collapsed=l._isCollapsed();l.commonAncestorContainer=l.dom.findCommonAncestor(l.startContainer,l.endContainer)},_traverse:function(r){var s=this,q,m=0,v=0,k,o,l,n,j,u;if(s.startContainer==s.endContainer){return s._traverseSameContainer(r)}for(q=s.endContainer,k=q.parentNode;k!=null;q=k,k=k.parentNode){if(k==s.startContainer){return s._traverseCommonStartContainer(q,r)}++m}for(q=s.startContainer,k=q.parentNode;k!=null;q=k,k=k.parentNode){if(k==s.endContainer){return s._traverseCommonEndContainer(q,r)}++v}o=v-m;l=s.startContainer;while(o>0){l=l.parentNode;o--}n=s.endContainer;while(o<0){n=n.parentNode;o++}for(j=l.parentNode,u=n.parentNode;j!=u;j=j.parentNode,u=u.parentNode){l=j;n=u}return s._traverseCommonAncestors(l,n,r)},_traverseSameContainer:function(o){var r=this,q,u,j,k,l,p,m;if(o!=e){q=r.dom.doc.createDocumentFragment()}if(r.startOffset==r.endOffset){return q}if(r.startContainer.nodeType==3){u=r.startContainer.nodeValue;j=u.substring(r.startOffset,r.endOffset);if(o!=c){r.startContainer.deleteData(r.startOffset,r.endOffset-r.startOffset);r.collapse(true)}if(o==e){return null}q.appendChild(r.dom.doc.createTextNode(j));return q}k=i(r.startContainer,r.startOffset);l=r.endOffset-r.startOffset;while(l>0){p=k.nextSibling;m=r._traverseFullySelected(k,o);if(q){q.appendChild(m)}--l;k=p}if(o!=c){r.collapse(true)}return q},_traverseCommonStartContainer:function(j,p){var s=this,r,k,l,m,q,o;if(p!=e){r=s.dom.doc.createDocumentFragment()}k=s._traverseRightBoundary(j,p);if(r){r.appendChild(k)}l=g(j,s.startContainer);m=l-s.startOffset;if(m<=0){if(p!=c){s.setEndBefore(j);s.collapse(false)}return r}k=j.previousSibling;while(m>0){q=k.previousSibling;o=s._traverseFullySelected(k,p);if(r){r.insertBefore(o,r.firstChild)}--m;k=q}if(p!=c){s.setEndBefore(j);s.collapse(false)}return r},_traverseCommonEndContainer:function(m,p){var s=this,r,o,j,k,q,l;if(p!=e){r=s.dom.doc.createDocumentFragment()}j=s._traverseLeftBoundary(m,p);if(r){r.appendChild(j)}o=g(m,s.endContainer);++o;k=s.endOffset-o;j=m.nextSibling;while(k>0){q=j.nextSibling;l=s._traverseFullySelected(j,p);if(r){r.appendChild(l)}--k;j=q}if(p!=c){s.setStartAfter(m);s.collapse(true)}return r},_traverseCommonAncestors:function(p,j,s){var w=this,l,v,o,q,r,k,u,m;if(s!=e){v=w.dom.doc.createDocumentFragment()}l=w._traverseLeftBoundary(p,s);if(v){v.appendChild(l)}o=p.parentNode;q=g(p,o);r=g(j,o);++q;k=r-q;u=p.nextSibling;while(k>0){m=u.nextSibling;l=w._traverseFullySelected(u,s);if(v){v.appendChild(l)}u=m;--k}l=w._traverseRightBoundary(j,s);if(v){v.appendChild(l)}if(s!=c){w.setStartAfter(p);w.collapse(true)}return v},_traverseRightBoundary:function(p,q){var s=this,l=i(s.endContainer,s.endOffset-1),r,o,n,j,k;var m=l!=s.endContainer;if(l==p){return s._traverseNode(l,m,false,q)}r=l.parentNode;o=s._traverseNode(r,false,false,q);while(r!=null){while(l!=null){n=l.previousSibling;j=s._traverseNode(l,m,false,q);if(q!=e){o.insertBefore(j,o.firstChild)}m=true;l=n}if(r==p){return o}l=r.previousSibling;r=r.parentNode;k=s._traverseNode(r,false,false,q);if(q!=e){k.appendChild(o)}o=k}return null},_traverseLeftBoundary:function(p,q){var s=this,m=i(s.startContainer,s.startOffset);var n=m!=s.startContainer,r,o,l,j,k;if(m==p){return s._traverseNode(m,n,true,q)}r=m.parentNode;o=s._traverseNode(r,false,true,q);while(r!=null){while(m!=null){l=m.nextSibling;j=s._traverseNode(m,n,true,q);if(q!=e){o.appendChild(j)}n=true;m=l}if(r==p){return o}m=r.nextSibling;r=r.parentNode;k=s._traverseNode(r,false,true,q);if(q!=e){k.appendChild(o)}o=k}return null},_traverseNode:function(j,o,r,s){var u=this,m,l,p,k,q;if(o){return u._traverseFullySelected(j,s)}if(j.nodeType==3){m=j.nodeValue;if(r){k=u.startOffset;l=m.substring(k);p=m.substring(0,k)}else{k=u.endOffset;l=m.substring(0,k);p=m.substring(k)}if(s!=c){j.nodeValue=p}if(s==e){return null}q=j.cloneNode(false);q.nodeValue=l;return q}if(s==e){return null}return j.cloneNode(false)},_traverseFullySelected:function(l,k){var j=this;if(k!=e){return k==c?l.cloneNode(true):l}l.parentNode.removeChild(l);return null}});f.Range=a})(tinymce.dom);(function(){function a(e){var d=this,h="\uFEFF",b,g;function c(j,i){if(j&&i){if(j.item&&i.item&&j.item(0)===i.item(0)){return 1}if(j.isEqual&&i.isEqual&&i.isEqual(j)){return 1}}return 0}function f(){var m=e.dom,j=e.getRng(),s=m.createRng(),p,k,n,q,o,l;function i(v){var t=v.parentNode.childNodes,u;for(u=t.length-1;u>=0;u--){if(t[u]==v){return u}}return -1}function r(v){var t=j.duplicate(),B,y,u,w,x=0,z=0,A,C;t.collapse(v);B=t.parentElement();t.pasteHTML(h);u=B.childNodes;for(y=0;y0&&(w.nodeType!==3||u[y-1].nodeType!==3)){z++}if(w.nodeType===3){A=w.nodeValue.indexOf(h);if(A!==-1){x+=A;break}x+=w.nodeValue.length}else{x=0}}t.moveStart("character",-1);t.text="";return{index:z,offset:x,parent:B}}n=j.item?j.item(0):j.parentElement();if(n.ownerDocument!=m.doc){return s}if(j.item||!n.hasChildNodes()){s.setStart(n.parentNode,i(n));s.setEnd(s.startContainer,s.startOffset+1);return s}l=e.isCollapsed();p=r(true);k=r(false);p.parent.normalize();k.parent.normalize();q=p.parent.childNodes[Math.min(p.index,p.parent.childNodes.length-1)];if(q.nodeType!=3){s.setStart(p.parent,p.index)}else{s.setStart(p.parent.childNodes[p.index],p.offset)}o=k.parent.childNodes[Math.min(k.index,k.parent.childNodes.length-1)];if(o.nodeType!=3){if(!l){k.index++}s.setEnd(k.parent,k.index)}else{s.setEnd(k.parent.childNodes[k.index],k.offset)}if(!l){q=s.startContainer;if(q.nodeType==1){s.setStart(q,Math.min(s.startOffset,q.childNodes.length))}o=s.endContainer;if(o.nodeType==1){s.setEnd(o,Math.min(s.endOffset,o.childNodes.length))}}d.addRange(s);return s}this.addRange=function(j){var o,m=e.dom.doc.body,p,k,q,l,n,i;q=j.startContainer;l=j.startOffset;n=j.endContainer;i=j.endOffset;o=m.createTextRange();q=q.nodeType==1?q.childNodes[Math.min(l,q.childNodes.length-1)]:q;n=n.nodeType==1?n.childNodes[Math.min(l==i?i:i-1,n.childNodes.length-1)]:n;if(q==n&&q.nodeType==1){if(/^(IMG|TABLE)$/.test(q.nodeName)&&l!=i){o=m.createControlRange();o.addElement(q)}else{o=m.createTextRange();if(!q.hasChildNodes()&&q.canHaveHTML){q.innerHTML=h}o.moveToElementText(q);if(q.innerHTML==h){o.collapse(true);q.removeChild(q.firstChild)}}if(l==i){o.collapse(i<=j.endContainer.childNodes.length-1)}o.select();return}function r(t,v){var u,s,w;if(t.nodeType!=3){return -1}u=t.nodeValue;s=m.createTextRange();t.nodeValue=u.substring(0,v)+h+u.substring(v);s.moveToElementText(t.parentNode);s.findText(h);w=Math.abs(s.moveStart("character",-1048575));t.nodeValue=u;return w}if(j.collapsed){pos=r(q,l);o=m.createTextRange();o.move("character",pos);o.select();return}else{if(q==n&&q.nodeType==3){p=r(q,l);o.move("character",p);o.moveEnd("character",i-l);o.select();return}p=r(q,l);k=r(n,i);o=m.createTextRange();if(p==-1){o.moveToElementText(q);p=0}else{o.move("character",p)}tmpRng=m.createTextRange();if(k==-1){tmpRng.moveToElementText(n)}else{tmpRng.move("character",k)}o.setEndPoint("EndToEnd",tmpRng);o.select();return}};this.getRangeAt=function(){if(!b||!c(g,e.getRng())){b=f();g=e.getRng()}return b};this.destroy=function(){g=b=null}}tinymce.dom.TridentSelection=a})();(function(){var p=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,i=0,d=Object.prototype.toString,n=false;var b=function(D,t,A,v){A=A||[];var e=t=t||document;if(t.nodeType!==1&&t.nodeType!==9){return[]}if(!D||typeof D!=="string"){return A}var B=[],C,y,G,F,z,s,r=true,w=o(t);p.lastIndex=0;while((C=p.exec(D))!==null){B.push(C[1]);if(C[2]){s=RegExp.rightContext;break}}if(B.length>1&&j.exec(D)){if(B.length===2&&f.relative[B[0]]){y=g(B[0]+B[1],t)}else{y=f.relative[B[0]]?[t]:b(B.shift(),t);while(B.length){D=B.shift();if(f.relative[D]){D+=B.shift()}y=g(D,y)}}}else{if(!v&&B.length>1&&t.nodeType===9&&!w&&f.match.ID.test(B[0])&&!f.match.ID.test(B[B.length-1])){var H=b.find(B.shift(),t,w);t=H.expr?b.filter(H.expr,H.set)[0]:H.set[0]}if(t){var H=v?{expr:B.pop(),set:a(v)}:b.find(B.pop(),B.length===1&&(B[0]==="~"||B[0]==="+")&&t.parentNode?t.parentNode:t,w);y=H.expr?b.filter(H.expr,H.set):H.set;if(B.length>0){G=a(y)}else{r=false}while(B.length){var u=B.pop(),x=u;if(!f.relative[u]){u=""}else{x=B.pop()}if(x==null){x=t}f.relative[u](G,x,w)}}else{G=B=[]}}if(!G){G=y}if(!G){throw"Syntax error, unrecognized expression: "+(u||D)}if(d.call(G)==="[object Array]"){if(!r){A.push.apply(A,G)}else{if(t&&t.nodeType===1){for(var E=0;G[E]!=null;E++){if(G[E]&&(G[E]===true||G[E].nodeType===1&&h(t,G[E]))){A.push(y[E])}}}else{for(var E=0;G[E]!=null;E++){if(G[E]&&G[E].nodeType===1){A.push(y[E])}}}}}else{a(G,A)}if(s){b(s,e,A,v);b.uniqueSort(A)}return A};b.uniqueSort=function(r){if(c){n=false;r.sort(c);if(n){for(var e=1;e":function(w,r,x){var u=typeof r==="string";if(u&&!/\W/.test(r)){r=x?r:r.toUpperCase();for(var s=0,e=w.length;s=0)){if(!s){e.push(v)}}else{if(s){r[u]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(r,e){for(var s=0;e[s]===false;s++){}return e[s]&&o(e[s])?r[1]:r[1].toUpperCase()},CHILD:function(e){if(e[1]=="nth"){var r=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]=="even"&&"2n"||e[2]=="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(r[1]+(r[2]||1))-0;e[3]=r[3]-0}e[0]=i++;return e},ATTR:function(u,r,s,e,v,w){var t=u[1].replace(/\\/g,"");if(!w&&f.attrMap[t]){u[1]=f.attrMap[t]}if(u[2]==="~="){u[4]=" "+u[4]+" "}return u},PSEUDO:function(u,r,s,e,v){if(u[1]==="not"){if(u[3].match(p).length>1||/^\w/.test(u[3])){u[3]=b(u[3],null,null,r)}else{var t=b.filter(u[3],r,s,true^v);if(!s){e.push.apply(e,t)}return false}}else{if(f.match.POS.test(u[0])||f.match.CHILD.test(u[0])){return true}}return u},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(s,r,e){return !!b(e[3],s).length},header:function(e){return/h\d/i.test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toUpperCase()==="BUTTON"},input:function(e){return/input|select|textarea|button/i.test(e.nodeName)}},setFilters:{first:function(r,e){return e===0},last:function(s,r,e,t){return r===t.length-1},even:function(r,e){return e%2===0},odd:function(r,e){return e%2===1},lt:function(s,r,e){return re[3]-0},nth:function(s,r,e){return e[3]-0==r},eq:function(s,r,e){return e[3]-0==r}},filter:{PSEUDO:function(w,s,t,x){var r=s[1],u=f.filters[r];if(u){return u(w,t,s,x)}else{if(r==="contains"){return(w.textContent||w.innerText||"").indexOf(s[3])>=0}else{if(r==="not"){var v=s[3];for(var t=0,e=v.length;t=0)}}},ID:function(r,e){return r.nodeType===1&&r.getAttribute("id")===e},TAG:function(r,e){return(e==="*"&&r.nodeType===1)||r.nodeName===e},CLASS:function(r,e){return(" "+(r.className||r.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(v,t){var s=t[1],e=f.attrHandle[s]?f.attrHandle[s](v):v[s]!=null?v[s]:v.getAttribute(s),w=e+"",u=t[2],r=t[4];return e==null?u==="!=":u==="="?w===r:u==="*="?w.indexOf(r)>=0:u==="~="?(" "+w+" ").indexOf(r)>=0:!r?w&&e!==false:u==="!="?w!=r:u==="^="?w.indexOf(r)===0:u==="$="?w.substr(w.length-r.length)===r:u==="|="?w===r||w.substr(0,r.length+1)===r+"-":false},POS:function(u,r,s,v){var e=r[2],t=f.setFilters[e];if(t){return t(u,s,r,v)}}}};var j=f.match.POS;for(var l in f.match){f.match[l]=new RegExp(f.match[l].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var a=function(r,e){r=Array.prototype.slice.call(r);if(e){e.push.apply(e,r);return e}return r};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(k){a=function(u,t){var r=t||[];if(d.call(u)==="[object Array]"){Array.prototype.push.apply(r,u)}else{if(typeof u.length==="number"){for(var s=0,e=u.length;s";var e=document.documentElement;e.insertBefore(r,e.firstChild);if(!!document.getElementById(s)){f.find.ID=function(u,v,w){if(typeof v.getElementById!=="undefined"&&!w){var t=v.getElementById(u[1]);return t?t.id===u[1]||typeof t.getAttributeNode!=="undefined"&&t.getAttributeNode("id").nodeValue===u[1]?[t]:undefined:[]}};f.filter.ID=function(v,t){var u=typeof v.getAttributeNode!=="undefined"&&v.getAttributeNode("id");return v.nodeType===1&&u&&u.nodeValue===t}}e.removeChild(r)})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(r,v){var u=v.getElementsByTagName(r[1]);if(r[1]==="*"){var t=[];for(var s=0;u[s];s++){if(u[s].nodeType===1){t.push(u[s])}}u=t}return u}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(r){return r.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var e=b,s=document.createElement("div");s.innerHTML="

    ";if(s.querySelectorAll&&s.querySelectorAll(".TEST").length===0){return}b=function(w,v,t,u){v=v||document;if(!u&&v.nodeType===9&&!o(v)){try{return a(v.querySelectorAll(w),t)}catch(x){}}return e(w,v,t,u)};for(var r in e){b[r]=e[r]}})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var e=document.createElement("div");e.innerHTML="
    ";if(e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(r,s,t){if(typeof s.getElementsByClassName!=="undefined"&&!t){return s.getElementsByClassName(r[1])}}})()}function m(r,w,v,A,x,z){var y=r=="previousSibling"&&!z;for(var t=0,s=A.length;t0){u=e;break}}}e=e[r]}A[t]=u}}}var h=document.compareDocumentPosition?function(r,e){return r.compareDocumentPosition(e)&16}:function(r,e){return r!==e&&(r.contains?r.contains(e):true)};var o=function(e){return e.nodeType===9&&e.documentElement.nodeName!=="HTML"||!!e.ownerDocument&&e.ownerDocument.documentElement.nodeName!=="HTML"};var g=function(e,x){var t=[],u="",v,s=x.nodeType?[x]:x;while((v=f.match.PSEUDO.exec(e))){u+=v[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var w=0,r=s.length;w=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},_unload:function(){var g=a;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(){var g=a;if(g.domLoaded){return}g._remove(window,"DOMContentLoaded",g._pageInit);g.domLoaded=true;f(g.inits,function(h){h()});g.inits=[]},_wait:function(){if(window.tinyMCE_GZ&&tinyMCE_GZ.loaded){a.domLoaded=1;return}if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);a._pageInit()}});if(document.documentElement.doScroll&&window==window.top){(function(){if(a.domLoaded){return}try{document.documentElement.doScroll("left")}catch(g){setTimeout(arguments.callee,0);return}a._pageInit()})()}}else{if(document.addEventListener){a._add(window,"DOMContentLoaded",a._pageInit,a)}}a._add(window,"load",a._pageInit,a)}});a=d.dom.Event;a._wait();d.addUnload(a._unload)})(tinymce);(function(a){var b=a.each;a.create("tinymce.dom.Element",{Element:function(g,e){var c=this,f,d;e=e||{};c.id=g;c.dom=f=e.dom||a.DOM;c.settings=e;if(!a.isIE){d=c.dom.get(c.id)}b(["getPos","getRect","getParent","add","setStyle","getStyle","setStyles","setAttrib","setAttribs","getAttrib","addClass","removeClass","hasClass","getOuterHTML","setOuterHTML","remove","show","hide","isHidden","setHTML","get"],function(h){c[h]=function(){var j=[g],k;for(k=0;k_';j.deleteContents();j.insertNode(f.getRng().createContextualFragment(i));l=f.dom.get("__caret");j=k.createRange();j.setStartBefore(l);j.setEndAfter(l);f.setRng(j);f.dom.remove("__caret")}else{if(j.item){k.execCommand("Delete",false,null);j=f.getRng()}j.pasteHTML(i)}f.onSetContent.dispatch(f,g)},getStart:function(){var f=this,g=f.getRng(),h;if(a){if(g.item){return g.item(0)}g=g.duplicate();g.collapse(1);h=g.parentElement();if(h&&h.nodeName=="BODY"){return h.firstChild}return h}else{h=g.startContainer;if(h.nodeName=="BODY"){return h.firstChild}return f.dom.getParent(h,"*")}},getEnd:function(){var f=this,g=f.getRng(),h;if(a){if(g.item){return g.item(0)}g=g.duplicate();g.collapse(0);h=g.parentElement();if(h&&h.nodeName=="BODY"){return h.lastChild}return h}else{h=g.endContainer;if(h.nodeName=="BODY"){return h.lastChild}return f.dom.getParent(h,"*")}},getBookmark:function(x){var j=this,m=j.getRng(),f,n,l,u=j.dom.getViewPort(j.win),v,p,z,o,w=-16777215,k,h=j.dom.getRoot(),g=0,i=0,y;n=u.x;l=u.y;if(x=="simple"){return{rng:m,scrollX:n,scrollY:l}}if(a){if(m.item){v=m.item(0);d(j.dom.select(v.nodeName),function(s,r){if(v==s){p=r;return false}});return{tag:v.nodeName,index:p,scrollX:n,scrollY:l}}f=j.dom.doc.body.createTextRange();f.moveToElementText(h);f.collapse(true);z=Math.abs(f.move("character",w));f=m.duplicate();f.collapse(true);p=Math.abs(f.move("character",w));f=m.duplicate();f.collapse(false);o=Math.abs(f.move("character",w))-p;return{start:p-z,length:o,scrollX:n,scrollY:l}}v=j.getNode();k=j.getSel();if(!k){return null}if(v&&v.nodeName=="IMG"){return{scrollX:n,scrollY:l}}function q(A,D,t){var s=j.dom.doc.createTreeWalker(A,NodeFilter.SHOW_TEXT,null,false),E,B=0,C={};while((E=s.nextNode())!=null){if(E==D){C.start=B}if(E==t){C.end=B;return C}B+=e(E.nodeValue||"").length}return null}if(k.anchorNode==k.focusNode&&k.anchorOffset==k.focusOffset){v=q(h,k.anchorNode,k.focusNode);if(!v){return{scrollX:n,scrollY:l}}e(k.anchorNode.nodeValue||"").replace(/^\s+/,function(r){g=r.length});return{start:Math.max(v.start+k.anchorOffset-g,0),end:Math.max(v.end+k.focusOffset-g,0),scrollX:n,scrollY:l,beg:k.anchorOffset-g==0}}else{v=q(h,m.startContainer,m.endContainer);if(!v){return{scrollX:n,scrollY:l}}return{start:Math.max(v.start+m.startOffset-g,0),end:Math.max(v.end+m.endOffset-i,0),scrollX:n,scrollY:l,beg:m.startOffset-g==0}}},moveToBookmark:function(n){var o=this,g=o.getRng(),p=o.getSel(),j=o.dom.getRoot(),m,h,k;function i(q,t,D){var B=o.dom.doc.createTreeWalker(q,NodeFilter.SHOW_TEXT,null,false),x,s=0,A={},u,C,z,y;while((x=B.nextNode())!=null){z=y=0;k=x.nodeValue||"";h=e(k).length;s+=h;if(s>=t&&!A.startNode){u=t-(s-h);if(n.beg&&u>=h){continue}A.startNode=x;A.startOffset=u+y}if(s>=D){A.endNode=x;A.endOffset=D-(s-h)+y;return A}}return null}if(!n){return false}o.win.scrollTo(n.scrollX,n.scrollY);if(a){if(g=n.rng){try{g.select()}catch(l){}return true}o.win.focus();if(n.tag){g=j.createControlRange();d(o.dom.select(n.tag),function(r,q){if(q==n.index){g.addElement(r)}})}else{try{if(n.start<0){return true}g=p.createRange();g.moveToElementText(j);g.collapse(true);g.moveStart("character",n.start);g.moveEnd("character",n.length)}catch(f){return true}}try{g.select()}catch(l){}return true}if(!p){return false}if(n.rng){p.removeAllRanges();p.addRange(n.rng)}else{if(b(n.start)&&b(n.end)){try{m=i(j,n.start,n.end);if(m){g=o.dom.doc.createRange();g.setStart(m.startNode,m.startOffset);g.setEnd(m.endNode,m.endOffset);p.removeAllRanges();p.addRange(g)}if(!c.isOpera){o.win.focus()}}catch(l){}}}},select:function(g,l){var p=this,f=p.getRng(),q=p.getSel(),o,m,k,j=p.win.document;function h(u,t){var s,r;if(u){s=j.createTreeWalker(u,NodeFilter.SHOW_TEXT,null,false);while(u=s.nextNode()){r=u;if(c.trim(u.nodeValue).length!=0){if(t){return u}else{r=u}}}}return r}if(a){try{o=j.body;if(/^(IMG|TABLE)$/.test(g.nodeName)){f=o.createControlRange();f.addElement(g)}else{f=o.createTextRange();f.moveToElementText(g)}f.select()}catch(i){}}else{if(l){m=h(g,1)||p.dom.select("br:first",g)[0];k=h(g,0)||p.dom.select("br:last",g)[0];if(m&&k){f=j.createRange();if(m.nodeName=="BR"){f.setStartBefore(m)}else{f.setStart(m,0)}if(k.nodeName=="BR"){f.setEndBefore(k)}else{f.setEnd(k,k.nodeValue.length)}}else{f.selectNode(g)}}else{f.selectNode(g)}p.setRng(f)}return g},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}return !g||h.boundingWidth==0||h.collapsed},collapse:function(f){var g=this,h=g.getRng(),i;if(h.item){i=h.item(0);h=this.win.document.body.createTextRange();h.moveToElementText(i)}h.collapse(!!f);g.setRng(h)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(j){var g=this,h,i;if(j&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():g.win.document.createRange())}}catch(f){}if(!i){i=a?g.win.document.body.createTextRange():g.win.document.createRange()}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){h.removeAllRanges();h.addRange(i)}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var f=this,h=f.getRng(),g=f.getSel(),i;if(!a){if(!h){return f.dom.getRoot()}i=h.commonAncestorContainer;if(!h.collapsed){if(c.isWebKit&&g.anchorNode&&g.anchorNode.nodeType==1){return g.anchorNode.childNodes[g.anchorOffset]}if(h.startContainer==h.endContainer){if(h.startOffset-h.endOffset<2){if(h.startContainer.hasChildNodes()){i=h.startContainer.childNodes[h.startOffset]}}}}return f.dom.getParent(i,"*")}return h.item?h.item(0):h.parentElement()},getSelectedBlocks:function(g,f){var i=this,j=i.dom,m,h,l,k=[];m=j.getParent(g||i.getStart(),j.isBlock);h=j.getParent(f||i.getEnd(),j.isBlock);if(m){k.push(m)}if(m&&h&&m!=h){l=m;while((l=l.nextSibling)&&l!=h){if(j.isBlock(l)){k.push(l)}}}if(h&&m!=h){k.push(h)}return k},destroy:function(g){var f=this;f.win=null;if(f.tridentSel){f.tridentSel.destroy()}if(!g){c.removeUnload(f.destroy)}}})})(tinymce);(function(a){a.create("tinymce.dom.XMLWriter",{node:null,XMLWriter:function(c){function b(){var e=document.implementation;if(!e||!e.createDocument){try{return new ActiveXObject("MSXML2.DOMDocument")}catch(d){}try{return new ActiveXObject("Microsoft.XmlDom")}catch(d){}}else{return e.createDocument("","",null)}}this.doc=b();this.valid=a.isOpera||a.isWebKit;this.reset()},reset:function(){var b=this,c=b.doc;if(c.firstChild){c.removeChild(c.firstChild)}b.node=c.appendChild(c.createElement("html"))},writeStartElement:function(c){var b=this;b.node=b.node.appendChild(b.doc.createElement(c))},writeAttribute:function(c,b){if(this.valid){b=b.replace(/>/g,"%MCGT%")}this.node.setAttribute(c,b)},writeEndElement:function(){this.node=this.node.parentNode},writeFullEndElement:function(){var b=this,c=b.node;c.appendChild(b.doc.createTextNode(""));b.node=c.parentNode},writeText:function(b){if(this.valid){b=b.replace(/>/g,"%MCGT%")}this.node.appendChild(this.doc.createTextNode(b))},writeCDATA:function(b){this.node.appendChild(this.doc.createCDATA(b))},writeComment:function(b){if(a.isIE){b=b.replace(/^\-|\-$/g," ")}this.node.appendChild(this.doc.createComment(b.replace(/\-\-/g," ")))},getContent:function(){var b;b=this.doc.xml||new XMLSerializer().serializeToString(this.doc);b=b.replace(/<\?[^?]+\?>||<\/html>||]+>/g,"");b=b.replace(/ ?\/>/g," />");if(this.valid){b=b.replace(/\%MCGT%/g,">")}return b}})})(tinymce);(function(a){a.create("tinymce.dom.StringWriter",{str:null,tags:null,count:0,settings:null,indent:null,StringWriter:function(b){this.settings=a.extend({indent_char:" ",indentation:1},b);this.reset()},reset:function(){this.indent="";this.str="";this.tags=[];this.count=0},writeStartElement:function(b){this._writeAttributesEnd();this.writeRaw("<"+b);this.tags.push(b);this.inAttr=true;this.count++;this.elementCount=this.count},writeAttribute:function(d,b){var c=this;c.writeRaw(" "+c.encode(d)+'="'+c.encode(b)+'"')},writeEndElement:function(){var b;if(this.tags.length>0){b=this.tags.pop();if(this._writeAttributesEnd(1)){this.writeRaw("")}if(this.settings.indentation>0){this.writeRaw("\n")}}},writeFullEndElement:function(){if(this.tags.length>0){this._writeAttributesEnd();this.writeRaw("");if(this.settings.indentation>0){this.writeRaw("\n")}}},writeText:function(b){this._writeAttributesEnd();this.writeRaw(this.encode(b));this.count++},writeCDATA:function(b){this._writeAttributesEnd();this.writeRaw("");this.count++},writeComment:function(b){this._writeAttributesEnd();this.writeRaw("");this.count++},writeRaw:function(b){this.str+=b},encode:function(b){return b.replace(/[<>&"]/g,function(c){switch(c){case"<":return"<";case">":return">";case"&":return"&";case'"':return"""}return c})},getContent:function(){return this.str},_writeAttributesEnd:function(b){if(!this.inAttr){return}this.inAttr=false;if(b&&this.elementCount==this.count){this.writeRaw(" />");return false}this.writeRaw(">");return true}})})(tinymce);(function(e){var g=e.extend,f=e.each,b=e.util.Dispatcher,d=e.isIE,a=e.isGecko;function c(h){return h.replace(/([?+*])/g,".$1")}e.create("tinymce.dom.Serializer",{Serializer:function(j){var i=this;i.key=0;i.onPreProcess=new b(i);i.onPostProcess=new b(i);try{i.writer=new e.dom.XMLWriter()}catch(h){i.writer=new e.dom.StringWriter()}i.settings=j=g({dom:e.DOM,valid_nodes:0,node_filter:0,attr_filter:0,invalid_attrs:/^(mce_|_moz_)/,closed:/^(br|hr|input|meta|img|link|param|area)$/,entity_encoding:"named",entities:"160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",bool_attrs:/(checked|disabled|readonly|selected|nowrap)/,valid_elements:"*[*]",extended_valid_elements:0,valid_child_elements:0,invalid_elements:0,fix_table_elements:1,fix_list_elements:true,fix_content_duplication:true,convert_fonts_to_spans:false,font_size_classes:0,font_size_style_values:0,apply_source_formatting:0,indent_mode:"simple",indent_char:"\t",indent_levels:1,remove_linebreaks:1,remove_redundant_brs:1,element_format:"xhtml"},j);i.dom=j.dom;if(j.remove_redundant_brs){i.onPostProcess.add(function(k,l){l.content=l.content.replace(/(
    \s*)+<\/(p|h[1-6]|div|li)>/gi,function(n,m,o){if(/^
    \s*<\//.test(n)){return""}return n})})}if(j.element_format=="html"){i.onPostProcess.add(function(k,l){l.content=l.content.replace(/<([^>]+) \/>/g,"<$1>")})}if(j.fix_list_elements){i.onPreProcess.add(function(v,s){var l,y,w=["ol","ul"],u,t,q,k=/^(OL|UL)$/,z;function m(r,x){var o=x.split(","),p;while((r=r.previousSibling)!=null){for(p=0;p1){f(q[1].split("|"),function(u){var p={},t;k=k||[];u=u.replace(/::/g,"~");u=/^([!\-])?([\w*.?~_\-]+|)([=:<])?(.+)?$/.exec(u);u[2]=u[2].replace(/~/g,":");if(u[1]=="!"){r=r||[];r.push(u[2])}if(u[1]=="-"){for(t=0;t]*>)(.*?)(<\/script>)/g},{pattern:/(]*>)(.*?)(<\/style>)/g},{pattern:/(]*>)(.*?)(<\/pre>)/g,encode:1},{pattern:/()/g}]});j=l.content;if(k.entity_encoding!=="raw"){j=i._encode(j)}if(!n.set){j=j.replace(/

    \s+<\/p>|]+)>\s+<\/p>/g,k.entity_encoding=="numeric"?" 

    ":" 

    ");if(k.remove_linebreaks){j=j.replace(/\r?\n|\r/g," ");j=j.replace(/(<[^>]+>)\s+/g,"$1 ");j=j.replace(/\s+(<\/[^>]+>)/g," $1");j=j.replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object) ([^>]+)>\s+/g,"<$1 $2>");j=j.replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>\s+/g,"<$1>");j=j.replace(/\s+<\/(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>/g,"")}if(k.apply_source_formatting&&k.indent_mode=="simple"){j=j.replace(/<(\/?)(ul|hr|table|meta|link|tbody|tr|object|body|head|html|map)(|[^>]+)>\s*/g,"\n<$1$2$3>\n");j=j.replace(/\s*<(p|h[1-6]|blockquote|div|title|style|pre|script|td|li|area)(|[^>]+)>/g,"\n<$1$2>");j=j.replace(/<\/(p|h[1-6]|blockquote|div|title|style|pre|script|td|li)>\s*/g,"\n");j=j.replace(/\n\n/g,"\n")}}j=i._unprotect(j,l);j=j.replace(//g,"");if(k.entity_encoding=="raw"){j=j.replace(/

     <\/p>|]+)> <\/p>/g,"\u00a0

    ")}}n.content=j},_serializeNode:function(C,m){var y=this,z=y.settings,u=y.writer,p,j,r,E,D,F,A,h,x,k,q,B,o;if(!z.node_filter||z.node_filter(C)){switch(C.nodeType){case 1:if(C.hasAttribute?C.hasAttribute("mce_bogus"):C.getAttribute("mce_bogus")){return}o=false;p=C.hasChildNodes();k=C.getAttribute("mce_name")||C.nodeName.toLowerCase();if(d){if(C.scopeName!=="HTML"&&C.scopeName!=="html"){k=C.scopeName+":"+k}}if(k.indexOf("mce:")===0){k=k.substring(4)}if(!y.validElementsRE.test(k)||(y.invalidElementsRE&&y.invalidElementsRE.test(k))||m){o=true;break}if(d){if(z.fix_content_duplication){if(C.mce_serialized==y.key){return}C.mce_serialized=y.key}if(k.charAt(0)=="/"){k=k.substring(1)}}else{if(a){if(C.nodeName==="BR"&&C.getAttribute("type")=="_moz"){return}}}if(y.childRules){if(y.parentElementsRE.test(y.elementName)){if(!y.childRules[y.elementName].test(k)){o=true;break}}y.elementName=k}q=y.findRule(k);k=q.name||k;if((!p&&q.noEmpty)||(d&&!k)){o=true;break}if(q.requiredAttribs){F=q.requiredAttribs;for(E=F.length-1;E>=0;E--){if(this.dom.getAttrib(C,F[E])!==""){break}}if(E==-1){o=true;break}}u.writeStartElement(k);if(q.attribs){for(E=0,A=q.attribs,D=A.length;E-1;E--){h=A[E];if(h.specified){F=h.nodeName.toLowerCase();if(z.invalid_attrs.test(F)||!q.validAttribsRE.test(F)){continue}B=y.findAttribRule(q,F);x=y._getAttrib(C,B,F);if(x!==null){u.writeAttribute(F,x)}}}}if(q.padd){if(p&&(r=C.firstChild)&&r.nodeType===1&&C.childNodes.length===1){if(r.hasAttribute?r.hasAttribute("mce_bogus"):r.getAttribute("mce_bogus")){u.writeText("\u00a0")}}else{if(!p){u.writeText("\u00a0")}}}break;case 3:if(y.childRules&&y.parentElementsRE.test(y.elementName)){if(!y.childRules[y.elementName].test(C.nodeName)){return}}return u.writeText(C.nodeValue);case 4:return u.writeCDATA(C.nodeValue);case 8:return u.writeComment(C.nodeValue)}}else{if(C.nodeType==1){p=C.hasChildNodes()}}if(p){r=C.firstChild;while(r){y._serializeNode(r);y.elementName=k;r=r.nextSibling}}if(!o){if(p||!z.closed.test(k)){u.writeFullEndElement()}else{u.writeEndElement()}}},_protect:function(j){var i=this;j.items=j.items||[];function h(l){return l.replace(/[\r\n\\]/g,function(m){if(m==="\n"){return"\\n"}else{if(m==="\\"){return"\\\\"}}return"\\r"})}function k(l){return l.replace(/\\[\\rn]/g,function(m){if(m==="\\n"){return"\n"}else{if(m==="\\\\"){return"\\"}}return"\r"})}f(j.patterns,function(l){j.content=k(h(j.content).replace(l.pattern,function(n,o,m,p){m=k(m);if(l.encode){m=i._encode(m)}j.items.push(m);return o+""+p}))});return j},_unprotect:function(i,j){i=i.replace(/\"))}if(a&&j.ListBox){if(a.Button||a.SplitButton){e+=b.createHTML("td",{"class":"mceToolbarEnd"},b.createHTML("span",null,""))}}if(b.stdMode){e+='
    "}else{e+=""}if(f&&j.ListBox){if(f.Button||f.SplitButton){e+=b.createHTML("td",{"class":"mceToolbarStart"},b.createHTML("span",null,""))}}}g="mceToolbarEnd";if(j.Button){g+=" mceToolbarEndButton"}else{if(j.SplitButton){g+=" mceToolbarEndSplitButton"}else{if(j.ListBox){g+=" mceToolbarEndListBox"}}}e+=b.createHTML("td",{"class":g},b.createHTML("span",null,""));return b.createHTML("table",{id:l.id,"class":"mceToolbar"+(m["class"]?" "+m["class"]:""),cellpadding:"0",cellspacing:"0",align:l.settings.align||""},""+e+"")}});(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{items:[],urls:{},lookup:{},onAdd:new a(this),get:function(d){return this.lookup[d]},requireLangPack:function(f){var d,e=b.EditorManager.settings;if(e&&e.language){d=this.urls[f]+"/langs/"+e.language+".js";if(!b.dom.Event.domLoaded&&!e.strict_mode){b.ScriptLoader.load(d)}else{b.ScriptLoader.add(d)}}},add:function(e,d){this.items.push(d);this.lookup[e]=d;this.onAdd.dispatch(this,e,d);return d},load:function(h,e,d,g){var f=this;if(f.urls[h]){return}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}f.urls[h]=e.substring(0,e.lastIndexOf("/"));b.ScriptLoader.add(e,d,g)}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(f){var g=f.each,h=f.extend,e=f.DOM,a=f.dom.Event,c=f.ThemeManager,b=f.PluginManager,d=f.explode;f.create("static tinymce.EditorManager",{editors:{},i18n:{},activeEditor:null,preInit:function(){var i=this,j=window.location;f.documentBaseURL=j.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(f.documentBaseURL)){f.documentBaseURL+="/"}f.baseURL=new f.util.URI(f.documentBaseURL).toAbsolute(f.baseURL);f.EditorManager.baseURI=new f.util.URI(f.baseURL);if(document.domain&&j.hostname!=document.domain){f.relaxedDomain=document.domain}i.onBeforeUnload=new f.util.Dispatcher(i);a.add(window,"beforeunload",function(k){i.onBeforeUnload.dispatch(i,k)})},init:function(q){var p=this,l,k=f.ScriptLoader,o,n,i=[],m;function j(u,v,r){var t=u[v];if(!t){return}if(f.is(t,"string")){r=t.replace(/\.\w+$/,"");r=r?f.resolve(r):0;t=f.resolve(t)}return t.apply(r||this,Array.prototype.slice.call(arguments,2))}q=h({theme:"simple",language:"en",strict_loading_mode:document.contentType=="application/xhtml+xml"},q);p.settings=q;if(!a.domLoaded&&!q.strict_loading_mode){if(q.language){k.add(f.baseURL+"/langs/"+q.language+".js")}if(q.theme&&q.theme.charAt(0)!="-"&&!c.urls[q.theme]){c.load(q.theme,"themes/"+q.theme+"/editor_template"+f.suffix+".js")}if(q.plugins){l=d(q.plugins);if(f.inArray(l,"compat2x")!=-1){b.load("compat2x","plugins/compat2x/editor_plugin"+f.suffix+".js")}g(l,function(r){if(r&&r.charAt(0)!="-"&&!b.urls[r]){if(!f.isWebKit&&r=="safari"){return}b.load(r,"plugins/"+r+"/editor_plugin"+f.suffix+".js")}})}k.loadQueue()}a.add(document,"init",function(){var r,t;j(q,"onpageload");if(q.browsers){r=false;g(d(q.browsers),function(u){switch(u){case"ie":case"msie":if(f.isIE){r=true}break;case"gecko":if(f.isGecko){r=true}break;case"safari":case"webkit":if(f.isWebKit){r=true}break;case"opera":if(f.isOpera){r=true}break}});if(!r){return}}switch(q.mode){case"exact":r=q.elements||"";if(r.length>0){g(d(r),function(u){if(e.get(u)){m=new f.Editor(u,q);i.push(m);m.render(1)}else{o=0;g(document.forms,function(v){g(v.elements,function(w){if(w.name===u){u="mce_editor_"+o;e.setAttrib(w,"id",u);m=new f.Editor(u,q);i.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function s(v,u){return u.constructor===RegExp?u.test(v.className):e.hasClass(v,u)}g(e.select("textarea"),function(u){if(q.editor_deselector&&s(u,q.editor_deselector)){return}if(!q.editor_selector||s(u,q.editor_selector)){n=e.get(u.name);if(!u.id&&!n){u.id=u.name}if(!u.id||p.get(u.id)){u.id=e.uniqueId()}m=new f.Editor(u.id,q);i.push(m);m.render(1)}});break}if(q.oninit){r=t=0;g(i,function(u){t++;if(!u.initialized){u.onInit.add(function(){r++;if(r==t){j(q,"oninit")}})}else{r++}if(r==t){j(q,"oninit")}})}})},get:function(i){return this.editors[i]},getInstanceById:function(i){return this.get(i)},add:function(i){this.editors[i.id]=i;this._setActive(i);return i},remove:function(j){var i=this;if(!i.editors[j.id]){return null}delete i.editors[j.id];if(i.activeEditor==j){g(i.editors,function(k){i._setActive(k);return false})}j.destroy();return j},execCommand:function(o,m,l){var n=this,k=n.get(l),i;switch(o){case"mceFocus":k.focus();return true;case"mceAddEditor":case"mceAddControl":if(!n.get(l)){new f.Editor(l,n.settings).render()}return true;case"mceAddFrameControl":i=l.window;i.tinyMCE=tinyMCE;i.tinymce=f;f.DOM.doc=i.document;f.DOM.win=i;k=new f.Editor(l.element_id,l);k.render();if(f.isIE){function j(){k.destroy();i.detachEvent("onunload",j);i=i.tinyMCE=i.tinymce=null}i.attachEvent("onunload",j)}l.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(k){k.remove()}return true;case"mceToggleEditor":if(!k){n.execCommand("mceAddControl",0,l);return true}if(k.isHidden()){k.show()}else{k.hide()}return true}if(n.activeEditor){return n.activeEditor.execCommand(o,m,l)}return false},execInstanceCommand:function(m,l,k,j){var i=this.get(m);if(i){return i.execCommand(l,k,j)}return false},triggerSave:function(){g(this.editors,function(i){i.save()})},addI18n:function(k,l){var i,j=this.i18n;if(!f.is(k,"string")){g(k,function(n,m){g(n,function(q,p){g(q,function(s,r){if(p==="common"){j[m+"."+r]=s}else{j[m+"."+p+"."+r]=s}})})})}else{g(l,function(n,m){j[k+"."+m]=n})}},_setActive:function(i){this.selectedInstance=this.activeEditor=i}});f.EditorManager.preInit()})(tinymce);var tinyMCE=window.tinyMCE=tinymce.EditorManager;(function(n){var o=n.DOM,k=n.dom.Event,f=n.extend,l=n.util.Dispatcher;var j=n.each,a=n.isGecko,b=n.isIE,e=n.isWebKit;var d=n.is,h=n.ThemeManager,c=n.PluginManager,i=n.EditorManager;var p=n.inArray,m=n.grep,g=n.explode;n.create("tinymce.Editor",{Editor:function(u,r){var q=this;q.id=q.editorId=u;q.execCommands={};q.queryStateCommands={};q.queryValueCommands={};q.plugins={};j(["onPreInit","onBeforeRenderUI","onPostRender","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState"],function(s){q[s]=new l(q)});q.settings=r=f({id:u,language:"en",docs_language:"en",theme:"simple",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:n.documentBaseURL,add_form_submit_trigger:1,submit_patch:1,add_unload_trigger:1,convert_urls:1,relative_urls:1,remove_script_host:1,table_inline_editing:0,object_resizing:1,cleanup:1,accessibility_focus:1,custom_shortcuts:1,custom_undo_redo_keyboard_shortcuts:1,custom_undo_redo_restore_selection:1,custom_undo_redo:1,doctype:'',visual_table_class:"mceItemTable",visual:1,inline_styles:true,convert_fonts_to_spans:true,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",valid_elements:"@[id|class|style|title|dir';F.iframeHTML+='';if(n.relaxedDomain){F.iframeHTML+=''); @@ -113,6 +179,13 @@ tinyMCEPopup = { } }, + /** + * Executes a color picker on the specified element id. When the user + * then selects a color it will be set as the value of the specified element. + * + * @param {DOMEvent} e DOM event object. + * @param {string} element_id Element id to be filled with the color value from the picker. + */ pickColor : function(e, element_id) { this.execCommand('mceColorPicker', true, { color : document.getElementById(element_id).value, @@ -128,19 +201,46 @@ tinyMCEPopup = { }); }, + /** + * Opens a filebrowser/imagebrowser this will set the output value from + * the browser as a value on the specified element. + * + * @param {string} element_id Id of the element to set value in. + * @param {string} type Type of browser to open image/file/flash. + * @param {string} option Option name to get the file_broswer_callback function name from. + */ openBrowser : function(element_id, type, option) { tinyMCEPopup.restoreSelection(); this.editor.execCallback('file_browser_callback', element_id, document.getElementById(element_id).value, type, window); }, + /** + * Creates a confirm dialog. Please don't use the blocking behavior of this + * native version use the callback method instead then it can be extended. + * + * @param {String} t Title for the new confirm dialog. + * @param {function} cb Callback function to be executed after the user has selected ok or cancel. + * @param {Object} s Optional scope to execute the callback in. + */ confirm : function(t, cb, s) { this.editor.windowManager.confirm(t, cb, s, window); }, + /** + * Creates a alert dialog. Please don't use the blocking behavior of this + * native version use the callback method instead then it can be extended. + * + * @param {String} t Title for the new alert dialog. + * @param {function} cb Callback function to be executed after the user has selected ok. + * @param {Object} s Optional scope to execute the callback in. + */ alert : function(tx, cb, s) { this.editor.windowManager.alert(tx, cb, s, window); }, + /** + * Closes the current window. + */ close : function() { var t = this; @@ -174,7 +274,12 @@ tinyMCEPopup = { },*/ _onDOMLoaded : function() { - var t = this, ti = document.title, bm, h, nv; + var t = tinyMCEPopup, ti = document.title, bm, h, nv; + + if (t.domLoaded) + return; + + t.domLoaded = 1; // Translate page if (t.features.translate_i18n !== false) { @@ -196,9 +301,13 @@ tinyMCEPopup = { document.body.style.display = ''; // Restore selection in IE when focus is placed on a non textarea or input element of the type text - if (tinymce.isIE) + if (tinymce.isIE) { document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection); + // Add base target element for it since it would fail with modal dialogs + t.dom.add(t.dom.select('head')[0], 'base', {target : '_self'}); + } + t.restoreSelection(); t.resizeToInnerSize(); @@ -264,30 +373,37 @@ tinyMCEPopup = { }, _wait : function() { - var t = this, ti; - - if (tinymce.isIE && document.location.protocol != 'https:') { - // Fake DOMContentLoaded on IE - document.write(' EOD; - /// TODO: hide embedded file manager if tinymce used - if ($editorclass === 'form-textarea-advanced') { + if ($editor->supports_repositories()) { $str .= << // EOD; - } } - $str .= ''; return $str; diff --git a/lib/javascript.php b/lib/javascript.php index 5c16f7c94f..b7c5fbeaaf 100644 --- a/lib/javascript.php +++ b/lib/javascript.php @@ -4,13 +4,8 @@ if (!defined('MOODLE_INTERNAL')) { die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page } - -if (can_use_html_editor() && !empty($CFG->editorsrc)) { - foreach ( $CFG->editorsrc as $scriptsource ) { - echo ''."\n"; - } -} ?> + @@ -45,3 +40,15 @@ if (!empty($focus)) { ?> //]]> +texteditors)) { + $CFG->texteditors = 'tinymce,textarea'; + } + $activeeditors = explode(',', $CFG->texteditors); + foreach ($activeeditors as $editor) { + $editor = get_texteditor($editor); + echo $editor->header_js(); + } +?> \ No newline at end of file diff --git a/lib/moodlelib.php b/lib/moodlelib.php index accd036800..16e153c5be 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -5240,6 +5240,7 @@ class string_manager { 'enrol_' => array('enrol'), 'filter_' => array('filter'), 'format_' => array('course/format'), + 'editor_' => array('lib/editor'), 'quiz_' => array('mod/quiz/report'), 'qtype_' => array('question/type'), 'qformat_' => array('question/format'), @@ -6475,39 +6476,6 @@ function ini_get_bool($ini_get_arg) { return false; } - /** - * Get the list of available HTML editors - */ -function get_available_html_editors() { - return array('tinymce'=>'TinyMCE'); -} - -/** - * Determines if the HTML editor is enabled. - * - * This depends on site and user settings, as well as the current browser being - * used. The current requirements are based on Tinymce's, which are available - * on http://wiki.moxiecode.com/index.php/TinyMCE:Compatiblity - * - * @return mixed false if editor cannot be used, or a string representing the compatible browser - */ -function can_use_html_editor() { - global $USER, $CFG; - - if (!empty($USER->htmleditor) and !empty($CFG->htmleditor)) { - if (check_browser_version('MSIE', 5.5)) { - return 'MSIE'; - } else if (check_browser_version('Gecko', 20030516)) { - return 'Gecko'; - } else if (check_browser_version('Safari', 3)) { - return 'Safari'; - } else if (check_browser_version('Opera', 9)) { - return 'Opera'; - } - } - return false; -} - /** * Can handle rotated text. Whether it is safe to use the trickery in textrotate.js. */ diff --git a/lib/setup.php b/lib/setup.php index 525286041a..23e5aafa81 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -183,6 +183,7 @@ global $SCRIPT; require_once($CFG->libdir .'/eventslib.php'); // Events functions require_once($CFG->libdir .'/grouplib.php'); // Groups functions require_once($CFG->libdir .'/sessionlib.php'); // All session and cookie related stuff + require_once($CFG->libdir .'/editorlib.php'); // All text editor related functions and classes //point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else //the problem is that we need specific version of quickforms and hacked excel files :-( diff --git a/lib/weblib.php b/lib/weblib.php index a547edcaf9..a49ba3c236 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -2356,10 +2356,6 @@ function print_header ($title='', $heading='', $navigation='', $focus='', $pageclass = $PAGE->bodyclasses; $bodytags .= ' class="'.$pageclass.'" id="'.$pageid.'"'; - require_once($CFG->libdir .'/editor/htmlEditor.class.php'); - $htmlEditorObject = new htmlEditor(); - $htmlEditor = $htmlEditorObject->configure(NULL, $COURSE->id); - ob_start(); include($CFG->header); $output = ob_get_contents(); @@ -4880,11 +4876,11 @@ function print_recent_activity_note($time, $user, $text, $link, $return=false, $ * @param string $id CSS ID to add to the textarea element. * @param string $editorclass CSS classes to add to the textarea element when using the htmleditor. Use 'form-textarea-simple' to get a basic editor. Defaults to 'form-textarea-advanced' (complete editor). If this is null or invalid, the htmleditor will not show for this field. */ -function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $value='', $obsolete=0, $return=false, $id='', $editorclass='form-textarea-advanced') { +function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $value='', $obsolete=0, $return=false, $id='') { /// $width and height are legacy fields and no longer used as pixels like they used to be. /// However, you can set them to zero to override the mincols and minrows values below. - global $CFG, $COURSE, $HTTPSPAGEREQUIRED, $THEME; + global $CFG; $mincols = 65; $minrows = 10; @@ -4894,7 +4890,7 @@ function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $v $id = 'edit-'.$name; } - if ( empty($CFG->editorsrc) && $usehtmleditor ) { // for backward compatibility. + if ($usehtmleditor) { if ($height && ($rows < $minrows)) { $rows = $minrows; } @@ -4904,12 +4900,13 @@ function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $v } if ($usehtmleditor) { - $THEME->htmleditors[] = $id; + $editor = get_preferred_texteditor(FORMAT_HTML); + $editorclass = $editor->get_legacy_textarea_class(); } else { $editorclass = ''; } - $str .= "\n".''."\n"; - if ($usehtmleditor) { - require_once("$CFG->dirroot/repository/lib.php"); - $str_toggle = ''. get_string('editortoggle') .''; - // Show shortcuts button if HTML editor is in use, but only if JavaScript is enabled (MDL-9556) - if(empty($COURSE->context)) { - $ctx = get_context_instance(CONTEXT_SYSTEM); - } else { - $ctx = $COURSE->context; - } - $client_id = uniqid(); - $ret = repository_get_client($ctx, $client_id, array('image', 'video', 'media'), '*'); - - $str .= $ret['css'].$ret['js']; - $str .= '
    '; - $str .= ''; - $str .= '
    '; - } - if ($return) { return $str; } diff --git a/user/editlib.php b/user/editlib.php index aaa4a70936..c935843bb4 100644 --- a/user/editlib.php +++ b/user/editlib.php @@ -166,7 +166,7 @@ function useredit_shared_definition(&$mform) { $mform->setDefault('trackforums', 0); $mform->setAdvanced('trackforums'); } - +/* TODO: reimplement editor preferences if (!empty($CFG->htmleditor)) { $choices = array(); $choices['0'] = get_string('texteditor'); @@ -175,7 +175,7 @@ function useredit_shared_definition(&$mform) { $mform->setDefault('htmleditor', 1); $mform->setAdvanced('htmleditor'); } - +*/ if (empty($CFG->enableajax)) { $mform->addElement('static', 'ajaxdisabled', get_string('ajaxuse'), get_string('ajaxno')); $mform->setAdvanced('ajaxdisabled');
    '+j.renderHTML()+""+j.renderHTML()+"