forked from Wavyzz/dolibarr
New: update fckeditor version 2.6.4
This commit is contained in:
@@ -15,7 +15,7 @@ Smarty 2.6.0 LGPL 2.1 Yes Some pages temp
|
|||||||
In alphabetical order of includes directory:
|
In alphabetical order of includes directory:
|
||||||
AdoDb-Date 0.21 Modified BSD License Yes Date convertion
|
AdoDb-Date 0.21 Modified BSD License Yes Date convertion
|
||||||
Php-barcode 0.3pl1 GPL 2.0 Yes Bar code generation
|
Php-barcode 0.3pl1 GPL 2.0 Yes Bar code generation
|
||||||
FCKEditor 2.6 LGPL 2.1 or Mozilla PL 1.0 Yes Editor WYSIWYG
|
FCKEditor 2.6.4 LGPL 2.1 or Mozilla PL 1.0 Yes Editor WYSIWYG
|
||||||
FPDF 1.53 Public domain Yes PDF generation (original code is modified)
|
FPDF 1.53 Public domain Yes PDF generation (original code is modified)
|
||||||
FPDF_TPL 1.1.2 Apache Software License 2.0 No GPL3 only PDF templates management
|
FPDF_TPL 1.1.2 Apache Software License 2.0 No GPL3 only PDF templates management
|
||||||
FPDI 1.2.1 Apache Software License 2.0 No GPL3 only PDF templates management
|
FPDI 1.2.1 Apache Software License 2.0 No GPL3 only PDF templates management
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -33,261 +33,138 @@
|
|||||||
<h1>
|
<h1>
|
||||||
FCKeditor ChangeLog - What's New?</h1>
|
FCKeditor ChangeLog - What's New?</h1>
|
||||||
<h3>
|
<h3>
|
||||||
Version 2.6</h3>
|
Version 2.6.4</h3>
|
||||||
<p>
|
|
||||||
No changes. The stabilization of the 2.6 RC was completed successfully, as expected.</p>
|
|
||||||
<h3>
|
|
||||||
Version 2.6 RC</h3>
|
|
||||||
<p>
|
|
||||||
New Features and Improvements:</p>
|
|
||||||
<ul>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2017">#2017</a>] The FCKeditorAPI.Instances
|
|
||||||
object can now be used to access all FCKeditor instances available in the page.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1980">#1980</a>] <span
|
|
||||||
style="color: #ff0000">Attention:</span> By default, the editor now produces <strong>
|
|
||||||
and <em> instead of <b> and <i>.</li>
|
|
||||||
</ul>
|
|
||||||
<p>
|
<p>
|
||||||
Fixed Bugs:</p>
|
Fixed Bugs:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1924">#1924</a>] The dialog
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2777">#2777</a>] Merging
|
||||||
close button is now correctly positioned in IE in RTL languages.</li>
|
cells between table header and body is no longer possible.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1933">#1933</a>] Placeholder
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2815">#2815</a>] Fixed
|
||||||
dialog will now display the placeholder value correctly in IE.</li>
|
WSC issues at slow connection speed. Added SSL support.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/957">#957</a>] Pressing
|
<li>Language file updates for the following languages:
|
||||||
Enter or typing after a placeholder with the placeholder plugin will no longer generate
|
<ul>
|
||||||
colored text.</li>
|
<li>Chinese (Traditional)</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1952">#1952</a>] Fixed
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2846">#2846</a>] French</li>
|
||||||
an issue in FCKTools.FixCssUrls that, other than wrong, was breaking Opera.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2801">#2801</a>] Hebrew</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1695">#1695</a>] Removed
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2824">#2824</a>] Russian</li>
|
||||||
Ctrl-Tab hotkey for Source mode and allowed Ctrl-T to work in Firefox.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2811">#2811</a>] Turkish</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1666">#1666</a>] Fixed
|
</ul>
|
||||||
permission denied errors during opening popup menus in IE6 under domain relaxation
|
|
||||||
mode.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1934">#1934</a>] Fixed
|
|
||||||
JavaScript errors when calling Selection.EnsureSelection() in dialogs.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1920">#1920</a>] Fixed
|
|
||||||
SSL warning message when opening image and flash dialogs under HTTPS in IE6.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1955">#1955</a>] [<a
|
|
||||||
target="_blank" href="http://dev.fckeditor.net/ticket/1981">#1981</a>] [<a target="_blank"
|
|
||||||
href="http://dev.fckeditor.net/ticket/1985">#1985</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1989">#1989</a>]
|
|
||||||
Fixed XHTML source formatting errors in non-IE browsers.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2000">#2000</a>] The #
|
|
||||||
character is now properly encoded in file names returned by the File Browser.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1945">#1945</a>] New folders
|
|
||||||
and file names are now properly sanitized against control characters. </li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1944">#1944</a>] Backslash
|
|
||||||
character is now disallowed in current folder path.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1055">#1055</a>] Added
|
|
||||||
logic to override JavaScript errors occurring inside the editing frame due to user
|
|
||||||
added JavaScript code.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1647">#1647</a>] Hitting
|
|
||||||
ENTER on list items containing block elements will now create new list item elements,
|
|
||||||
instead of adding further blocks to the same list item.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1411">#1411</a>] Label
|
|
||||||
only combos now get properly grayed out when moving to source view.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2009">#2009</a>] Fixed
|
|
||||||
an important bug regarding styles removal on styled text boundaries, introduced
|
|
||||||
with the 2.6 Beta 1. </li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2011">#2011</a>] Internal
|
|
||||||
CSS <style> tags where being outputted when FullPage=true.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2016">#2016</a>] The Link
|
|
||||||
dialog now properly selects the first field when opening it to modify mailto or
|
|
||||||
anchor links. This problem was also throwing an error in IE.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2021">#2021</a>] The caret
|
|
||||||
will no longer remain behind in the editing area when the placeholder dialog is
|
|
||||||
opened.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2024">#2024</a>] Fixed
|
|
||||||
JavaScript error in IE when the user tries to open dialogs in Source mode.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1853">#1853</a>] Setting
|
|
||||||
ShiftEnterMode to p or div now works correctly when EnterMode is br.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1838">#1838</a>] Fixed
|
|
||||||
the issue where context menus sometimes don't disappear after selecting an option.
|
|
||||||
</li>
|
</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2028">#2028</a>] Fixed
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2757">#2757</a>] Fixed
|
||||||
JavaScript error when EnterMode=br and user tries to insert a page break.</li>
|
a minor bug which causes selection positions to be improperly restored during undos
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2002">#2002</a>] Fixed
|
and redos.</li>
|
||||||
the issue where the maximize editor button does not vertically expand the editing
|
|
||||||
area in Firefox.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1842">#1842</a>] PHP integration:
|
|
||||||
fixed filename encoding problems in file browser.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1832">#1832</a>] Calling
|
|
||||||
FCK.InsertHtml() in non-IE browsers would now activate the document processor as
|
|
||||||
expected.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1998">#1998</a>] The native
|
|
||||||
XMLHttpRequest class is now used in IE, whenever it is available.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1792">#1792</a>] In IE,
|
|
||||||
the browser was able to enter in an infinite loop when working with multiple editors
|
|
||||||
in the same page. </li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1948">#1948</a>] Some
|
|
||||||
CSS rules are reset to dialog elements to avoid conflict with the page CSS.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1965">#1965</a>] IE was
|
|
||||||
having problems with SpellerPages, causing some errors to be thrown when completing
|
|
||||||
the spell checking in some situations.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2042">#2042</a>] The FitWindow
|
|
||||||
command was throwing an error if executed in an editor where its relative button
|
|
||||||
is not present in the toolbar.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/922">#922</a>] Implemented
|
|
||||||
a generic document processor for <OBJECT> and <EMBED> tags.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1831">#1831</a>] Fixed
|
|
||||||
the issue where the placeholder icon for <EMBED> tags does not always show
|
|
||||||
up in IE7.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2049">#2049</a>] Fixed
|
|
||||||
a deleted cursor CSS attribute in the minified CSS inside fck_dialog_common.js.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1806">#1806</a>] In IE,
|
|
||||||
the caret will not any more move to the previous line when selecting a Format style
|
|
||||||
inside an empty paragraph.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1990">#1990</a>] In IE,
|
|
||||||
dialogs using API calls which deals with the selection, like InsertHtml now can
|
|
||||||
be sure the selection will be placed in the correct position.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1997">#1997</a>] With
|
|
||||||
IE, the first character of table captions where being lost on table creation.</li>
|
|
||||||
<li>The selection and cursor position was not being properly handled when creating some
|
|
||||||
elements like forms and tables.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/662">#662</a>] In the
|
|
||||||
Perl sample files, the GetServerPath function will now calculate the path properly.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
Version 2.6 Beta 1</h3>
|
Version 2.6.4 Beta</h3>
|
||||||
<p>
|
<p>
|
||||||
New Features and Improvements:</p>
|
New Features and Improvements:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/35">#35</a>] <strong>New
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2685">#2685</a>] Integration
|
||||||
(and cool!) floating dialog system</strong>, avoiding problems with popup blockers
|
with "WebSpellChecker", a <strong>zero installation and free spell checker</strong>
|
||||||
and enhancing the editor usability.</li>
|
provided by SpellChecker.net. This is now the default spell checker in the editor
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1886">#1886</a>] <strong>
|
(requires internet connection). All previous spell checking solutions are still
|
||||||
Adobe AIR</strong> compatibility.</li>
|
available.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/123">#123</a>] Full support
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2430">#2430</a>] In the
|
||||||
for <strong>document.domain</strong> with automatic domain detection.</li>
|
table dialog it's possible to create header cells in the first row (included in
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1622">#1622</a>] New <strong>
|
a thead element) or the first column of the table. </li>
|
||||||
inline CSS cache</strong> feature, making it possible to avoid downloading the CSS
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/822">#822</a>] The table
|
||||||
files for the editing area and skins. For that, it is enough to set the EditorAreaCSS,
|
cell dialog allows switching between normal data cells or header cells (TD vs. TH).
|
||||||
SkinEditorCSS and SkinDialogCSS to string values in the format "/absolute/path/for/urls/|<minified
|
</li>
|
||||||
CSS styles". All internal CSS links are already using this feature. </li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2515">#2515</a>] New language
|
||||||
<li>New language file for <strong>Canadian French</strong>.</li>
|
file for Icelandic.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
Fixed Bugs:</p>
|
Fixed Bugs:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1643">#1643</a>] Resolved
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2381">#2381</a>] Protected
|
||||||
several "strict warning" messages in Firefox when running FCKeditor.</li>
|
the editor from duplicate iframes</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1522">#1522</a>] The ENTER
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1752">#1752</a>] Fixed
|
||||||
key will now work properly in IE with the cursor at the start of a formatted block.</li>
|
the issue with tablecommands plugin and undefined tagName.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1503">#1503</a>] It's
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2333">#2333</a>] The &gt;
|
||||||
possible to define in the Styles that a Style (with an empty class) must be shown
|
character inside text wasn't encoded in Opera and Safari.</li>
|
||||||
selected only when no class is present in the current element, and selecting that
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2467">#2467</a>] Fixed
|
||||||
item will clear the current class (it does apply to any attribute, not only classes).</li>
|
JavaScript error with the fit window command in source mode.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/191">#191</a>] The scrollbars
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2472">#2472</a>] Splitting
|
||||||
are now being properly shown in Firefox Mac when placing FCKeditor inside a hidden
|
a TH will create a two TH, not a TH and a TD.</li>
|
||||||
div.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1891">#1891</a>] Removed
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/503">#503</a>] Orphaned
|
unnecessary name attributes in dialogs. </li>
|
||||||
<li> elements now get properly enclosed in a <ul> on output.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/798">#798</a>, <a target="_blank"
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/309">#309</a>] The ENTER
|
href="http://dev.fckeditor.net/ticket/2495">#2495</a>] If an image was placed inside
|
||||||
key will not any more break <button> elements at the beginning of paragraphs.</li>
|
a container with dimensions or floating it wasn't possible to edit its properties
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1654">#1654</a>] The editor
|
from the toolbar or context menu.</li>
|
||||||
was not loading on a specific unknown situation. The breaking point has been removed.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1982">#1982</a>] Submenus
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1707">#1707</a>] The editor
|
in IE7 now are shown properly.</li>
|
||||||
no longer hangs when operating on documents imported from Microsoft Word.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2496">#2496</a>] Using
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1514">#1514</a>] Floating
|
the Paste dialogs in IE might insert the content at the start of the editor.</li>
|
||||||
panels attached to a shared toolbar among multiple FCKeditor instances are no longer
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2349">#2496</a>] Fixed
|
||||||
misplaced when the editing areas are absolutely or relatively positioned.</li>
|
RTL dialog layout in Internet Explorer.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1715">#1715</a>] The ShowDropDialog
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2488">#2488</a>] Fixed
|
||||||
is now enforced only when ForcePasteAsPlainText = true.</li>
|
the issue where email links in IE would take the browser to a new page in addition
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1336">#1336</a>] Sometimes
|
to calling up the email client.</li>
|
||||||
the autogrow plugin didn't work properly in Firefox.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2519">#2519</a>] Fixed
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1728">#1728</a>] External
|
race condition at registering the FCKeditorAPI object in multiple editor scenarios.</li>
|
||||||
toolbars are now properly sized in Opera.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2525">#2525</a>] Fixed
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1782">#1782</a>] Clicking
|
JavaScript error in Google Chrome when StartupShowBlocks is set to true.</li>
|
||||||
on radio buttons or checkboxes in the editor in IE will no longer cause lockups
|
<li>Language file updates for the following languages:
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2440">#2440</a>] Dutch</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2451</a>] Basque</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2650</a>] Danish</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2208">#2535</a>] German
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2531">#2531</a>] The ENTER
|
||||||
|
key will properly scroll to the cursor position when breaking long paragraphs.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2573">#2573</a>] The type
|
||||||
|
name in configurations for the ASP connector are now case sensitive.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2503">#2503</a>] DL, DT
|
||||||
|
and DD where missing the formatting in the generated HTML.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2516">#2516</a>] Replaced
|
||||||
|
the extension AddItem of Array with the standard "push" method.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2486">#2486</a>] Vertically
|
||||||
|
splitting cell with colspan > 1 breaks table layout.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2597">#2597</a>] Fixed
|
||||||
|
the issue where dropping contents from outside of the editor doesn't work in Safari.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2412">#2412</a>] Fixed
|
||||||
|
the issue where FCK.InsertHtml() is no longer removing selected contents after content
|
||||||
|
insertion in Firefox.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2407">#2407</a>] Fixed
|
||||||
|
the issue where the Div container command and the blockquote command would break
|
||||||
|
lists.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2469">#2469</a>] Fixed
|
||||||
|
a minor issue where FCK.SetData() may cause the editor to become unresponsive to
|
||||||
|
the first click after being defocused.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2611">#2611</a>] Fixed
|
||||||
|
an extra slash on quickupload of the asp connector.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2616">#2616</a>] Fixed
|
||||||
|
another situation where new elements were inserted at the beginning of the content
|
||||||
in IE.</li>
|
in IE.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/805">#805</a>] The FCKConfig.Keystrokes
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2634">#2634</a>] Fixed
|
||||||
commands where executed even if the command itself was disabled.</li>
|
two obsolete references to Array::AddItem() instances still in the code.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/982">#982</a>] The button
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2679">#2679</a>] Fixed
|
||||||
to empty the box in the "Paste from Word" has been removed as it leads to confusion
|
infinite loop problems with FCKDomRangeIterator class which causes some commands
|
||||||
for some users.</li>
|
to hang when applied to certain document structures.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1682">#1682</a>] Editing
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2649">#2649</a>] Fixed
|
||||||
control elements in Firefox, Opera and Safari now works properly.</li>
|
a JavaScript error in IE when user tries to search with the "Match whole word" option
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1613">#1613</a>] The editor
|
enabled and the matched word is at exactly the end of document.</li>
|
||||||
was surrounded by a <div> element that wasn't really needed.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2603">#2603</a>] Changed
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/676">#676</a>] If a form
|
the <a href="http://docs.fckeditor.net/EMailProtection">EMailProtection</a> to "none"
|
||||||
control was moved in IE after creating it, then it did lose its name.</li>
|
for better compatibility.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/738">#738</a>] It wasn't
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2612">#2612</a>] The 'ForcePasteAsPlainText'
|
||||||
possible to change the type of an existing button.</li>
|
configuration option didn't work correctly in Safari and Chrome.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1854">#1854</a>] Indentation
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2696">#2696</a>] Fixed
|
||||||
now works inside table cells.</li>
|
non-working autogrow plugin.</li>
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1717">#1717</a>] The editor
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2753">#2753</a>] Fixed
|
||||||
was entering on looping on some specific cases when dealing with invalid source
|
occasional exceptions in the dragersizetable plugin with IE.</li>
|
||||||
markup.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2653">#2653</a>] and [<a
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1530">#1530</a>] Pasting
|
target="_blank" href="http://dev.fckeditor.net/ticket/2733">#2733</a>] Enable undo
|
||||||
text into the "Find what" fields in the Find and Replace dialog would now activate
|
of changes to tables and table cells.</li>
|
||||||
the find and replace buttons.</li>
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1865">#1865</a>] The context
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1828">#1828</a>] The Find/Replace
|
menu is now working properly over the last row in a table with thead. Thanks to
|
||||||
dialog will no longer display wrong starting positions for the match when there
|
Koen Willems.</li>
|
||||||
are multiple and identical characters preceding the character at the real starting
|
|
||||||
point of the match.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1878">#1878</a>] Fixed
|
|
||||||
a JavaScript error which occurs in the Find/Replace dialog when the user presses
|
|
||||||
"Find" or "Replace" after the "No match found" message has appeared.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1355">#1355</a>] Line
|
|
||||||
breaks and spaces are now conserved when converting to and from the "Formatted"
|
|
||||||
format.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1670">#1670</a>] Improved
|
|
||||||
the background color behind smiley icons and special characters in their corresponding
|
|
||||||
dialogs.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1693">#1693</a>] Custom
|
|
||||||
error messages are now properly displayed in the file browser.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/970">#970</a>] The text
|
|
||||||
and value fields in the selection box dialog will no longer extend beyond the dialog
|
|
||||||
limits when the user inputs a very long text or value for one of the selection options.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/479">#479</a>] Fixed the
|
|
||||||
issue where pressing Enter in an <o:p> tag in IE does not generate line breaks.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/481">#481</a>] Fixed the
|
|
||||||
issue where the image preview in image dialog sometimes doesn't display after selecting
|
|
||||||
the image from server browser.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1488">#1488</a>] PHP integration:
|
|
||||||
the FCKeditor class is now more PHP5/6 friendly ("public" keyword is used instead
|
|
||||||
of depreciated "var").</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1815">#1815</a>] PHP integration:
|
|
||||||
removed closing tag: "?>", so no additional whitespace added when files are included.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1906">#1906</a>] PHP file
|
|
||||||
browser: fixed problems with DetectHtml() function when open_basedir was set.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1871">#1871</a>] PHP file
|
|
||||||
browser: permissions applied with the chmod command are now configurable.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1872">#1872</a>] Perl
|
|
||||||
file browser: permissions applied with the chmod command are now configurable.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1873">#1873</a>] Python
|
|
||||||
file browser: permissions applied with the chmod command are now configurable.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1572">#1572</a>] ColdFusion
|
|
||||||
integration: fixed issues with setting the editor height.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1692">#1692</a>] ColdFusion
|
|
||||||
file browser: it is possible now to define TempDirectory to avoid issues with GetTempdirectory()
|
|
||||||
returning an empty string.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1379">#1379</a>] ColdFusion
|
|
||||||
file browser: resolved issues with OnRequestEnd.cfm breaking the file browser.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1509">#1509</a>] InsertHtml()
|
|
||||||
in IE will no longer turn the preceding normal whitespace into &nbsp;.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/958">#958</a>] The AddItem
|
|
||||||
method now has an additional fifth parameter "customData" that will be sent to the
|
|
||||||
Execute method of the command for that menu item, allowing a single command to be
|
|
||||||
used for different menu items..</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1502">#1502</a>] The RemoveFormat
|
|
||||||
command now also removes the attributes from the cleaned text. The list of attributes
|
|
||||||
is configurable with FCKConfig.RemoveAttributes.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1596">#1596</a>] On Safari,
|
|
||||||
dialogs have now right-to-left layout when it runs a RTL language, like Arabic.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1344">#1344</a>] Added
|
|
||||||
warning message on Copy and Cut operation failure on IE due to paste permission
|
|
||||||
settings.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1868">#1868</a>] Links
|
|
||||||
to file browser has been changed to avoid requests containing double dots.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1229">#1229</a>] Converting
|
|
||||||
multiple contiguous paragraphs to Formatted will now be merged into a single <PRE>
|
|
||||||
block.</li>
|
|
||||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1627">#1627</a>] Samples
|
|
||||||
failed to load from local filesystem in IE7.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
<a href="_whatsnew_history.html">See previous versions history</a>
|
<a href="_whatsnew_history.html">See previous versions history</a></p>
|
||||||
</p>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -32,6 +32,549 @@
|
|||||||
<body>
|
<body>
|
||||||
<h1>
|
<h1>
|
||||||
FCKeditor ChangeLog - What's New?</h1>
|
FCKeditor ChangeLog - What's New?</h1>
|
||||||
|
<h3>
|
||||||
|
Version 2.6.3</h3>
|
||||||
|
<p>
|
||||||
|
Fixed Bugs:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2412">#2412</a>] FCK.InsertHtml()
|
||||||
|
is now properly removing selected contents after content insertion in Firefox.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2420">#2420</a>] Spelling
|
||||||
|
mistake corrections made by the spell checking dialog are now undoable. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2411">#2411</a>] Insert
|
||||||
|
anchor was not working for non-empty selections.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2426">#2426</a>] It was
|
||||||
|
impossible to switch between editor areas with a single click.</li>
|
||||||
|
<li>Language file updates for the following languages:
|
||||||
|
<ul>
|
||||||
|
<li>Canadian French</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2402">#2402</a>] Catalan
|
||||||
|
</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2400">#2400</a>] Chinese
|
||||||
|
(Simplified and Traditional)</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2401">#2401</a>] Croatian</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2422">#2422</a>] Czech</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2417">#2417</a>] Dutch</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2428">#2428</a>] French</li>
|
||||||
|
<li>German</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2427">#2427</a>] Hebrew</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2410">#2410</a>] Hindi</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2405">#2405</a>] Japanese</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2409">#2409</a>] Norwegian
|
||||||
|
and Norwegian Bokmål</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2429">#2429</a>] Spanish</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2406">#2406</a>] Vietnamese</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
This version has been sponsored by <a href="http://www.dataillusion.com/fs/">Data Illusion
|
||||||
|
survey software solutions</a>.</p>
|
||||||
|
<h3>
|
||||||
|
Version 2.6.3 Beta</h3>
|
||||||
|
<p>
|
||||||
|
New Features and Improvements:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/439">#439</a>] Added a
|
||||||
|
new <strong>context menu option for opening links</strong> in the editor.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2220">#2220</a>] <strong>
|
||||||
|
Email links</strong> from the Link dialog <strong>are now encoded</strong> by default
|
||||||
|
to prevent being harvested by spammers. (Kudos to asuter for proposing the patch)
|
||||||
|
</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2234">#2234</a>] Added
|
||||||
|
the ability to create, modify and remove <strong>DIV containers</strong>. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2247">#2247</a>] The <strong>
|
||||||
|
SHIFT+SPACE</strong> keystroke will now <strong>produce a &nbsp;</strong> character.
|
||||||
|
</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2252">#2252</a>] It's
|
||||||
|
now possible to enable the browsers default menu using the configuration file (FCKConfig.BrowserContextMenu
|
||||||
|
option). </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2032">#2032</a>] Added
|
||||||
|
HTML samples for legacy HTML and Flash HTML. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/234">#234</a>] Introduced
|
||||||
|
the "PreventSubmitHandler" setting, which makes it possible to instruct the editor
|
||||||
|
to not handle the hidden field update on form submit events.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Fixed Bugs:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2319">#2319</a>] On Opera
|
||||||
|
and Firefox 3, the entire page was scrolling on SHIFT+ENTER, or when EnterMode='br'.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2321">#2321</a>] On Firefox
|
||||||
|
3, the entire page was scrolling when inserting block elements with the FCK.InsertElement
|
||||||
|
function, used by the Table and Horizontal Rule buttons.. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/692">#692</a>] Added some
|
||||||
|
hints in editor/css/fck_editorarea.css on how to handle style items that would break
|
||||||
|
the style combo. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2263">#2263</a>] Fixed
|
||||||
|
a JavaScript error in IE which occurs when there are placeholder elements in the
|
||||||
|
document and the user has pressed the Source button.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2314">#2314</a>] Corrected
|
||||||
|
mixed up Chinese translations for the blockquote command.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2323">#2323</a>] Fixed
|
||||||
|
the issue where the show blocks command loses the current selection from the view
|
||||||
|
area when editing a long document.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2322">#2322</a>] Fixed
|
||||||
|
the issue where the fit window command loses the current selection and scroll position
|
||||||
|
in the editing area.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1917">#1917</a>] Fixed
|
||||||
|
the issue where the merge down command for tables cells does not work in IE for
|
||||||
|
more than two cells.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2320">#2320</a>] Fixed
|
||||||
|
the issue where the Find/Replace dialog scrolls the entire page.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1645">#1645</a>] Added
|
||||||
|
warning message about Firefox 3's strict origin policy.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2272">#2272</a>] Improved
|
||||||
|
the garbage filter in Paste from Word dialog.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2327">#2327</a>] Fixed
|
||||||
|
invalid HTML in the Paste dialog.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1907">#1907</a>] Fixed
|
||||||
|
sporadic "FCKeditorAPI is not defined" errors in Firefox 3.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2356">#2356</a>] Fixed
|
||||||
|
access denied error in IE7 when FCKeditor is launched from local filesystem.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1150">#1150</a>] Fixed
|
||||||
|
the type="_moz" attribute that sometimes appear in <br> tags in non-IE browsers.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1229">#1229</a>] Converting
|
||||||
|
multiple contiguous paragraphs to Formatted will now be merged into a single <PRE>
|
||||||
|
block.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2363">#2363</a>] There
|
||||||
|
were some sporadic "Permission Denied" errors with IE on some situations.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2135">#2135</a>] Fixed
|
||||||
|
a data loss bug in IE when there are @import statements in the editor's CSS files,
|
||||||
|
and IE's cache is set to "Check for newer versions on every visit".</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2376">#2376</a>] FCK.InsertHtml()
|
||||||
|
will now insert to the last selected position after the user has selected things
|
||||||
|
outside of FCKeditor, in IE.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2368">#2368</a>] Fixed
|
||||||
|
broken protect source logic for comments in IE.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2387">#2387</a>] Fixed
|
||||||
|
JavaScript error with list commands when the editable document is selected with
|
||||||
|
Ctrl-A.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2390">#2390</a>] Fixed
|
||||||
|
the issue where indent styles in JavaScript-generated <p> blocks are erased
|
||||||
|
in IE.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2394">#2394</a>] Fixed
|
||||||
|
JavaScript error with the "split vertically" command in IE when attempting to split
|
||||||
|
cells in the last row of a table.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2316">#2316</a>] The sample
|
||||||
|
posted data page has now the table fixed at 100% width. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2396">#2396</a>] SpellerPages
|
||||||
|
was causing a "Permission Denied" error in some situations. </li>
|
||||||
|
</ul>
|
||||||
|
<h3>
|
||||||
|
Version 2.6.2</h3>
|
||||||
|
<p>
|
||||||
|
New Features and Improvements:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2043">#2043</a>] The debug
|
||||||
|
script is not any more part of the compressed files. If FCKeditor native debugging
|
||||||
|
features (FCKDebug) are required, the _source folder must be present in your installation.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Fixed Bugs:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2248">#2248</a>] Calling
|
||||||
|
FCK.InsertHtml( 'nbsp;') was inserting a plain space instead of a non breaking space
|
||||||
|
character.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2273">#2273</a>] The dragresizetable
|
||||||
|
plugin now works in Firefox 3 as well.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2254">#2254</a>] Minor
|
||||||
|
fix in FCKSelection for nodeTagName object.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1614">#1614</a>] Unified
|
||||||
|
FCKConfig.FullBasePath with FCKConfig.BasePath.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2127">#2127</a>] Changed
|
||||||
|
floating dialogs to use fixed positioning so that they are no longer affected by
|
||||||
|
scrolling.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2018">#2018</a>] Reversed
|
||||||
|
the fix for <a target="_blank" href="http://dev.fckeditor.net/ticket/183">#183</a>
|
||||||
|
which broke FCKeditorAPI's cleanup logic. A new configuration directive <strong>MsWebBrowserControlCompat</strong>
|
||||||
|
has been added for those who wish to force the #183 fix to be enabled.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2276">#2276</a>] [<a
|
||||||
|
target="_blank" href="http://dev.fckeditor.net/ticket/2279">#2279</a>] On Opera
|
||||||
|
and Firefox 3, the entire page was scrolling on ENTER.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2149">#2149</a>] CSS urls
|
||||||
|
with querystring parameters were not being accepted for CSS values in the configuration
|
||||||
|
file (like EditorAreaCSS).</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2287">#2287</a>] On some
|
||||||
|
specific cases, with Firefox 2, some extra spacing was appearing in the final HTML
|
||||||
|
on posting, if inserting two successive tables.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2287">#2287</a>] Block
|
||||||
|
elements (like tables or horizontal rules) will be inserted correctly now when the
|
||||||
|
cursor is at the start or the end of blocks. No extra paragraphs will be included
|
||||||
|
in this operation.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2149">#2197</a>] The TAB
|
||||||
|
key will now have the default browser behavior if TabSpaces=0. It will move the
|
||||||
|
focus out of the editor (expect on Safari).</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2296">#2296</a>] Fixed
|
||||||
|
permission denied error on clicking on files in the file browser.</li>
|
||||||
|
</ul>
|
||||||
|
<h3>
|
||||||
|
Version 2.6.1</h3>
|
||||||
|
<p>
|
||||||
|
New Features and Improvements:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2150">#2150</a>] The searching
|
||||||
|
speed of the Find/Replace dialog has been vastly improved.</li>
|
||||||
|
<li>New language file for <strong>Gujarati</strong> (by Nilam Doctor).</li>
|
||||||
|
<li>A new TabIndex property has been added to the JavaScript integration files.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2215">#2215</a>] Following
|
||||||
|
the above new feature, the ReplaceTextarea method will now copy the textarea.tabIndex
|
||||||
|
value if available.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2163">#2163</a>] If the
|
||||||
|
FCKConfig.DocType setting points to a HTML DocType then the output won't generate
|
||||||
|
self-closing tags (it will output <img > instead of <img />).</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2173">#2173</a>] A throbber
|
||||||
|
will be shown in the Quick Uploads.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2142">#2142</a>] HTML
|
||||||
|
samples will now use sampleposteddata.php in action parameter inside a form.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Fixed Bugs:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/768">#768</a>] It is no
|
||||||
|
longer possible for an image to have its width and height defined with both HTML
|
||||||
|
attributes and inline CSS styles in IE.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1426">#1426</a>] Fixed
|
||||||
|
the error loading fckstyles.xml in servers which cannot return the correct content
|
||||||
|
type header for .xml files.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2102">#2102</a>] Fixed
|
||||||
|
FCKConfig.DocType which stopped working in FCKeditor 2.6.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2039">#2039</a>] Fixed
|
||||||
|
the locking up issue in the Find/Replace dialog.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2124">#2124</a>] PHP File
|
||||||
|
Browser: fixed issue with resolving paths on Windows servers with PHP 5.2.4/5.2.5.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2059">#2059</a>] Fixed
|
||||||
|
the error in the toolbar name in fckeditor.py.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2065">#2065</a>] Floating
|
||||||
|
dialogs will now block the user from re-selecting the editing area by pressing Tab.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2114">#2114</a>] Added
|
||||||
|
a workaround for an IE6 bug which causes floating dialogs to appear blank after
|
||||||
|
opening it for the first time.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2136">#2136</a>] Fixed
|
||||||
|
JavaScript error in IE when opening the bullet list properties dialog.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1633">#1633</a>] External
|
||||||
|
styles should no longer interfere with the appearance of the editor and floating
|
||||||
|
panels now.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2113">#2113</a>] Fixed
|
||||||
|
unneeded <span class="Apple-style-span"> created after inserting
|
||||||
|
special characters.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2170">#2170</a>] Fixed
|
||||||
|
Ctrl-Insert hotkey for copying.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2125">#2125</a>] Fixed
|
||||||
|
the issue that FCK.InsertHtml() doesn't insert contents at the caret position when
|
||||||
|
dialogs are opened in IE. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1764">#1764</a>] FCKeditor
|
||||||
|
will no longer catch focus in IE on load when StartupFocus is false and the initial
|
||||||
|
content is empty.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2126">#2126</a>] Opening
|
||||||
|
and closing floating dialogs will no longer cause toolbar button states to become
|
||||||
|
frozen.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2159">#2159</a>] Selection
|
||||||
|
are now correctly restored when undoing changes made by the Replace dialog.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2160">#2160</a>] "Match
|
||||||
|
whole word" in the Find and Replace dialog will now find words next to punctuation
|
||||||
|
marks as well.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2162">#2162</a>] If the
|
||||||
|
configuration is set to work including the <head> (FullPage), references to
|
||||||
|
stylesheets added by Firefox extensions won't be added to the output.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2168">#2168</a>] Comments
|
||||||
|
won't generate new paragraphs in the output.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2184">#2184</a>] Fixed
|
||||||
|
several validation errors in the File Browser.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1383">#1383</a>] Fixed
|
||||||
|
an IE issue where pressing backspace may merge a hyperlink on the previous line
|
||||||
|
with the text on the current line.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1691">#1691</a>] Creation
|
||||||
|
of links in Safari failed if there was no selection.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2188">#2188</a>] PreserveSessionOnFileBrowser
|
||||||
|
is now removed as it was made obsolete with 2.6.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/898">#898</a>] The styles
|
||||||
|
for the editing area are applied in the image preview dialog.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2056">#2056</a>] Fixed
|
||||||
|
several validation errors in the dialogs.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2063">#2063</a>] Fixed
|
||||||
|
some problems in asp related to the use of network paths for the location of the
|
||||||
|
uploaded files.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1593">#1593</a>] The "Sample
|
||||||
|
Posted Data" page will now properly wrap the text.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2239">#2239</a>] The PHP
|
||||||
|
code in sampleposteddata.php has been changed from "<?=" to "<? echo".</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2241">#2241</a>] Fixed
|
||||||
|
404 error in floating panels when FCKeditor is installed to a different domain.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2066">#2066</a>] Added
|
||||||
|
a workaround for a Mac Safari 3.1 browser bug which caused the Fit Window button
|
||||||
|
to give a blank screen.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2218">#2218</a>] Improved
|
||||||
|
Gecko based browser detection to accept Epiphany/Gecko as well.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2193">#2193</a>] Fixed
|
||||||
|
the issue where the caret cannot reach the last character of a paragraph in Opera
|
||||||
|
9.50.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2264">#2264</a>] Fixed
|
||||||
|
empty spaces that appear at the top of the editor in Opera 9.50.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2238">#2238</a>] The <object>
|
||||||
|
placeholder was not being properly displayed in the compressed distribution version
|
||||||
|
and nightly builds.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2115">#2115</a>] Fixed
|
||||||
|
JavaScript (permission denied) error in Firefox when file has been uploaded.</li>
|
||||||
|
</ul>
|
||||||
|
<h3>
|
||||||
|
Version 2.6</h3>
|
||||||
|
<p>
|
||||||
|
No changes. The stabilization of the 2.6 RC was completed successfully, as expected.</p>
|
||||||
|
<h3>
|
||||||
|
Version 2.6 RC</h3>
|
||||||
|
<p>
|
||||||
|
New Features and Improvements:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2017">#2017</a>] The FCKeditorAPI.Instances
|
||||||
|
object can now be used to access all FCKeditor instances available in the page.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1980">#1980</a>] <span
|
||||||
|
style="color: #ff0000">Attention:</span> By default, the editor now produces <strong>
|
||||||
|
and <em> instead of <b> and <i>.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Fixed Bugs:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1924">#1924</a>] The dialog
|
||||||
|
close button is now correctly positioned in IE in RTL languages.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1933">#1933</a>] Placeholder
|
||||||
|
dialog will now display the placeholder value correctly in IE.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/957">#957</a>] Pressing
|
||||||
|
Enter or typing after a placeholder with the placeholder plugin will no longer generate
|
||||||
|
colored text.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1952">#1952</a>] Fixed
|
||||||
|
an issue in FCKTools.FixCssUrls that, other than wrong, was breaking Opera.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1695">#1695</a>] Removed
|
||||||
|
Ctrl-Tab hotkey for Source mode and allowed Ctrl-T to work in Firefox.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1666">#1666</a>] Fixed
|
||||||
|
permission denied errors during opening popup menus in IE6 under domain relaxation
|
||||||
|
mode.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1934">#1934</a>] Fixed
|
||||||
|
JavaScript errors when calling Selection.EnsureSelection() in dialogs.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1920">#1920</a>] Fixed
|
||||||
|
SSL warning message when opening image and flash dialogs under HTTPS in IE6.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1955">#1955</a>] [<a
|
||||||
|
target="_blank" href="http://dev.fckeditor.net/ticket/1981">#1981</a>] [<a target="_blank"
|
||||||
|
href="http://dev.fckeditor.net/ticket/1985">#1985</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1989">#1989</a>]
|
||||||
|
Fixed XHTML source formatting errors in non-IE browsers.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2000">#2000</a>] The #
|
||||||
|
character is now properly encoded in file names returned by the File Browser.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1945">#1945</a>] New folders
|
||||||
|
and file names are now properly sanitized against control characters. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1944">#1944</a>] Backslash
|
||||||
|
character is now disallowed in current folder path.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1055">#1055</a>] Added
|
||||||
|
logic to override JavaScript errors occurring inside the editing frame due to user
|
||||||
|
added JavaScript code.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1647">#1647</a>] Hitting
|
||||||
|
ENTER on list items containing block elements will now create new list item elements,
|
||||||
|
instead of adding further blocks to the same list item.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1411">#1411</a>] Label
|
||||||
|
only combos now get properly grayed out when moving to source view.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2009">#2009</a>] Fixed
|
||||||
|
an important bug regarding styles removal on styled text boundaries, introduced
|
||||||
|
with the 2.6 Beta 1. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2011">#2011</a>] Internal
|
||||||
|
CSS <style> tags where being outputted when FullPage=true.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2016">#2016</a>] The Link
|
||||||
|
dialog now properly selects the first field when opening it to modify mailto or
|
||||||
|
anchor links. This problem was also throwing an error in IE.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2021">#2021</a>] The caret
|
||||||
|
will no longer remain behind in the editing area when the placeholder dialog is
|
||||||
|
opened.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2024">#2024</a>] Fixed
|
||||||
|
JavaScript error in IE when the user tries to open dialogs in Source mode.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1853">#1853</a>] Setting
|
||||||
|
ShiftEnterMode to p or div now works correctly when EnterMode is br.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1838">#1838</a>] Fixed
|
||||||
|
the issue where context menus sometimes don't disappear after selecting an option.
|
||||||
|
</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2028">#2028</a>] Fixed
|
||||||
|
JavaScript error when EnterMode=br and user tries to insert a page break.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2002">#2002</a>] Fixed
|
||||||
|
the issue where the maximize editor button does not vertically expand the editing
|
||||||
|
area in Firefox.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1842">#1842</a>] PHP integration:
|
||||||
|
fixed filename encoding problems in file browser.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1832">#1832</a>] Calling
|
||||||
|
FCK.InsertHtml() in non-IE browsers would now activate the document processor as
|
||||||
|
expected.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1998">#1998</a>] The native
|
||||||
|
XMLHttpRequest class is now used in IE, whenever it is available.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1792">#1792</a>] In IE,
|
||||||
|
the browser was able to enter in an infinite loop when working with multiple editors
|
||||||
|
in the same page. </li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1948">#1948</a>] Some
|
||||||
|
CSS rules are reset to dialog elements to avoid conflict with the page CSS.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1965">#1965</a>] IE was
|
||||||
|
having problems with SpellerPages, causing some errors to be thrown when completing
|
||||||
|
the spell checking in some situations.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2042">#2042</a>] The FitWindow
|
||||||
|
command was throwing an error if executed in an editor where its relative button
|
||||||
|
is not present in the toolbar.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/922">#922</a>] Implemented
|
||||||
|
a generic document processor for <OBJECT> and <EMBED> tags.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1831">#1831</a>] Fixed
|
||||||
|
the issue where the placeholder icon for <EMBED> tags does not always show
|
||||||
|
up in IE7.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2049">#2049</a>] Fixed
|
||||||
|
a deleted cursor CSS attribute in the minified CSS inside fck_dialog_common.js.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1806">#1806</a>] In IE,
|
||||||
|
the caret will not any more move to the previous line when selecting a Format style
|
||||||
|
inside an empty paragraph.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1990">#1990</a>] In IE,
|
||||||
|
dialogs using API calls which deals with the selection, like InsertHtml now can
|
||||||
|
be sure the selection will be placed in the correct position.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1997">#1997</a>] With
|
||||||
|
IE, the first character of table captions where being lost on table creation.</li>
|
||||||
|
<li>The selection and cursor position was not being properly handled when creating some
|
||||||
|
elements like forms and tables.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/662">#662</a>] In the
|
||||||
|
Perl sample files, the GetServerPath function will now calculate the path properly.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2208">#2208</a>] Added
|
||||||
|
missing translations in Italian language file.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2096">#2096</a>] Added
|
||||||
|
the codepage to basexml file. Filenames with special chars should now display properly.</li>
|
||||||
|
</ul>
|
||||||
|
<h3>
|
||||||
|
Version 2.6 Beta 1</h3>
|
||||||
|
<p>
|
||||||
|
New Features and Improvements:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/35">#35</a>] <strong>New
|
||||||
|
(and cool!) floating dialog system</strong>, avoiding problems with popup blockers
|
||||||
|
and enhancing the editor usability.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1886">#1886</a>] <strong>
|
||||||
|
Adobe AIR</strong> compatibility.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/123">#123</a>] Full support
|
||||||
|
for <strong>document.domain</strong> with automatic domain detection.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1622">#1622</a>] New <strong>
|
||||||
|
inline CSS cache</strong> feature, making it possible to avoid downloading the CSS
|
||||||
|
files for the editing area and skins. For that, it is enough to set the EditorAreaCSS,
|
||||||
|
SkinEditorCSS and SkinDialogCSS to string values in the format "/absolute/path/for/urls/|<minified
|
||||||
|
CSS styles". All internal CSS links are already using this feature. </li>
|
||||||
|
<li>New language file for <strong>Canadian French</strong>.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Fixed Bugs:</p>
|
||||||
|
<ul>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1643">#1643</a>] Resolved
|
||||||
|
several "strict warning" messages in Firefox when running FCKeditor.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1522">#1522</a>] The ENTER
|
||||||
|
key will now work properly in IE with the cursor at the start of a formatted block.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1503">#1503</a>] It's
|
||||||
|
possible to define in the Styles that a Style (with an empty class) must be shown
|
||||||
|
selected only when no class is present in the current element, and selecting that
|
||||||
|
item will clear the current class (it does apply to any attribute, not only classes).</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/191">#191</a>] The scrollbars
|
||||||
|
are now being properly shown in Firefox Mac when placing FCKeditor inside a hidden
|
||||||
|
div.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/503">#503</a>] Orphaned
|
||||||
|
<li> elements now get properly enclosed in a <ul> on output.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/309">#309</a>] The ENTER
|
||||||
|
key will not any more break <button> elements at the beginning of paragraphs.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1654">#1654</a>] The editor
|
||||||
|
was not loading on a specific unknown situation. The breaking point has been removed.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1707">#1707</a>] The editor
|
||||||
|
no longer hangs when operating on documents imported from Microsoft Word.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1514">#1514</a>] Floating
|
||||||
|
panels attached to a shared toolbar among multiple FCKeditor instances are no longer
|
||||||
|
misplaced when the editing areas are absolutely or relatively positioned.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1715">#1715</a>] The ShowDropDialog
|
||||||
|
is now enforced only when ForcePasteAsPlainText = true.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1336">#1336</a>] Sometimes
|
||||||
|
the autogrow plugin didn't work properly in Firefox.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1728">#1728</a>] External
|
||||||
|
toolbars are now properly sized in Opera.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1782">#1782</a>] Clicking
|
||||||
|
on radio buttons or checkboxes in the editor in IE will no longer cause lockups
|
||||||
|
in IE.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/805">#805</a>] The FCKConfig.Keystrokes
|
||||||
|
commands where executed even if the command itself was disabled.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/982">#982</a>] The button
|
||||||
|
to empty the box in the "Paste from Word" has been removed as it leads to confusion
|
||||||
|
for some users.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1682">#1682</a>] Editing
|
||||||
|
control elements in Firefox, Opera and Safari now works properly.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1613">#1613</a>] The editor
|
||||||
|
was surrounded by a <div> element that wasn't really needed.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/676">#676</a>] If a form
|
||||||
|
control was moved in IE after creating it, then it did lose its name.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/738">#738</a>] It wasn't
|
||||||
|
possible to change the type of an existing button.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1854">#1854</a>] Indentation
|
||||||
|
now works inside table cells.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1717">#1717</a>] The editor
|
||||||
|
was entering on looping on some specific cases when dealing with invalid source
|
||||||
|
markup.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1530">#1530</a>] Pasting
|
||||||
|
text into the "Find what" fields in the Find and Replace dialog would now activate
|
||||||
|
the find and replace buttons.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1828">#1828</a>] The Find/Replace
|
||||||
|
dialog will no longer display wrong starting positions for the match when there
|
||||||
|
are multiple and identical characters preceding the character at the real starting
|
||||||
|
point of the match.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1878">#1878</a>] Fixed
|
||||||
|
a JavaScript error which occurs in the Find/Replace dialog when the user presses
|
||||||
|
"Find" or "Replace" after the "No match found" message has appeared.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1355">#1355</a>] Line
|
||||||
|
breaks and spaces are now conserved when converting to and from the "Formatted"
|
||||||
|
format.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1670">#1670</a>] Improved
|
||||||
|
the background color behind smiley icons and special characters in their corresponding
|
||||||
|
dialogs.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1693">#1693</a>] Custom
|
||||||
|
error messages are now properly displayed in the file browser.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/970">#970</a>] The text
|
||||||
|
and value fields in the selection box dialog will no longer extend beyond the dialog
|
||||||
|
limits when the user inputs a very long text or value for one of the selection options.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/479">#479</a>] Fixed the
|
||||||
|
issue where pressing Enter in an <o:p> tag in IE does not generate line breaks.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/481">#481</a>] Fixed the
|
||||||
|
issue where the image preview in image dialog sometimes doesn't display after selecting
|
||||||
|
the image from server browser.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1488">#1488</a>] PHP integration:
|
||||||
|
the FCKeditor class is now more PHP5/6 friendly ("public" keyword is used instead
|
||||||
|
of depreciated "var").</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1815">#1815</a>] PHP integration:
|
||||||
|
removed closing tag: "?>", so no additional whitespace added when files are included.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1906">#1906</a>] PHP file
|
||||||
|
browser: fixed problems with DetectHtml() function when open_basedir was set.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1871">#1871</a>] PHP file
|
||||||
|
browser: permissions applied with the chmod command are now configurable.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1872">#1872</a>] Perl
|
||||||
|
file browser: permissions applied with the chmod command are now configurable.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1873">#1873</a>] Python
|
||||||
|
file browser: permissions applied with the chmod command are now configurable.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1572">#1572</a>] ColdFusion
|
||||||
|
integration: fixed issues with setting the editor height.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1692">#1692</a>] ColdFusion
|
||||||
|
file browser: it is possible now to define TempDirectory to avoid issues with GetTempdirectory()
|
||||||
|
returning an empty string.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1379">#1379</a>] ColdFusion
|
||||||
|
file browser: resolved issues with OnRequestEnd.cfm breaking the file browser.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1509">#1509</a>] InsertHtml()
|
||||||
|
in IE will no longer turn the preceding normal whitespace into &nbsp;.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/958">#958</a>] The AddItem
|
||||||
|
method now has an additional fifth parameter "customData" that will be sent to the
|
||||||
|
Execute method of the command for that menu item, allowing a single command to be
|
||||||
|
used for different menu items..</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1502">#1502</a>] The RemoveFormat
|
||||||
|
command now also removes the attributes from the cleaned text. The list of attributes
|
||||||
|
is configurable with FCKConfig.RemoveAttributes.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1596">#1596</a>] On Safari,
|
||||||
|
dialogs have now right-to-left layout when it runs a RTL language, like Arabic.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1344">#1344</a>] Added
|
||||||
|
warning message on Copy and Cut operation failure on IE due to paste permission
|
||||||
|
settings.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1868">#1868</a>] Links
|
||||||
|
to file browser has been changed to avoid requests containing double dots.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1229">#1229</a>] Converting
|
||||||
|
multiple contiguous paragraphs to Formatted will now be merged into a single <PRE>
|
||||||
|
block.</li>
|
||||||
|
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1627">#1627</a>] Samples
|
||||||
|
failed to load from local filesystem in IE7.</li>
|
||||||
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
Version 2.5.1</h3>
|
Version 2.5.1</h3>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -26,9 +26,9 @@
|
|||||||
* file.
|
* file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/**
|
||||||
The "body" styles should match your editor web site, mainly regarding
|
* The "body" styles should match your editor web site, mainly regarding
|
||||||
background color and font family and size.
|
* background color and font family and size.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
body
|
body
|
||||||
@@ -50,9 +50,9 @@ a[href]
|
|||||||
text-decoration: -moz-anchor-decoration; /* For Firefox 3, otherwise no underline will be used */
|
text-decoration: -moz-anchor-decoration; /* For Firefox 3, otherwise no underline will be used */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
Just uncomment the following block if you want to avoid spaces between
|
* Just uncomment the following block if you want to avoid spaces between
|
||||||
paragraphs. Remember to apply the same style in your output front end page.
|
* paragraphs. Remember to apply the same style in your output front end page.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -63,10 +63,28 @@ p, ul, li
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Uncomment the following block, or only selected lines if appropriate,
|
||||||
|
* if you have some style items that would break the styles combo box.
|
||||||
|
* You can also write other CSS overrides inside the style block below
|
||||||
|
* as needed and they will be applied to inside the style combo only.
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The following are some sample styles used in the "Styles" toolbar command.
|
.SC_Item *, .SC_ItemSelected *
|
||||||
You should instead remove them, and include the styles used by the site
|
{
|
||||||
you are using the editor in.
|
margin: 0px !important;
|
||||||
|
padding: 0px !important;
|
||||||
|
text-indent: 0px !important;
|
||||||
|
clip: auto !important;
|
||||||
|
position: static !important;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The following are some sample styles used in the "Styles" toolbar command.
|
||||||
|
* You should instead remove them, and include the styles used by the site
|
||||||
|
* you are using the editor in.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.Bold
|
.Bold
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
// Attention: FCKConfig must be available in the page.
|
// Attention: FCKConfig must be available in the page.
|
||||||
function GetCommonDialogCss( prefix )
|
function GetCommonDialogCss( prefix )
|
||||||
{
|
{
|
||||||
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
|
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).
|
||||||
return FCKConfig.BasePath + 'dialog/common/' + '|.ImagePreviewArea{border:#000 1px solid;overflow:auto;width:100%;height:170px;background-color:#fff}.FlashPreviewArea{border:#000 1px solid;padding:5px;overflow:auto;width:100%;height:170px;background-color:#fff}.BtnReset{float:left;background-position:center center;background-image:url(images/reset.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.BtnLocked,.BtnUnlocked{float:left;background-position:center center;background-image:url(images/locked.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.BtnUnlocked{background-image:url(images/unlocked.gif)}.BtnOver{border:outset 1px;cursor:pointer;cursor:hand}' ;
|
return FCKConfig.BasePath + 'dialog/common/' + '|.ImagePreviewArea{border:#000 1px solid;overflow:auto;width:100%;height:170px;background-color:#fff}.FlashPreviewArea{border:#000 1px solid;padding:5px;overflow:auto;width:100%;height:170px;background-color:#fff}.BtnReset{float:left;background-position:center center;background-image:url(images/reset.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.BtnLocked,.BtnUnlocked{float:left;background-position:center center;background-image:url(images/locked.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.BtnUnlocked{background-image:url(images/unlocked.gif)}.BtnOver{border:outset 1px;cursor:pointer;cursor:hand}' ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,33 +187,6 @@ function OpenFileBrowser( url, width, height )
|
|||||||
sOptions += ",left=" + iLeft ;
|
sOptions += ",left=" + iLeft ;
|
||||||
sOptions += ",top=" + iTop ;
|
sOptions += ",top=" + iTop ;
|
||||||
|
|
||||||
// The "PreserveSessionOnFileBrowser" because the above code could be
|
|
||||||
// blocked by popup blockers.
|
|
||||||
if ( oEditor.FCKConfig.PreserveSessionOnFileBrowser && oEditor.FCKBrowserInfo.IsIE )
|
|
||||||
{
|
|
||||||
// The following change has been made otherwise IE will open the file
|
|
||||||
// browser on a different server session (on some cases):
|
|
||||||
// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
|
|
||||||
// by Simone Chiaretta.
|
|
||||||
var oWindow = oEditor.window.open( url, 'FCKBrowseWindow', sOptions ) ;
|
|
||||||
|
|
||||||
if ( oWindow )
|
|
||||||
{
|
|
||||||
// Detect Yahoo popup blocker.
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var sTest = oWindow.name ; // Yahoo returns "something", but we can't access it, so detect that and avoid strange errors for the user.
|
|
||||||
oWindow.opener = window ;
|
|
||||||
}
|
|
||||||
catch(e)
|
|
||||||
{
|
|
||||||
alert( oEditor.FCKLang.BrowseServerBlocked ) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
alert( oEditor.FCKLang.BrowseServerBlocked ) ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
window.open( url, 'FCKBrowseWindow', sOptions ) ;
|
window.open( url, 'FCKBrowseWindow', sOptions ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,5 +307,41 @@ function CopyAttributes( oSource, oDest, oSkipAttributes )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// The style:
|
// The style:
|
||||||
|
if ( oSource.style.cssText !== '' )
|
||||||
oDest.style.cssText = oSource.style.cssText ;
|
oDest.style.cssText = oSource.style.cssText ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces a tag with another one, keeping its contents:
|
||||||
|
* for example TD --> TH, and TH --> TD.
|
||||||
|
* input: the original node, and the new tag name
|
||||||
|
* http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode
|
||||||
|
*/
|
||||||
|
function RenameNode( oNode , newTag )
|
||||||
|
{
|
||||||
|
// TODO: if the browser natively supports document.renameNode call it.
|
||||||
|
// does any browser currently support it in order to test?
|
||||||
|
|
||||||
|
// Only rename element nodes.
|
||||||
|
if ( oNode.nodeType != 1 )
|
||||||
|
return null ;
|
||||||
|
|
||||||
|
// If it's already correct exit here.
|
||||||
|
if ( oNode.nodeName == newTag )
|
||||||
|
return oNode ;
|
||||||
|
|
||||||
|
var oDoc = oNode.ownerDocument ;
|
||||||
|
// Create the new node
|
||||||
|
var newNode = oDoc.createElement( newTag ) ;
|
||||||
|
|
||||||
|
// Copy all attributes
|
||||||
|
CopyAttributes( oNode, newNode, {} ) ;
|
||||||
|
|
||||||
|
// Move children to the new node
|
||||||
|
FCKDomTools.MoveChildren( oNode, newNode ) ;
|
||||||
|
|
||||||
|
// Finally replace the node and return the new one
|
||||||
|
oNode.parentNode.replaceChild( newNode, oNode ) ;
|
||||||
|
|
||||||
|
return newNode ;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -78,8 +78,8 @@ window.onload = function()
|
|||||||
border-left: #000000 1px solid; border-bottom: #000000 1px solid">
|
border-left: #000000 1px solid; border-bottom: #000000 1px solid">
|
||||||
<span fcklang="DlgAboutVersion">version</span>
|
<span fcklang="DlgAboutVersion">version</span>
|
||||||
<br />
|
<br />
|
||||||
<b>2.6</b><br />
|
<b>2.6.4</b><br />
|
||||||
Build 18638</td>
|
Build 21629</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
@@ -105,7 +105,7 @@ window.onload = function()
|
|||||||
<span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"
|
<span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"
|
||||||
target="_blank">http://www.fckeditor.net/</a>.
|
target="_blank">http://www.fckeditor.net/</a>.
|
||||||
<br />
|
<br />
|
||||||
Copyright © 2003-2008 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>
|
Copyright © 2003-2009 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>
|
||||||
</td>
|
</td>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="http://www.fckeditor.net/sponsors/apply" target="_blank">Become a Sponsor</a>
|
<a href="http://www.fckeditor.net/sponsors/apply" target="_blank">Become a Sponsor</a>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -119,10 +119,7 @@ function Ok()
|
|||||||
var aNewAnchors = oEditor.FCK.CreateLink( '#' ) ;
|
var aNewAnchors = oEditor.FCK.CreateLink( '#' ) ;
|
||||||
|
|
||||||
if ( aNewAnchors.length == 0 )
|
if ( aNewAnchors.length == 0 )
|
||||||
{
|
|
||||||
// Nothing was selected, so now just create a normal A
|
|
||||||
aNewAnchors.push( oEditor.FCK.InsertElement( 'a' ) ) ;
|
aNewAnchors.push( oEditor.FCK.InsertElement( 'a' ) ) ;
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Remove the fake href
|
// Remove the fake href
|
||||||
@@ -136,6 +133,17 @@ function Ok()
|
|||||||
oAnchor = aNewAnchors[i] ;
|
oAnchor = aNewAnchors[i] ;
|
||||||
|
|
||||||
// Set the name
|
// Set the name
|
||||||
|
if ( FCKBrowserInfo.IsIE )
|
||||||
|
{
|
||||||
|
// Setting anchor names directly in IE will trash the HTML code stored
|
||||||
|
// in FCKTempBin after undos. See #2263.
|
||||||
|
var replaceAnchor = oEditor.FCK.EditorDocument.createElement( '<a name="' +
|
||||||
|
FCKTools.HTMLEncode( sNewName ).replace( '"', '"' ) + '">' ) ;
|
||||||
|
oEditor.FCKDomTools.MoveChildren( oAnchor, replaceAnchor ) ;
|
||||||
|
oAnchor.parentNode.replaceChild( replaceAnchor, oAnchor ) ;
|
||||||
|
oAnchor = replaceAnchor ;
|
||||||
|
}
|
||||||
|
else
|
||||||
oAnchor.name = sNewName ;
|
oAnchor.name = sNewName ;
|
||||||
|
|
||||||
// IE does require special processing to show the Anchor's image
|
// IE does require special processing to show the Anchor's image
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
396
htdocs/includes/fckeditor/editor/dialog/fck_div.html
Normal file
396
htdocs/includes/fckeditor/editor/dialog/fck_div.html
Normal file
@@ -0,0 +1,396 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
|
<!--
|
||||||
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
|
*
|
||||||
|
* == BEGIN LICENSE ==
|
||||||
|
*
|
||||||
|
* Licensed under the terms of any of the following licenses at your
|
||||||
|
* choice:
|
||||||
|
*
|
||||||
|
* - GNU General Public License Version 2 or later (the "GPL")
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
*
|
||||||
|
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
||||||
|
* http://www.gnu.org/licenses/lgpl.html
|
||||||
|
*
|
||||||
|
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
||||||
|
* http://www.mozilla.org/MPL/MPL-1.1.html
|
||||||
|
*
|
||||||
|
* == END LICENSE ==
|
||||||
|
*
|
||||||
|
* Form dialog window.
|
||||||
|
-->
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<title></title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<meta content="noindex, nofollow" name="robots" />
|
||||||
|
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var dialog = window.parent ;
|
||||||
|
var oEditor = dialog.InnerDialogLoaded() ;
|
||||||
|
var FCK = oEditor.FCK ;
|
||||||
|
var FCKLang = oEditor.FCKLang ;
|
||||||
|
var FCKBrowserInfo = oEditor.FCKBrowserInfo ;
|
||||||
|
var FCKStyles = oEditor.FCKStyles ;
|
||||||
|
var FCKElementPath = oEditor.FCKElementPath ;
|
||||||
|
var FCKDomRange = oEditor.FCKDomRange ;
|
||||||
|
var FCKDomTools = oEditor.FCKDomTools ;
|
||||||
|
var FCKDomRangeIterator = oEditor.FCKDomRangeIterator ;
|
||||||
|
var FCKListsLib = oEditor.FCKListsLib ;
|
||||||
|
var AlwaysCreate = dialog.Args().CustomValue ;
|
||||||
|
|
||||||
|
String.prototype.IEquals = function()
|
||||||
|
{
|
||||||
|
var thisUpper = this.toUpperCase() ;
|
||||||
|
|
||||||
|
var aArgs = arguments ;
|
||||||
|
|
||||||
|
// The arguments could also be a single array.
|
||||||
|
if ( aArgs.length == 1 && aArgs[0].pop )
|
||||||
|
aArgs = aArgs[0] ;
|
||||||
|
|
||||||
|
for ( var i = 0 ; i < aArgs.length ; i++ )
|
||||||
|
{
|
||||||
|
if ( thisUpper == aArgs[i].toUpperCase() )
|
||||||
|
return true ;
|
||||||
|
}
|
||||||
|
return false ;
|
||||||
|
}
|
||||||
|
|
||||||
|
var CurrentContainers = [] ;
|
||||||
|
if ( !AlwaysCreate )
|
||||||
|
{
|
||||||
|
dialog.Selection.EnsureSelection() ;
|
||||||
|
CurrentContainers = FCKDomTools.GetSelectedDivContainers() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add some tabs
|
||||||
|
dialog.AddTab( 'General', FCKLang.DlgDivGeneralTab );
|
||||||
|
dialog.AddTab( 'Advanced', FCKLang.DlgDivAdvancedTab ) ;
|
||||||
|
|
||||||
|
function AddStyleOption( styleName )
|
||||||
|
{
|
||||||
|
var el = GetE( 'selStyle' ) ;
|
||||||
|
var opt = document.createElement( 'option' ) ;
|
||||||
|
opt.text = opt.value = styleName ;
|
||||||
|
|
||||||
|
if ( FCKBrowserInfo.IsIE )
|
||||||
|
el.add( opt ) ;
|
||||||
|
else
|
||||||
|
el.add( opt, null ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
function OnDialogTabChange( tabCode )
|
||||||
|
{
|
||||||
|
ShowE( 'divGeneral', tabCode == 'General' ) ;
|
||||||
|
ShowE( 'divAdvanced', tabCode == 'Advanced' ) ;
|
||||||
|
dialog.SetAutoSize( true ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
function GetNearestAncestorDirection( node )
|
||||||
|
{
|
||||||
|
var dir = 'ltr' ; // HTML default.
|
||||||
|
while ( ( node = node.parentNode ) )
|
||||||
|
{
|
||||||
|
if ( node.dir )
|
||||||
|
dir = node.dir ;
|
||||||
|
}
|
||||||
|
return dir ;
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onload = function()
|
||||||
|
{
|
||||||
|
// First of all, translate the dialog box texts
|
||||||
|
oEditor.FCKLanguageManager.TranslatePage(document) ;
|
||||||
|
|
||||||
|
dialog.SetOkButton( true ) ;
|
||||||
|
dialog.SetAutoSize( true ) ;
|
||||||
|
|
||||||
|
// Popuplate the style menu
|
||||||
|
var styles = FCKStyles.GetStyles() ;
|
||||||
|
var selectableStyles = {} ;
|
||||||
|
for ( var i in styles )
|
||||||
|
{
|
||||||
|
if ( ! /^_FCK_/.test( i ) && styles[i].Element == 'div' )
|
||||||
|
selectableStyles[i] = styles[i] ;
|
||||||
|
}
|
||||||
|
if ( CurrentContainers.length <= 1 )
|
||||||
|
{
|
||||||
|
var target = CurrentContainers[0] ;
|
||||||
|
var match = null ;
|
||||||
|
for ( var i in selectableStyles )
|
||||||
|
{
|
||||||
|
if ( target && styles[i].CheckElementRemovable( target, true ) )
|
||||||
|
match = i ;
|
||||||
|
}
|
||||||
|
if ( !match )
|
||||||
|
AddStyleOption( "" ) ;
|
||||||
|
for ( var i in selectableStyles )
|
||||||
|
AddStyleOption( i ) ;
|
||||||
|
if ( match )
|
||||||
|
GetE( 'selStyle' ).value = match ;
|
||||||
|
|
||||||
|
// Set the value for other inputs
|
||||||
|
if ( target )
|
||||||
|
{
|
||||||
|
GetE( 'txtClass' ).value = target.className ;
|
||||||
|
GetE( 'txtId' ).value = target.id ;
|
||||||
|
GetE( 'txtLang' ).value = target.lang ;
|
||||||
|
GetE( 'txtInlineStyle').value = target.style.cssText ;
|
||||||
|
GetE( 'txtTitle' ).value = target.title ;
|
||||||
|
GetE( 'selLangDir').value = target.dir || GetNearestAncestorDirection( target ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GetE( 'txtId' ).disabled = true ;
|
||||||
|
AddStyleOption( "" ) ;
|
||||||
|
for ( var i in selectableStyles )
|
||||||
|
AddStyleOption( i ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function CreateDiv()
|
||||||
|
{
|
||||||
|
var newBlocks = [] ;
|
||||||
|
var range = new FCKDomRange( FCK.EditorWindow ) ;
|
||||||
|
range.MoveToSelection() ;
|
||||||
|
|
||||||
|
var bookmark = range.CreateBookmark() ;
|
||||||
|
|
||||||
|
// Kludge for #1592: if the bookmark nodes are in the beginning of
|
||||||
|
// $tagName, then move them to the nearest block element in the
|
||||||
|
// $tagName.
|
||||||
|
if ( FCKBrowserInfo.IsIE )
|
||||||
|
{
|
||||||
|
var bStart = range.GetBookmarkNode( bookmark, true ) ;
|
||||||
|
var bEnd = range.GetBookmarkNode( bookmark, false ) ;
|
||||||
|
|
||||||
|
var cursor ;
|
||||||
|
|
||||||
|
if ( bStart
|
||||||
|
&& bStart.parentNode.nodeName.IEquals( 'div' )
|
||||||
|
&& !bStart.previousSibling )
|
||||||
|
{
|
||||||
|
cursor = bStart ;
|
||||||
|
while ( ( cursor = cursor.nextSibling ) )
|
||||||
|
{
|
||||||
|
if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )
|
||||||
|
FCKDomTools.MoveNode( bStart, cursor, true ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( bEnd
|
||||||
|
&& bEnd.parentNode.nodeName.IEquals( 'div' )
|
||||||
|
&& !bEnd.previousSibling )
|
||||||
|
{
|
||||||
|
cursor = bEnd ;
|
||||||
|
while ( ( cursor = cursor.nextSibling ) )
|
||||||
|
{
|
||||||
|
if ( FCKListsLib.BlockElements[ cursor.nodeName.toLowerCase() ] )
|
||||||
|
{
|
||||||
|
if ( cursor.firstChild == bStart )
|
||||||
|
FCKDomTools.InsertAfterNode( bStart, bEnd ) ;
|
||||||
|
else
|
||||||
|
FCKDomTools.MoveNode( bEnd, cursor, true ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var iterator = new FCKDomRangeIterator( range ) ;
|
||||||
|
var block ;
|
||||||
|
|
||||||
|
var paragraphs = [] ;
|
||||||
|
while ( ( block = iterator.GetNextParagraph() ) )
|
||||||
|
paragraphs.push( block ) ;
|
||||||
|
|
||||||
|
// Make sure all paragraphs have the same parent.
|
||||||
|
var commonParent = paragraphs[0].parentNode ;
|
||||||
|
var tmp = [] ;
|
||||||
|
for ( var i = 0 ; i < paragraphs.length ; i++ )
|
||||||
|
{
|
||||||
|
block = paragraphs[i] ;
|
||||||
|
commonParent = FCKDomTools.GetCommonParents( block.parentNode, commonParent ).pop() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The common parent must not be the following tags: table, tbody, tr, ol, ul.
|
||||||
|
while ( commonParent.nodeName.IEquals( 'table', 'tbody', 'tr', 'ol', 'ul' ) )
|
||||||
|
commonParent = commonParent.parentNode ;
|
||||||
|
|
||||||
|
// Reconstruct the block list to be processed such that all resulting blocks
|
||||||
|
// satisfy parentNode == commonParent.
|
||||||
|
var lastBlock = null ;
|
||||||
|
while ( paragraphs.length > 0 )
|
||||||
|
{
|
||||||
|
block = paragraphs.shift() ;
|
||||||
|
while ( block.parentNode != commonParent )
|
||||||
|
block = block.parentNode ;
|
||||||
|
if ( block != lastBlock )
|
||||||
|
tmp.push( block ) ;
|
||||||
|
lastBlock = block ;
|
||||||
|
}
|
||||||
|
paragraphs = tmp ;
|
||||||
|
|
||||||
|
// Split the paragraphs into groups depending on their BlockLimit element.
|
||||||
|
var groups = [] ;
|
||||||
|
var lastBlockLimit = null ;
|
||||||
|
for ( var i = 0 ; i < paragraphs.length ; i++ )
|
||||||
|
{
|
||||||
|
block = paragraphs[i] ;
|
||||||
|
var elementPath = new FCKElementPath( block ) ;
|
||||||
|
if ( elementPath.BlockLimit != lastBlockLimit )
|
||||||
|
{
|
||||||
|
groups.push( [] ) ;
|
||||||
|
lastBlockLimit = elementPath.BlockLimit ;
|
||||||
|
}
|
||||||
|
groups[groups.length - 1].push( block ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a DIV container for each group.
|
||||||
|
for ( var i = 0 ; i < groups.length ; i++ )
|
||||||
|
{
|
||||||
|
var divNode = FCK.EditorDocument.createElement( 'div' ) ;
|
||||||
|
groups[i][0].parentNode.insertBefore( divNode, groups[i][0] ) ;
|
||||||
|
for ( var j = 0 ; j < groups[i].length ; j++ )
|
||||||
|
FCKDomTools.MoveNode( groups[i][j], divNode ) ;
|
||||||
|
newBlocks.push( divNode ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
range.MoveToBookmark( bookmark ) ;
|
||||||
|
range.Select() ;
|
||||||
|
|
||||||
|
FCK.Focus() ;
|
||||||
|
FCK.Events.FireEvent( 'OnSelectionChange' ) ;
|
||||||
|
|
||||||
|
return newBlocks ;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Ok()
|
||||||
|
{
|
||||||
|
oEditor.FCKUndo.SaveUndoStep() ;
|
||||||
|
|
||||||
|
if ( CurrentContainers.length < 1 )
|
||||||
|
CurrentContainers = CreateDiv();
|
||||||
|
|
||||||
|
var setValue = function( attrName, inputName )
|
||||||
|
{
|
||||||
|
var val = GetE( inputName ).value ;
|
||||||
|
for ( var i = 0 ; i < CurrentContainers.length ; i++ )
|
||||||
|
{
|
||||||
|
if ( val == '' )
|
||||||
|
CurrentContainers[i].removeAttribute( attrName ) ;
|
||||||
|
else
|
||||||
|
CurrentContainers[i].setAttribute( attrName, val ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apply modifications to the DIV container according to dialog inputs.
|
||||||
|
if ( CurrentContainers.length == 1 )
|
||||||
|
{
|
||||||
|
setValue( 'class', 'txtClass' ) ;
|
||||||
|
setValue( 'id', 'txtId' ) ;
|
||||||
|
}
|
||||||
|
setValue( 'lang', 'txtLang' ) ;
|
||||||
|
if ( FCKBrowserInfo.IsIE )
|
||||||
|
{
|
||||||
|
for ( var i = 0 ; i < CurrentContainers.length ; i++ )
|
||||||
|
CurrentContainers[i].style.cssText = GetE( 'txtInlineStyle' ).value ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
setValue( 'style', 'txtInlineStyle' ) ;
|
||||||
|
setValue( 'title', 'txtTitle' ) ;
|
||||||
|
for ( var i = 0 ; i < CurrentContainers.length ; i++ )
|
||||||
|
{
|
||||||
|
var dir = GetE( 'selLangDir' ).value ;
|
||||||
|
var styleName = GetE( 'selStyle' ).value ;
|
||||||
|
if ( GetNearestAncestorDirection( CurrentContainers[i] ) != dir )
|
||||||
|
CurrentContainers[i].dir = dir ;
|
||||||
|
else
|
||||||
|
CurrentContainers[i].removeAttribute( 'dir' ) ;
|
||||||
|
|
||||||
|
if ( styleName )
|
||||||
|
FCKStyles.GetStyle( styleName ).ApplyToObject( CurrentContainers[i] ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true ;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body style="overflow: hidden">
|
||||||
|
<div id="divGeneral">
|
||||||
|
<table cellspacing="0" cellpadding="0" width="100%" border="0">
|
||||||
|
<colgroup span="2">
|
||||||
|
<col width="49%" />
|
||||||
|
<col width="2%" />
|
||||||
|
<col width="49%" />
|
||||||
|
</colgroup>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<span fcklang="DlgDivStyle">Style</span><br />
|
||||||
|
<select id="selStyle" style="width: 100%;">
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
<td> </td>
|
||||||
|
<td>
|
||||||
|
<span fcklang="DlgGenClass">Stylesheet Classes</span><br />
|
||||||
|
<input id="txtClass" style="width: 100%" type="text" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div id="divAdvanced" style="display: none">
|
||||||
|
<table cellspacing="0" cellpadding="0" width="100%" border="0">
|
||||||
|
<colgroup span="2">
|
||||||
|
<col width="49%" />
|
||||||
|
<col width="2%" />
|
||||||
|
<col width="49%" />
|
||||||
|
</colgroup>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<span fcklang="DlgGenId">Id</span><br />
|
||||||
|
<input style="width: 100%" type="text" id="txtId" />
|
||||||
|
</td>
|
||||||
|
<td> </td>
|
||||||
|
<td>
|
||||||
|
<span fcklang="DlgGenLangCode">Language Code</span><br />
|
||||||
|
<input style="width: 100%" type="text" id="txtLang" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<span fcklang="DlgDivInlineStyle">Inline Style</span><br />
|
||||||
|
<input style="width: 100%" type="text" id="txtInlineStyle" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<span fcklang="DlgGenTitle">Advisory Title</span><br />
|
||||||
|
<input style="width: 100%" type="text" id="txtTitle" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<span fcklang="DlgGenLangDir">Language Direction</span><br />
|
||||||
|
<select id="selLangDir">
|
||||||
|
<option fcklang="DlgGenLangDirLtr" value="ltr">Left to Right (LTR)
|
||||||
|
<option fcklang="DlgGenLangDirRtl" value="rtl">Right to Left (RTL)
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -456,7 +456,7 @@ function SetUrl( url )
|
|||||||
<tr>
|
<tr>
|
||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgDocDocType">Document Type Heading</span><br />
|
<span fcklang="DlgDocDocType">Document Type Heading</span><br />
|
||||||
<select id="selDocType" name="selDocType" onchange="CheckOther( this, 'txtDocType' );">
|
<select id="selDocType" onchange="CheckOther( this, 'txtDocType' );">
|
||||||
<option value="" selected="selected"></option>
|
<option value="" selected="selected"></option>
|
||||||
<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'>HTML
|
<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'>HTML
|
||||||
4.01 Transitional</option>
|
4.01 Transitional</option>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -97,7 +97,7 @@ document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
|
|||||||
<br />
|
<br />
|
||||||
<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
|
<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
document.write( '<iframe name="UploadWindow" style="DISPLAY: none" src="' + FCKTools.GetVoidUrl() + '"></iframe>' ) ;
|
document.write( '<iframe name="UploadWindow" style="DISPLAY: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;
|
||||||
</script>
|
</script>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -236,6 +236,10 @@ function SetUrl( url, width, height )
|
|||||||
|
|
||||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||||
{
|
{
|
||||||
|
// Remove animation
|
||||||
|
window.parent.Throbber.Hide() ;
|
||||||
|
GetE( 'divUpload' ).style.display = '' ;
|
||||||
|
|
||||||
switch ( errorNumber )
|
switch ( errorNumber )
|
||||||
{
|
{
|
||||||
case 0 : // No errors
|
case 0 : // No errors
|
||||||
@@ -288,5 +292,9 @@ function CheckUpload()
|
|||||||
return false ;
|
return false ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Show animation
|
||||||
|
window.parent.Throbber.Show( 100 ) ;
|
||||||
|
GetE( 'divUpload' ).style.display = 'none' ;
|
||||||
|
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -165,7 +165,7 @@ document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
|
|||||||
<br />
|
<br />
|
||||||
<input id="btnUpload" type="submit" value="Send it to the Server" fcklang="DlgLnkBtnUpload" />
|
<input id="btnUpload" type="submit" value="Send it to the Server" fcklang="DlgLnkBtnUpload" />
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"></iframe>' ) ;
|
document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;
|
||||||
</script>
|
</script>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -447,6 +447,10 @@ function SetUrl( url, width, height, alt )
|
|||||||
|
|
||||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||||
{
|
{
|
||||||
|
// Remove animation
|
||||||
|
window.parent.Throbber.Hide() ;
|
||||||
|
GetE( 'divUpload' ).style.display = '' ;
|
||||||
|
|
||||||
switch ( errorNumber )
|
switch ( errorNumber )
|
||||||
{
|
{
|
||||||
case 0 : // No errors
|
case 0 : // No errors
|
||||||
@@ -500,5 +504,9 @@ function CheckUpload()
|
|||||||
return false ;
|
return false ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Show animation
|
||||||
|
window.parent.Throbber.Show( 100 ) ;
|
||||||
|
GetE( 'divUpload' ).style.display = 'none' ;
|
||||||
|
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -34,9 +34,9 @@
|
|||||||
var FCKTools = window.parent.FCKTools ;
|
var FCKTools = window.parent.FCKTools ;
|
||||||
var FCKConfig = window.parent.FCKConfig ;
|
var FCKConfig = window.parent.FCKConfig ;
|
||||||
|
|
||||||
// Sets the Skin CSS
|
// Set the preview CSS
|
||||||
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
|
document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaCSS ) ) ;
|
||||||
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;
|
document.write( FCKTools.GetStyleHtml( FCKConfig.EditorAreaStyles ) ) ;
|
||||||
|
|
||||||
if ( window.parent.FCKConfig.BaseHref.length > 0 )
|
if ( window.parent.FCKConfig.BaseHref.length > 0 )
|
||||||
document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
|
document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
|
||||||
@@ -50,7 +50,7 @@ window.onload = function()
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body style="color: #000000; background-color: #ffffff">
|
<body>
|
||||||
<div>
|
<div>
|
||||||
<a id="lnkPreview" onclick="return false;" style="cursor: default">
|
<a id="lnkPreview" onclick="return false;" style="cursor: default">
|
||||||
<img id="imgPreview" onload="window.parent.UpdateOriginal();"
|
<img id="imgPreview" onload="window.parent.UpdateOriginal();"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -108,7 +108,9 @@
|
|||||||
<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
|
<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
|
||||||
<br />
|
<br />
|
||||||
<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
|
<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
|
||||||
<iframe name="UploadWindow" style="DISPLAY: none" src="javascript:void(0)"></iframe>
|
<script type="text/javascript">
|
||||||
|
document.write( '<iframe name="UploadWindow" style="display: none" src="' + FCKTools.GetVoidUrl() + '"><\/iframe>' ) ;
|
||||||
|
</script>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div id="divTarget" style="DISPLAY: none">
|
<div id="divTarget" style="DISPLAY: none">
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -77,7 +77,32 @@ oRegex.PopupFeatures = /(?:^|,)([^=]+)=(\d+|yes|no)/gi ;
|
|||||||
|
|
||||||
var oParser = new Object() ;
|
var oParser = new Object() ;
|
||||||
|
|
||||||
oParser.ParseEMailUrl = function( emailUrl )
|
// This method simply returns the two inputs in numerical order. You can even
|
||||||
|
// provide strings, as the method would parseInt() the values.
|
||||||
|
oParser.SortNumerical = function(a, b)
|
||||||
|
{
|
||||||
|
return parseInt( a, 10 ) - parseInt( b, 10 ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
oParser.ParseEMailParams = function(sParams)
|
||||||
|
{
|
||||||
|
// Initialize the oEMailParams object.
|
||||||
|
var oEMailParams = new Object() ;
|
||||||
|
oEMailParams.Subject = '' ;
|
||||||
|
oEMailParams.Body = '' ;
|
||||||
|
|
||||||
|
var aMatch = sParams.match( /(^|^\?|&)subject=([^&]+)/i ) ;
|
||||||
|
if ( aMatch ) oEMailParams.Subject = decodeURIComponent( aMatch[2] ) ;
|
||||||
|
|
||||||
|
aMatch = sParams.match( /(^|^\?|&)body=([^&]+)/i ) ;
|
||||||
|
if ( aMatch ) oEMailParams.Body = decodeURIComponent( aMatch[2] ) ;
|
||||||
|
|
||||||
|
return oEMailParams ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method returns either an object containing the email info, or FALSE
|
||||||
|
// if the parameter is not an email link.
|
||||||
|
oParser.ParseEMailUri = function( sUrl )
|
||||||
{
|
{
|
||||||
// Initializes the EMailInfo object.
|
// Initializes the EMailInfo object.
|
||||||
var oEMailInfo = new Object() ;
|
var oEMailInfo = new Object() ;
|
||||||
@@ -85,28 +110,154 @@ oParser.ParseEMailUrl = function( emailUrl )
|
|||||||
oEMailInfo.Subject = '' ;
|
oEMailInfo.Subject = '' ;
|
||||||
oEMailInfo.Body = '' ;
|
oEMailInfo.Body = '' ;
|
||||||
|
|
||||||
var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ;
|
var aLinkInfo = sUrl.match( /^(\w+):(.*)$/ ) ;
|
||||||
if ( oParts )
|
if ( aLinkInfo && aLinkInfo[1] == 'mailto' )
|
||||||
|
{
|
||||||
|
// This seems to be an unprotected email link.
|
||||||
|
var aParts = aLinkInfo[2].match( /^([^\?]+)\??(.+)?/ ) ;
|
||||||
|
if ( aParts )
|
||||||
{
|
{
|
||||||
// Set the e-mail address.
|
// Set the e-mail address.
|
||||||
oEMailInfo.Address = oParts[1] ;
|
oEMailInfo.Address = aParts[1] ;
|
||||||
|
|
||||||
// Look for the optional e-mail parameters.
|
// Look for the optional e-mail parameters.
|
||||||
if ( oParts[2] )
|
if ( aParts[2] )
|
||||||
{
|
{
|
||||||
var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ;
|
var oEMailParams = oParser.ParseEMailParams( aParts[2] ) ;
|
||||||
if ( oMatch ) oEMailInfo.Subject = decodeURIComponent( oMatch[2] ) ;
|
oEMailInfo.Subject = oEMailParams.Subject ;
|
||||||
|
oEMailInfo.Body = oEMailParams.Body ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return oEMailInfo ;
|
||||||
|
}
|
||||||
|
else if ( aLinkInfo && aLinkInfo[1] == 'javascript' )
|
||||||
|
{
|
||||||
|
// This may be a protected email.
|
||||||
|
|
||||||
oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ;
|
// Try to match the url against the EMailProtectionFunction.
|
||||||
if ( oMatch ) oEMailInfo.Body = decodeURIComponent( oMatch[2] ) ;
|
var func = FCKConfig.EMailProtectionFunction ;
|
||||||
|
if ( func != null )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Escape special chars.
|
||||||
|
func = func.replace( /([\/^$*+.?()\[\]])/g, '\\$1' ) ;
|
||||||
|
|
||||||
|
// Define the possible keys.
|
||||||
|
var keys = new Array('NAME', 'DOMAIN', 'SUBJECT', 'BODY') ;
|
||||||
|
|
||||||
|
// Get the order of the keys (hold them in the array <pos>) and
|
||||||
|
// the function replaced by regular expression patterns.
|
||||||
|
var sFunc = func ;
|
||||||
|
var pos = new Array() ;
|
||||||
|
for ( var i = 0 ; i < keys.length ; i ++ )
|
||||||
|
{
|
||||||
|
var rexp = new RegExp( keys[i] ) ;
|
||||||
|
var p = func.search( rexp ) ;
|
||||||
|
if ( p >= 0 )
|
||||||
|
{
|
||||||
|
sFunc = sFunc.replace( rexp, '\'([^\']*)\'' ) ;
|
||||||
|
pos[pos.length] = p + ':' + keys[i] ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sort the available keys.
|
||||||
|
pos.sort( oParser.SortNumerical ) ;
|
||||||
|
|
||||||
|
// Replace the excaped single quotes in the url, such they do
|
||||||
|
// not affect the regexp afterwards.
|
||||||
|
aLinkInfo[2] = aLinkInfo[2].replace( /\\'/g, '###SINGLE_QUOTE###' ) ;
|
||||||
|
|
||||||
|
// Create the regexp and execute it.
|
||||||
|
var rFunc = new RegExp( '^' + sFunc + '$' ) ;
|
||||||
|
var aMatch = rFunc.exec( aLinkInfo[2] ) ;
|
||||||
|
if ( aMatch )
|
||||||
|
{
|
||||||
|
var aInfo = new Array();
|
||||||
|
for ( var i = 1 ; i < aMatch.length ; i ++ )
|
||||||
|
{
|
||||||
|
var k = pos[i-1].match(/^\d+:(.+)$/) ;
|
||||||
|
aInfo[k[1]] = aMatch[i].replace(/###SINGLE_QUOTE###/g, '\'') ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fill the EMailInfo object that will be returned
|
||||||
|
oEMailInfo.Address = aInfo['NAME'] + '@' + aInfo['DOMAIN'] ;
|
||||||
|
oEMailInfo.Subject = decodeURIComponent( aInfo['SUBJECT'] ) ;
|
||||||
|
oEMailInfo.Body = decodeURIComponent( aInfo['BODY'] ) ;
|
||||||
|
|
||||||
return oEMailInfo ;
|
return oEMailInfo ;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try to match the email against the encode protection.
|
||||||
|
var aMatch = aLinkInfo[2].match( /^(?:void\()?location\.href='mailto:'\+(String\.fromCharCode\([\d,]+\))\+'(.*)'\)?$/ ) ;
|
||||||
|
if ( aMatch )
|
||||||
|
{
|
||||||
|
// The link is encoded
|
||||||
|
oEMailInfo.Address = eval( aMatch[1] ) ;
|
||||||
|
if ( aMatch[2] )
|
||||||
|
{
|
||||||
|
var oEMailParams = oParser.ParseEMailParams( aMatch[2] ) ;
|
||||||
|
oEMailInfo.Subject = oEMailParams.Subject ;
|
||||||
|
oEMailInfo.Body = oEMailParams.Body ;
|
||||||
|
}
|
||||||
|
return oEMailInfo ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
oParser.CreateEMailUri = function( address, subject, body )
|
oParser.CreateEMailUri = function( address, subject, body )
|
||||||
{
|
{
|
||||||
|
// Switch for the EMailProtection setting.
|
||||||
|
switch ( FCKConfig.EMailProtection )
|
||||||
|
{
|
||||||
|
case 'function' :
|
||||||
|
var func = FCKConfig.EMailProtectionFunction ;
|
||||||
|
if ( func == null )
|
||||||
|
{
|
||||||
|
if ( FCKConfig.Debug )
|
||||||
|
{
|
||||||
|
alert('EMailProtection alert!\nNo function defined. Please set "FCKConfig.EMailProtectionFunction"') ;
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Split the email address into name and domain parts.
|
||||||
|
var aAddressParts = address.split( '@', 2 ) ;
|
||||||
|
if ( aAddressParts[1] == undefined )
|
||||||
|
{
|
||||||
|
aAddressParts[1] = '' ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Replace the keys by their values (embedded in single quotes).
|
||||||
|
func = func.replace(/NAME/g, "'" + aAddressParts[0].replace(/'/g, '\\\'') + "'") ;
|
||||||
|
func = func.replace(/DOMAIN/g, "'" + aAddressParts[1].replace(/'/g, '\\\'') + "'") ;
|
||||||
|
func = func.replace(/SUBJECT/g, "'" + encodeURIComponent( subject ).replace(/'/g, '\\\'') + "'") ;
|
||||||
|
func = func.replace(/BODY/g, "'" + encodeURIComponent( body ).replace(/'/g, '\\\'') + "'") ;
|
||||||
|
|
||||||
|
return 'javascript:' + func ;
|
||||||
|
|
||||||
|
case 'encode' :
|
||||||
|
var aParams = [] ;
|
||||||
|
var aAddressCode = [] ;
|
||||||
|
|
||||||
|
if ( subject.length > 0 )
|
||||||
|
aParams.push( 'subject='+ encodeURIComponent( subject ) ) ;
|
||||||
|
if ( body.length > 0 )
|
||||||
|
aParams.push( 'body=' + encodeURIComponent( body ) ) ;
|
||||||
|
for ( var i = 0 ; i < address.length ; i++ )
|
||||||
|
aAddressCode.push( address.charCodeAt( i ) ) ;
|
||||||
|
|
||||||
|
return 'javascript:void(location.href=\'mailto:\'+String.fromCharCode(' + aAddressCode.join( ',' ) + ')+\'?' + aParams.join( '&' ) + '\')' ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// EMailProtection 'none'
|
||||||
|
|
||||||
var sBaseUri = 'mailto:' + address ;
|
var sBaseUri = 'mailto:' + address ;
|
||||||
|
|
||||||
var sParams = '' ;
|
var sParams = '' ;
|
||||||
@@ -263,29 +414,27 @@ function LoadSelection()
|
|||||||
// Search for the protocol.
|
// Search for the protocol.
|
||||||
var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;
|
var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;
|
||||||
|
|
||||||
if ( sProtocol )
|
// Search for a protected email link.
|
||||||
|
var oEMailInfo = oParser.ParseEMailUri( sHRef );
|
||||||
|
|
||||||
|
if ( oEMailInfo )
|
||||||
|
{
|
||||||
|
sType = 'email' ;
|
||||||
|
|
||||||
|
GetE('txtEMailAddress').value = oEMailInfo.Address ;
|
||||||
|
GetE('txtEMailSubject').value = oEMailInfo.Subject ;
|
||||||
|
GetE('txtEMailBody').value = oEMailInfo.Body ;
|
||||||
|
}
|
||||||
|
else if ( sProtocol )
|
||||||
{
|
{
|
||||||
sProtocol = sProtocol[0].toLowerCase() ;
|
sProtocol = sProtocol[0].toLowerCase() ;
|
||||||
GetE('cmbLinkProtocol').value = sProtocol ;
|
GetE('cmbLinkProtocol').value = sProtocol ;
|
||||||
|
|
||||||
// Remove the protocol and get the remaining URL.
|
// Remove the protocol and get the remaining URL.
|
||||||
var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;
|
var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;
|
||||||
|
|
||||||
if ( sProtocol == 'mailto:' ) // It is an e-mail link.
|
|
||||||
{
|
|
||||||
sType = 'email' ;
|
|
||||||
|
|
||||||
var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ;
|
|
||||||
GetE('txtEMailAddress').value = oEMailInfo.Address ;
|
|
||||||
GetE('txtEMailSubject').value = oEMailInfo.Subject ;
|
|
||||||
GetE('txtEMailBody').value = oEMailInfo.Body ;
|
|
||||||
}
|
|
||||||
else // It is a normal link.
|
|
||||||
{
|
|
||||||
sType = 'url' ;
|
sType = 'url' ;
|
||||||
GetE('txtUrl').value = sUrl ;
|
GetE('txtUrl').value = sUrl ;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 ) // It is an anchor link.
|
else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 ) // It is an anchor link.
|
||||||
{
|
{
|
||||||
sType = 'anchor' ;
|
sType = 'anchor' ;
|
||||||
@@ -650,13 +799,17 @@ function BrowseServer()
|
|||||||
|
|
||||||
function SetUrl( url )
|
function SetUrl( url )
|
||||||
{
|
{
|
||||||
document.getElementById('txtUrl').value = url ;
|
GetE('txtUrl').value = url ;
|
||||||
OnUrlChange() ;
|
OnUrlChange() ;
|
||||||
dialog.SetSelectedTab( 'Info' ) ;
|
dialog.SetSelectedTab( 'Info' ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||||
{
|
{
|
||||||
|
// Remove animation
|
||||||
|
window.parent.Throbber.Hide() ;
|
||||||
|
GetE( 'divUpload' ).style.display = '' ;
|
||||||
|
|
||||||
switch ( errorNumber )
|
switch ( errorNumber )
|
||||||
{
|
{
|
||||||
case 0 : // No errors
|
case 0 : // No errors
|
||||||
@@ -709,6 +862,10 @@ function CheckUpload()
|
|||||||
return false ;
|
return false ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Show animation
|
||||||
|
window.parent.Throbber.Show( 100 ) ;
|
||||||
|
GetE( 'divUpload' ).style.display = 'none' ;
|
||||||
|
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -67,7 +67,7 @@ window.onload = function()
|
|||||||
dialog.SetOkButton( true ) ;
|
dialog.SetOkButton( true ) ;
|
||||||
dialog.SetAutoSize( true ) ;
|
dialog.SetAutoSize( true ) ;
|
||||||
|
|
||||||
SelectField( 'txtStartPosition' ) ;
|
SelectField( sListType == 'OL' ? 'txtStartPosition' : 'selBulleted' ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
function Ok()
|
function Ok()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -64,7 +64,7 @@ window.onload = function ()
|
|||||||
|
|
||||||
var eFrameSpace = document.getElementById( 'xFrameSpace' ) ;
|
var eFrameSpace = document.getElementById( 'xFrameSpace' ) ;
|
||||||
eFrameSpace.innerHTML = '<iframe id="frmData" src="' + sFrameUrl + '" ' +
|
eFrameSpace.innerHTML = '<iframe id="frmData" src="' + sFrameUrl + '" ' +
|
||||||
'height="98%" width="99%" frameborder="0" style="border: #000000 1px; background-color: #ffffff"></iframe>' ;
|
'height="98%" width="99%" frameborder="0" style="border: #000000 1px; background-color: #ffffff"><\/iframe>' ;
|
||||||
|
|
||||||
var oFrame = eFrameSpace.firstChild ;
|
var oFrame = eFrameSpace.firstChild ;
|
||||||
|
|
||||||
@@ -87,6 +87,7 @@ window.onload = function ()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
document.getElementById('txtData').style.display = '' ;
|
document.getElementById('txtData').style.display = '' ;
|
||||||
|
SelectField( 'txtData' ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( sPastingType != 'Word' )
|
if ( sPastingType != 'Word' )
|
||||||
@@ -187,7 +188,7 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
|
|||||||
var html = oNode.innerHTML ;
|
var html = oNode.innerHTML ;
|
||||||
|
|
||||||
html = html.replace(/<o:p>\s*<\/o:p>/g, '') ;
|
html = html.replace(/<o:p>\s*<\/o:p>/g, '') ;
|
||||||
html = html.replace(/<o:p>.*?<\/o:p>/g, ' ') ;
|
html = html.replace(/<o:p>[\s\S]*?<\/o:p>/g, ' ') ;
|
||||||
|
|
||||||
// Remove mso-xxx styles.
|
// Remove mso-xxx styles.
|
||||||
html = html.replace( /\s*mso-[^:]+:[^;"]+;?/gi, '' ) ;
|
html = html.replace( /\s*mso-[^:]+:[^;"]+;?/gi, '' ) ;
|
||||||
@@ -224,6 +225,10 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
|
|||||||
if ( bRemoveStyles )
|
if ( bRemoveStyles )
|
||||||
html = html.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;
|
html = html.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;
|
||||||
|
|
||||||
|
// Remove style, meta and link tags
|
||||||
|
html = html.replace( /<STYLE[^>]*>[\s\S]*?<\/STYLE[^>]*>/gi, '' ) ;
|
||||||
|
html = html.replace( /<(?:META|LINK)[^>]*>\s*/gi, '' ) ;
|
||||||
|
|
||||||
// Remove empty styles.
|
// Remove empty styles.
|
||||||
html = html.replace( /\s*style="\s*"/gi, '' ) ;
|
html = html.replace( /\s*style="\s*"/gi, '' ) ;
|
||||||
|
|
||||||
@@ -234,25 +239,28 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
|
|||||||
// Remove Lang attributes
|
// Remove Lang attributes
|
||||||
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
|
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
|
||||||
|
|
||||||
html = html.replace( /<SPAN\s*>(.*?)<\/SPAN>/gi, '$1' ) ;
|
html = html.replace( /<SPAN\s*>([\s\S]*?)<\/SPAN>/gi, '$1' ) ;
|
||||||
|
|
||||||
html = html.replace( /<FONT\s*>(.*?)<\/FONT>/gi, '$1' ) ;
|
html = html.replace( /<FONT\s*>([\s\S]*?)<\/FONT>/gi, '$1' ) ;
|
||||||
|
|
||||||
// Remove XML elements and declarations
|
// Remove XML elements and declarations
|
||||||
html = html.replace(/<\\?\?xml[^>]*>/gi, '' ) ;
|
html = html.replace(/<\\?\?xml[^>]*>/gi, '' ) ;
|
||||||
|
|
||||||
|
// Remove w: tags with contents.
|
||||||
|
html = html.replace( /<w:[^>]*>[\s\S]*?<\/w:[^>]*>/gi, '' ) ;
|
||||||
|
|
||||||
// Remove Tags with XML namespace declarations: <o:p><\/o:p>
|
// Remove Tags with XML namespace declarations: <o:p><\/o:p>
|
||||||
html = html.replace(/<\/?\w+:[^>]*>/gi, '' ) ;
|
html = html.replace(/<\/?\w+:[^>]*>/gi, '' ) ;
|
||||||
|
|
||||||
// Remove comments [SF BUG-1481861].
|
// Remove comments [SF BUG-1481861].
|
||||||
html = html.replace(/<\!--.*?-->/g, '' ) ;
|
html = html.replace(/<\!--[\s\S]*?-->/g, '' ) ;
|
||||||
|
|
||||||
html = html.replace( /<(U|I|STRIKE)> <\/\1>/g, ' ' ) ;
|
html = html.replace( /<(U|I|STRIKE)> <\/\1>/g, ' ' ) ;
|
||||||
|
|
||||||
html = html.replace( /<H\d>\s*<\/H\d>/gi, '' ) ;
|
html = html.replace( /<H\d>\s*<\/H\d>/gi, '' ) ;
|
||||||
|
|
||||||
// Remove "display:none" tags.
|
// Remove "display:none" tags.
|
||||||
html = html.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none(.*?)<\/\1>/ig, '' ) ;
|
html = html.replace( /<(\w+)[^>]*\sstyle="[^"]*DISPLAY\s?:\s?none[\s\S]*?<\/\1>/ig, '' ) ;
|
||||||
|
|
||||||
// Remove language tags
|
// Remove language tags
|
||||||
html = html.replace( /<(\w[^>]*) language=([^ |>]*)([^>]*)/gi, "<$1$3") ;
|
html = html.replace( /<(\w[^>]*) language=([^ |>]*)([^>]*)/gi, "<$1$3") ;
|
||||||
@@ -267,8 +275,8 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
|
|||||||
html = html.replace( /<H(\d)([^>]*)>/gi, '<h$1>' ) ;
|
html = html.replace( /<H(\d)([^>]*)>/gi, '<h$1>' ) ;
|
||||||
|
|
||||||
// Word likes to insert extra <font> tags, when using MSIE. (Wierd).
|
// Word likes to insert extra <font> tags, when using MSIE. (Wierd).
|
||||||
html = html.replace( /<(H\d)><FONT[^>]*>(.*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );
|
html = html.replace( /<(H\d)><FONT[^>]*>([\s\S]*?)<\/FONT><\/\1>/gi, '<$1>$2<\/$1>' );
|
||||||
html = html.replace( /<(H\d)><EM>(.*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );
|
html = html.replace( /<(H\d)><EM>([\s\S]*?)<\/EM><\/\1>/gi, '<$1>$2<\/$1>' );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -282,7 +290,7 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
|
|||||||
html = html.replace( /<\/H\d>/gi, '<\/font><\/b><\/div>' ) ;
|
html = html.replace( /<\/H\d>/gi, '<\/font><\/b><\/div>' ) ;
|
||||||
|
|
||||||
// Transform <P> to <DIV>
|
// Transform <P> to <DIV>
|
||||||
var re = new RegExp( '(<P)([^>]*>.*?)(<\/P>)', 'gi' ) ; // Different because of a IE 5.0 error
|
var re = new RegExp( '(<P)([^>]*>[\\s\\S]*?)(<\/P>)', 'gi' ) ; // Different because of a IE 5.0 error
|
||||||
html = html.replace( re, '<div$2<\/div>' ) ;
|
html = html.replace( re, '<div$2<\/div>' ) ;
|
||||||
|
|
||||||
// Remove empty tags (three times, just to be sure).
|
// Remove empty tags (three times, just to be sure).
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -34,6 +34,12 @@ var oEditor = dialog.InnerDialogLoaded() ;
|
|||||||
var dialogArguments = dialog.Args() ;
|
var dialogArguments = dialog.Args() ;
|
||||||
|
|
||||||
var FCKLang = oEditor.FCKLang ;
|
var FCKLang = oEditor.FCKLang ;
|
||||||
|
var FCKDomTools = oEditor.FCKDomTools ;
|
||||||
|
var FCKDomRange = oEditor.FCKDomRange ;
|
||||||
|
var FCKListsLib = oEditor.FCKListsLib ;
|
||||||
|
var FCKTools = oEditor.FCKTools ;
|
||||||
|
var EditorDocument = oEditor.FCK.EditorDocument ;
|
||||||
|
var HighlightStyle = oEditor.FCKStyles.GetStyle( '_FCK_SelectionHighlight' ) ;
|
||||||
|
|
||||||
dialog.AddTab( 'Find', FCKLang.DlgFindTitle ) ;
|
dialog.AddTab( 'Find', FCKLang.DlgFindTitle ) ;
|
||||||
dialog.AddTab( 'Replace', FCKLang.DlgReplaceTitle ) ;
|
dialog.AddTab( 'Replace', FCKLang.DlgReplaceTitle ) ;
|
||||||
@@ -51,38 +57,312 @@ function OnDialogTabChange( tabCode )
|
|||||||
dialog.SetAutoSize( true ) ;
|
dialog.SetAutoSize( true ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GetNextNonEmptyTextNode = function( node, stopNode )
|
||||||
|
{
|
||||||
|
while ( ( node = FCKDomTools.GetNextSourceNode( node, false, 3, stopNode ) ) && node && node.length < 1 )
|
||||||
|
1 ;
|
||||||
|
return node ;
|
||||||
|
}
|
||||||
|
|
||||||
|
CharacterCursor = function( arg )
|
||||||
|
{
|
||||||
|
if ( arg.nodeType && arg.nodeType == 9 )
|
||||||
|
{
|
||||||
|
this._textNode = GetNextNonEmptyTextNode( arg.body, arg.documentElement ) ;
|
||||||
|
this._offset = 0 ;
|
||||||
|
this._doc = arg ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this._textNode = arguments[0] ;
|
||||||
|
this._offset = arguments[1] ;
|
||||||
|
this._doc = FCKTools.GetElementDocument( arguments[0] ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CharacterCursor.prototype =
|
||||||
|
{
|
||||||
|
GetCharacter : function()
|
||||||
|
{
|
||||||
|
return ( this._textNode && this._textNode.nodeValue.charAt( this._offset ) ) || null ;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Non-normalized.
|
||||||
|
GetTextNode : function()
|
||||||
|
{
|
||||||
|
return this._textNode ;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Non-normalized.
|
||||||
|
GetIndex : function()
|
||||||
|
{
|
||||||
|
return this._offset ;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Return value means whehther we've crossed a line break or a paragraph boundary.
|
||||||
|
MoveNext : function()
|
||||||
|
{
|
||||||
|
if ( this._offset < this._textNode.length - 1 )
|
||||||
|
{
|
||||||
|
this._offset++ ;
|
||||||
|
return false ;
|
||||||
|
}
|
||||||
|
|
||||||
|
var crossed = false ;
|
||||||
|
var curNode = this._textNode ;
|
||||||
|
while ( ( curNode = FCKDomTools.GetNextSourceNode( curNode ) )
|
||||||
|
&& curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )
|
||||||
|
{
|
||||||
|
var tag = curNode.nodeName.toLowerCase() ;
|
||||||
|
if ( FCKListsLib.BlockElements[tag] || tag == 'br' )
|
||||||
|
crossed = true ;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._textNode = curNode ;
|
||||||
|
this._offset = 0 ;
|
||||||
|
return crossed ;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Return value means whehther we've crossed a line break or a paragraph boundary.
|
||||||
|
MoveBack : function()
|
||||||
|
{
|
||||||
|
if ( this._offset > 0 && this._textNode.length > 0 )
|
||||||
|
{
|
||||||
|
this._offset = Math.min( this._offset - 1, this._textNode.length - 1 ) ;
|
||||||
|
return false ;
|
||||||
|
}
|
||||||
|
|
||||||
|
var crossed = false ;
|
||||||
|
var curNode = this._textNode ;
|
||||||
|
while ( ( curNode = FCKDomTools.GetPreviousSourceNode( curNode ) )
|
||||||
|
&& curNode && ( curNode.nodeType != 3 || curNode.length < 1 ) )
|
||||||
|
{
|
||||||
|
var tag = curNode.nodeName.toLowerCase() ;
|
||||||
|
if ( FCKListsLib.BlockElements[tag] || tag == 'br' )
|
||||||
|
crossed = true ;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._textNode = curNode ;
|
||||||
|
this._offset = curNode && curNode.length - 1 ;
|
||||||
|
return crossed ;
|
||||||
|
},
|
||||||
|
|
||||||
|
Clone : function()
|
||||||
|
{
|
||||||
|
return new CharacterCursor( this._textNode, this._offset ) ;
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
CharacterRange = function( initCursor, maxLength )
|
||||||
|
{
|
||||||
|
this._cursors = initCursor.push ? initCursor : [initCursor] ;
|
||||||
|
this._maxLength = maxLength ;
|
||||||
|
this._highlightRange = null ;
|
||||||
|
}
|
||||||
|
CharacterRange.prototype =
|
||||||
|
{
|
||||||
|
ToDomRange : function()
|
||||||
|
{
|
||||||
|
var firstCursor = this._cursors[0] ;
|
||||||
|
var lastCursor = this._cursors[ this._cursors.length - 1 ] ;
|
||||||
|
var domRange = new FCKDomRange( FCKTools.GetElementWindow( firstCursor.GetTextNode() ) ) ;
|
||||||
|
var w3cRange = domRange._Range = domRange.CreateRange() ;
|
||||||
|
w3cRange.setStart( firstCursor.GetTextNode(), firstCursor.GetIndex() ) ;
|
||||||
|
w3cRange.setEnd( lastCursor.GetTextNode(), lastCursor.GetIndex() + 1 ) ;
|
||||||
|
domRange._UpdateElementInfo() ;
|
||||||
|
return domRange ;
|
||||||
|
},
|
||||||
|
|
||||||
|
Highlight : function()
|
||||||
|
{
|
||||||
|
if ( this._cursors.length < 1 )
|
||||||
|
return ;
|
||||||
|
|
||||||
|
var domRange = this.ToDomRange() ;
|
||||||
|
HighlightStyle.ApplyToRange( domRange, false, true ) ;
|
||||||
|
this._highlightRange = domRange ;
|
||||||
|
|
||||||
|
var charRange = CharacterRange.CreateFromDomRange( domRange ) ;
|
||||||
|
var focusNode = domRange.StartNode ;
|
||||||
|
if ( focusNode.nodeType != 1 )
|
||||||
|
focusNode = focusNode.parentNode ;
|
||||||
|
FCKDomTools.ScrollIntoView( focusNode, false ) ;
|
||||||
|
this._cursors = charRange._cursors ;
|
||||||
|
},
|
||||||
|
|
||||||
|
RemoveHighlight : function()
|
||||||
|
{
|
||||||
|
if ( this._highlightRange )
|
||||||
|
{
|
||||||
|
HighlightStyle.RemoveFromRange( this._highlightRange, false, true ) ;
|
||||||
|
var charRange = CharacterRange.CreateFromDomRange( this._highlightRange ) ;
|
||||||
|
this._cursors = charRange._cursors ;
|
||||||
|
this._highlightRange = null ;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
GetHighlightDomRange : function()
|
||||||
|
{
|
||||||
|
return this._highlightRange;
|
||||||
|
},
|
||||||
|
|
||||||
|
MoveNext : function()
|
||||||
|
{
|
||||||
|
var next = this._cursors[ this._cursors.length - 1 ].Clone() ;
|
||||||
|
var retval = next.MoveNext() ;
|
||||||
|
if ( retval )
|
||||||
|
this._cursors = [] ;
|
||||||
|
this._cursors.push( next ) ;
|
||||||
|
if ( this._cursors.length > this._maxLength )
|
||||||
|
this._cursors.shift() ;
|
||||||
|
return retval ;
|
||||||
|
},
|
||||||
|
|
||||||
|
MoveBack : function()
|
||||||
|
{
|
||||||
|
var prev = this._cursors[0].Clone() ;
|
||||||
|
var retval = prev.MoveBack() ;
|
||||||
|
if ( retval )
|
||||||
|
this._cursors = [] ;
|
||||||
|
this._cursors.unshift( prev ) ;
|
||||||
|
if ( this._cursors.length > this._maxLength )
|
||||||
|
this._cursors.pop() ;
|
||||||
|
return retval ;
|
||||||
|
},
|
||||||
|
|
||||||
|
GetEndCharacter : function()
|
||||||
|
{
|
||||||
|
if ( this._cursors.length < 1 )
|
||||||
|
return null ;
|
||||||
|
var retval = this._cursors[ this._cursors.length - 1 ].GetCharacter() ;
|
||||||
|
return retval ;
|
||||||
|
},
|
||||||
|
|
||||||
|
GetNextRange : function( len )
|
||||||
|
{
|
||||||
|
if ( this._cursors.length == 0 )
|
||||||
|
return null ;
|
||||||
|
var cur = this._cursors[ this._cursors.length - 1 ].Clone() ;
|
||||||
|
cur.MoveNext() ;
|
||||||
|
return new CharacterRange( cur, len ) ;
|
||||||
|
},
|
||||||
|
|
||||||
|
GetCursors : function()
|
||||||
|
{
|
||||||
|
return this._cursors ;
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
CharacterRange.CreateFromDomRange = function( domRange )
|
||||||
|
{
|
||||||
|
var w3cRange = domRange._Range ;
|
||||||
|
var startContainer = w3cRange.startContainer ;
|
||||||
|
var endContainer = w3cRange.endContainer ;
|
||||||
|
var startTextNode, startIndex, endTextNode, endIndex ;
|
||||||
|
|
||||||
|
if ( startContainer.nodeType == 3 )
|
||||||
|
{
|
||||||
|
startTextNode = startContainer ;
|
||||||
|
startIndex = w3cRange.startOffset ;
|
||||||
|
}
|
||||||
|
else if ( domRange.StartNode.nodeType == 3 )
|
||||||
|
{
|
||||||
|
startTextNode = domRange.StartNode ;
|
||||||
|
startIndex = 0 ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
startTextNode = GetNextNonEmptyTextNode( domRange.StartNode, domRange.StartNode.parentNode ) ;
|
||||||
|
if ( !startTextNode )
|
||||||
|
return null ;
|
||||||
|
startIndex = 0 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( endContainer.nodeType == 3 && w3cRange.endOffset > 0 )
|
||||||
|
{
|
||||||
|
endTextNode = endContainer ;
|
||||||
|
endIndex = w3cRange.endOffset - 1 ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
endTextNode = domRange.EndNode ;
|
||||||
|
while ( endTextNode.nodeType != 3 )
|
||||||
|
endTextNode = endTextNode.lastChild ;
|
||||||
|
endIndex = endTextNode.length - 1 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
var cursors = [] ;
|
||||||
|
var current = new CharacterCursor( startTextNode, startIndex ) ;
|
||||||
|
cursors.push( current ) ;
|
||||||
|
if ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) && !domRange.CheckIsEmpty() )
|
||||||
|
{
|
||||||
|
do
|
||||||
|
{
|
||||||
|
current = current.Clone() ;
|
||||||
|
current.MoveNext() ;
|
||||||
|
cursors.push( current ) ;
|
||||||
|
}
|
||||||
|
while ( !( current.GetTextNode() == endTextNode && current.GetIndex() == endIndex ) ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new CharacterRange( cursors, cursors.length ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Knuth-Morris-Pratt Algorithm for stream input
|
||||||
|
KMP_NOMATCH = 0 ;
|
||||||
|
KMP_ADVANCED = 1 ;
|
||||||
|
KMP_MATCHED = 2 ;
|
||||||
|
KmpMatch = function( pattern, ignoreCase )
|
||||||
|
{
|
||||||
|
var overlap = [ -1 ] ;
|
||||||
|
for ( var i = 0 ; i < pattern.length ; i++ )
|
||||||
|
{
|
||||||
|
overlap.push( overlap[i] + 1 ) ;
|
||||||
|
while ( overlap[ i + 1 ] > 0 && pattern.charAt( i ) != pattern.charAt( overlap[ i + 1 ] - 1 ) )
|
||||||
|
overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1 ;
|
||||||
|
}
|
||||||
|
this._Overlap = overlap ;
|
||||||
|
this._State = 0 ;
|
||||||
|
this._IgnoreCase = ( ignoreCase === true ) ;
|
||||||
|
if ( ignoreCase )
|
||||||
|
this.Pattern = pattern.toLowerCase();
|
||||||
|
else
|
||||||
|
this.Pattern = pattern ;
|
||||||
|
}
|
||||||
|
KmpMatch.prototype = {
|
||||||
|
FeedCharacter : function( c )
|
||||||
|
{
|
||||||
|
if ( this._IgnoreCase )
|
||||||
|
c = c.toLowerCase();
|
||||||
|
|
||||||
|
while ( true )
|
||||||
|
{
|
||||||
|
if ( c == this.Pattern.charAt( this._State ) )
|
||||||
|
{
|
||||||
|
this._State++ ;
|
||||||
|
if ( this._State == this.Pattern.length )
|
||||||
|
{
|
||||||
|
// found a match, start over, don't care about partial matches involving the current match
|
||||||
|
this._State = 0;
|
||||||
|
return KMP_MATCHED;
|
||||||
|
}
|
||||||
|
return KMP_ADVANCED ;
|
||||||
|
}
|
||||||
|
else if ( this._State == 0 )
|
||||||
|
return KMP_NOMATCH;
|
||||||
|
else
|
||||||
|
this._State = this._Overlap[ this._State ];
|
||||||
|
}
|
||||||
|
|
||||||
|
return null ;
|
||||||
|
},
|
||||||
|
|
||||||
|
Reset : function()
|
||||||
|
{
|
||||||
|
this._State = 0 ;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Place a range at the start of document.
|
// Place a range at the start of document.
|
||||||
// This will be the starting point of our search.
|
|
||||||
var GlobalRange = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
|
||||||
|
|
||||||
function ResetGlobalRange()
|
|
||||||
{
|
|
||||||
GlobalRange.SetStart( oEditor.FCK.EditorDocument.body, 1 ) ;
|
|
||||||
GlobalRange.SetEnd( oEditor.FCK.EditorDocument.body, 1 ) ;
|
|
||||||
GlobalRange.Collapse( true ) ;
|
|
||||||
}
|
|
||||||
ResetGlobalRange() ;
|
|
||||||
|
|
||||||
var HighlightRange = null ;
|
|
||||||
function Highlight()
|
|
||||||
{
|
|
||||||
if ( HighlightRange )
|
|
||||||
ClearHighlight() ;
|
|
||||||
var cloneRange = GlobalRange.Clone() ;
|
|
||||||
oEditor.FCKStyles.GetStyle( '_FCK_SelectionHighlight' ).ApplyToRange( cloneRange, false, true ) ;
|
|
||||||
HighlightRange = cloneRange ;
|
|
||||||
GlobalRange = HighlightRange.Clone() ;
|
|
||||||
}
|
|
||||||
|
|
||||||
function ClearHighlight()
|
|
||||||
{
|
|
||||||
if ( HighlightRange )
|
|
||||||
{
|
|
||||||
oEditor.FCKStyles.GetStyle( '_FCK_SelectionHighlight' ).RemoveFromRange( HighlightRange, false, true ) ;
|
|
||||||
HighlightRange = null ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function OnLoad()
|
function OnLoad()
|
||||||
{
|
{
|
||||||
// First of all, translate the dialog box texts.
|
// First of all, translate the dialog box texts.
|
||||||
@@ -133,79 +413,15 @@ function GetMatchWord()
|
|||||||
return !! ( GetE(idMap['CheckWord']).checked ) ;
|
return !! ( GetE(idMap['CheckWord']).checked ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the data pointed to by a bookmark.
|
/* Is this character a unicode whitespace or a punctuation mark?
|
||||||
function GetData( bookmark )
|
* References:
|
||||||
{
|
* http://unicode.org/Public/UNIDATA/PropList.txt (whitespaces)
|
||||||
var cursor = oEditor.FCK.EditorDocument.documentElement ;
|
* http://php.chinaunix.net/manual/tw/ref.regex.php (punctuation marks)
|
||||||
for ( var i = 0 ; i < bookmark.length ; i++ )
|
*/
|
||||||
{
|
function CheckIsWordSeparator( c )
|
||||||
var target = bookmark[i] ;
|
|
||||||
var currentIndex = -1 ;
|
|
||||||
if ( cursor.nodeType != 3 )
|
|
||||||
{
|
|
||||||
for (var j = 0 ; j < cursor.childNodes.length ; j++ )
|
|
||||||
{
|
|
||||||
var candidate = cursor.childNodes[j] ;
|
|
||||||
if ( candidate.nodeType == 3 &&
|
|
||||||
candidate.previousSibling &&
|
|
||||||
candidate.previousSibling.nodeType == 3 )
|
|
||||||
continue ;
|
|
||||||
currentIndex++ ;
|
|
||||||
if ( currentIndex == target )
|
|
||||||
{
|
|
||||||
cursor = candidate ;
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( currentIndex < target )
|
|
||||||
return null ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ( i != bookmark.length - 1 )
|
|
||||||
return null ;
|
|
||||||
while ( target >= cursor.length && cursor.nextSibling && cursor.nextSibling.nodeType == 3 )
|
|
||||||
{
|
|
||||||
target -= cursor.length ;
|
|
||||||
cursor = cursor.nextSibling ;
|
|
||||||
}
|
|
||||||
cursor = cursor.nodeValue.charAt( target ) ;
|
|
||||||
if ( cursor == "" )
|
|
||||||
cursor = null ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cursor ;
|
|
||||||
}
|
|
||||||
|
|
||||||
// With this function, we can treat the bookmark as an iterator for DFS.
|
|
||||||
function NextPosition( bookmark )
|
|
||||||
{
|
|
||||||
// See if there's anything further down the tree.
|
|
||||||
var next = bookmark.concat( [0] ) ;
|
|
||||||
if ( GetData( next ) != null )
|
|
||||||
return next ;
|
|
||||||
|
|
||||||
// Nothing down there? See if there's anything next to me.
|
|
||||||
var next = bookmark.slice( 0, bookmark.length - 1 ).concat( [ bookmark[ bookmark.length - 1 ] + 1 ] ) ;
|
|
||||||
if ( GetData( next ) != null )
|
|
||||||
return next ;
|
|
||||||
|
|
||||||
// Nothing even next to me? See if there's anything next to my ancestors.
|
|
||||||
for ( var i = bookmark.length - 1 ; i > 0 ; i-- )
|
|
||||||
{
|
|
||||||
var next = bookmark.slice( 0, i - 1 ).concat( [ bookmark[ i - 1 ] + 1 ] ) ;
|
|
||||||
if ( GetData( next ) != null )
|
|
||||||
return next ;
|
|
||||||
}
|
|
||||||
|
|
||||||
// There's absolutely nothing left to walk, return null.
|
|
||||||
return null ;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Is this character a unicode whitespace?
|
|
||||||
// Reference: http://unicode.org/Public/UNIDATA/PropList.txt
|
|
||||||
function CheckIsWhitespace( c )
|
|
||||||
{
|
{
|
||||||
|
if ( !c )
|
||||||
|
return true;
|
||||||
var code = c.charCodeAt( 0 );
|
var code = c.charCodeAt( 0 );
|
||||||
if ( code >= 9 && code <= 0xd )
|
if ( code >= 9 && code <= 0xd )
|
||||||
return true;
|
return true;
|
||||||
@@ -225,212 +441,103 @@ function CheckIsWhitespace( c )
|
|||||||
case 0x3000:
|
case 0x3000:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
return /[.,"'?!;:]/.test( c ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Knuth-Morris-Pratt Algorithm for stream input
|
FindRange = null ;
|
||||||
KMP_NOMATCH = 0 ;
|
|
||||||
KMP_ADVANCED = 1 ;
|
|
||||||
KMP_MATCHED = 2 ;
|
|
||||||
function KmpMatch( pattern, ignoreCase )
|
|
||||||
{
|
|
||||||
var overlap = [ -1 ] ;
|
|
||||||
for ( var i = 0 ; i < pattern.length ; i++ )
|
|
||||||
{
|
|
||||||
overlap.push( overlap[i] + 1 ) ;
|
|
||||||
while ( overlap[ i + 1 ] > 0 && pattern.charAt( i ) != pattern.charAt( overlap[ i + 1 ] - 1 ) )
|
|
||||||
overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1 ;
|
|
||||||
}
|
|
||||||
this._Overlap = overlap ;
|
|
||||||
this._State = 0 ;
|
|
||||||
this._IgnoreCase = ( ignoreCase === true ) ;
|
|
||||||
if ( ignoreCase )
|
|
||||||
this.Pattern = pattern.toLowerCase();
|
|
||||||
else
|
|
||||||
this.Pattern = pattern ;
|
|
||||||
}
|
|
||||||
KmpMatch.prototype = {
|
|
||||||
"FeedCharacter" : function( c )
|
|
||||||
{
|
|
||||||
if ( this._IgnoreCase )
|
|
||||||
c = c.toLowerCase();
|
|
||||||
|
|
||||||
while ( true )
|
|
||||||
{
|
|
||||||
if ( c == this.Pattern.charAt( this._State ) )
|
|
||||||
{
|
|
||||||
this._State++ ;
|
|
||||||
if ( this._State == this.Pattern.length )
|
|
||||||
{
|
|
||||||
// found a match, start over, don't care about partial matches involving the current match
|
|
||||||
this._State = 0;
|
|
||||||
return KMP_MATCHED;
|
|
||||||
}
|
|
||||||
return KMP_ADVANCED ;
|
|
||||||
}
|
|
||||||
else if ( this._State == 0 )
|
|
||||||
return KMP_NOMATCH;
|
|
||||||
else
|
|
||||||
this._State = this._Overlap[ this._State ];
|
|
||||||
}
|
|
||||||
|
|
||||||
return null ;
|
|
||||||
},
|
|
||||||
"Reset" : function()
|
|
||||||
{
|
|
||||||
this._State = 0 ;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function _Find()
|
function _Find()
|
||||||
{
|
{
|
||||||
// Start from the end of the current selection.
|
var searchString = GetSearchString() ;
|
||||||
var matcher = new KmpMatch( GetSearchString(), ! GetCheckCase() ) ;
|
if ( !FindRange )
|
||||||
var cursor = GlobalRange.CreateBookmark2().End ;
|
FindRange = new CharacterRange( new CharacterCursor( EditorDocument ), searchString.length ) ;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FindRange.RemoveHighlight() ;
|
||||||
|
FindRange = FindRange.GetNextRange( searchString.length ) ;
|
||||||
|
}
|
||||||
|
var matcher = new KmpMatch( searchString, ! GetCheckCase() ) ;
|
||||||
var matchState = KMP_NOMATCH ;
|
var matchState = KMP_NOMATCH ;
|
||||||
var matchBookmark = null ;
|
var character = '%' ;
|
||||||
var matchBookmarkStart = [] ;
|
|
||||||
|
|
||||||
// Match finding.
|
while ( character != null )
|
||||||
while ( true )
|
|
||||||
{
|
{
|
||||||
// Perform KMP stream matching.
|
while ( ( character = FindRange.GetEndCharacter() ) )
|
||||||
// - Reset KMP matcher if we encountered a block element.
|
|
||||||
var data = GetData( cursor ) ;
|
|
||||||
if ( data )
|
|
||||||
{
|
{
|
||||||
if ( data.tagName )
|
matchState = matcher.FeedCharacter( character ) ;
|
||||||
{
|
if ( matchState == KMP_MATCHED )
|
||||||
if ( oEditor.FCKListsLib.BlockElements[ data.tagName.toLowerCase() ] )
|
|
||||||
{
|
|
||||||
matcher.Reset();
|
|
||||||
matchBookmarkStart = [] ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( data.charAt != undefined )
|
|
||||||
{
|
|
||||||
matchState = matcher.FeedCharacter(data) ;
|
|
||||||
|
|
||||||
// No possible match of any useful substring in the pattern for the currently scanned character.
|
|
||||||
// So delete any positional information.
|
|
||||||
if ( matchState == KMP_NOMATCH )
|
|
||||||
matchBookmarkStart = [] ;
|
|
||||||
// We've matched something, but it's not a complete match, so let's just mark down the position for backtracking later.
|
|
||||||
else if ( matchState == KMP_ADVANCED )
|
|
||||||
{
|
|
||||||
matchBookmarkStart.push( cursor.concat( [] ) ) ;
|
|
||||||
if ( matchBookmarkStart.length > matcher._State )
|
|
||||||
matchBookmarkStart.shift() ;
|
|
||||||
}
|
|
||||||
// Found a complete match! Mark down the ending position as well.
|
|
||||||
else if ( matchState == KMP_MATCHED )
|
|
||||||
{
|
|
||||||
// It is possible to get a KMP_MATCHED without KMP_ADVANCED when the match pattern is only 1 character.
|
|
||||||
// So need to check and mark down the starting position as well.
|
|
||||||
if ( matchBookmarkStart.length == 0 )
|
|
||||||
matchBookmarkStart = [cursor.concat( [] )] ;
|
|
||||||
|
|
||||||
matchBookmark = { 'Start' : matchBookmarkStart.shift(), 'End' : cursor.concat( [] ) } ;
|
|
||||||
matchBookmark.End[ matchBookmark.End.length - 1 ]++;
|
|
||||||
|
|
||||||
// Wait, do we have to match a whole word?
|
|
||||||
// If yes, carry out additional checks on what we've got.
|
|
||||||
if ( GetMatchWord() )
|
|
||||||
{
|
|
||||||
var startOk = false ;
|
|
||||||
var endOk = false ;
|
|
||||||
var start = matchBookmark.Start ;
|
|
||||||
var end = matchBookmark.End ;
|
|
||||||
if ( start[ start.length - 1 ] == 0 )
|
|
||||||
startOk = true ;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var cursorBeforeStart = start.slice( 0, start.length - 1 ) ;
|
|
||||||
cursorBeforeStart.push( start[ start.length - 1 ] - 1 ) ;
|
|
||||||
var dataBeforeStart = GetData( cursorBeforeStart ) ;
|
|
||||||
if ( dataBeforeStart == null || dataBeforeStart.charAt == undefined )
|
|
||||||
startOk = true ;
|
|
||||||
else if ( CheckIsWhitespace( dataBeforeStart ) )
|
|
||||||
startOk = true ;
|
|
||||||
}
|
|
||||||
|
|
||||||
// this is already one character beyond the last char, no need to move
|
|
||||||
var cursorAfterEnd = end ;
|
|
||||||
var dataAfterEnd = GetData( cursorAfterEnd );
|
|
||||||
if ( dataAfterEnd == null || dataAfterEnd.charAt == undefined )
|
|
||||||
endOk = true ;
|
|
||||||
else if ( CheckIsWhitespace( dataAfterEnd ) )
|
|
||||||
endOk = true ;
|
|
||||||
|
|
||||||
if ( startOk && endOk )
|
|
||||||
break ;
|
break ;
|
||||||
else
|
if ( FindRange.MoveNext() )
|
||||||
matcher.Reset() ;
|
matcher.Reset() ;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Perform DFS across the document, until we've reached the end.
|
|
||||||
cursor = NextPosition( cursor ) ;
|
|
||||||
if ( cursor == null )
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we've found a match, highlight the match.
|
|
||||||
if ( matchState == KMP_MATCHED )
|
if ( matchState == KMP_MATCHED )
|
||||||
{
|
{
|
||||||
GlobalRange.MoveToBookmark2( matchBookmark ) ;
|
if ( GetMatchWord() )
|
||||||
Highlight() ;
|
|
||||||
var focus = GlobalRange._Range.endContainer ;
|
|
||||||
while ( focus && focus.nodeType != 1 )
|
|
||||||
focus = focus.parentNode ;
|
|
||||||
|
|
||||||
if ( focus )
|
|
||||||
{
|
{
|
||||||
if ( oEditor.FCKBrowserInfo.IsSafari )
|
var cursors = FindRange.GetCursors() ;
|
||||||
oEditor.FCKDomTools.ScrollIntoView( focus, false ) ;
|
var head = cursors[ cursors.length - 1 ].Clone() ;
|
||||||
else
|
var tail = cursors[0].Clone() ;
|
||||||
focus.scrollIntoView( false ) ;
|
if ( !head.MoveNext() && !CheckIsWordSeparator( head.GetCharacter() ) )
|
||||||
|
continue ;
|
||||||
|
if ( !tail.MoveBack() && !CheckIsWordSeparator( tail.GetCharacter() ) )
|
||||||
|
continue ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FindRange.Highlight() ;
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
ResetGlobalRange() ;
|
|
||||||
return false ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FindRange = null ;
|
||||||
|
return false ;
|
||||||
}
|
}
|
||||||
|
|
||||||
function Find()
|
function Find()
|
||||||
{
|
{
|
||||||
if ( ! _Find() )
|
if ( ! _Find() )
|
||||||
{
|
|
||||||
ClearHighlight() ;
|
|
||||||
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function Replace()
|
function Replace()
|
||||||
{
|
{
|
||||||
if ( GlobalRange.CheckIsCollapsed() )
|
var saveUndoStep = function( selectRange )
|
||||||
{
|
{
|
||||||
if (! _Find() )
|
var ieRange ;
|
||||||
{
|
if ( oEditor.FCKBrowserInfo.IsIE )
|
||||||
ClearHighlight() ;
|
ieRange = document.selection.createRange() ;
|
||||||
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
|
||||||
|
selectRange.Select() ;
|
||||||
|
oEditor.FCKUndo.SaveUndoStep() ;
|
||||||
|
var cloneRange = selectRange.Clone() ;
|
||||||
|
cloneRange.Collapse( false ) ;
|
||||||
|
cloneRange.Select() ;
|
||||||
|
|
||||||
|
if ( ieRange )
|
||||||
|
setTimeout( function(){ ieRange.select() ; }, 1 ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( FindRange && FindRange.GetHighlightDomRange() )
|
||||||
|
{
|
||||||
|
var range = FindRange.GetHighlightDomRange() ;
|
||||||
|
var bookmark = range.CreateBookmark() ;
|
||||||
|
FindRange.RemoveHighlight() ;
|
||||||
|
range.MoveToBookmark( bookmark ) ;
|
||||||
|
|
||||||
|
saveUndoStep( range ) ;
|
||||||
|
range.DeleteContents() ;
|
||||||
|
range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
||||||
|
range._UpdateElementInfo() ;
|
||||||
|
|
||||||
|
FindRange = CharacterRange.CreateFromDomRange( range ) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
oEditor.FCKUndo.SaveUndoStep() ;
|
if ( ! _Find() )
|
||||||
GlobalRange.DeleteContents() ;
|
{
|
||||||
GlobalRange.InsertNode( oEditor.FCK.EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
FindRange && FindRange.RemoveHighlight() ;
|
||||||
GlobalRange.Collapse( false ) ;
|
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -441,21 +548,34 @@ function ReplaceAll()
|
|||||||
|
|
||||||
while ( _Find() )
|
while ( _Find() )
|
||||||
{
|
{
|
||||||
dialog.Selection.EnsureSelection() ;
|
var range = FindRange.GetHighlightDomRange() ;
|
||||||
GlobalRange.DeleteContents() ;
|
var bookmark = range.CreateBookmark() ;
|
||||||
GlobalRange.InsertNode( oEditor.FCK.EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
FindRange.RemoveHighlight() ;
|
||||||
GlobalRange.Collapse( false ) ;
|
range.MoveToBookmark( bookmark) ;
|
||||||
|
|
||||||
|
range.DeleteContents() ;
|
||||||
|
range.InsertNode( EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
||||||
|
range._UpdateElementInfo() ;
|
||||||
|
|
||||||
|
FindRange = CharacterRange.CreateFromDomRange( range ) ;
|
||||||
replaceCount++ ;
|
replaceCount++ ;
|
||||||
}
|
}
|
||||||
if ( replaceCount == 0 )
|
if ( replaceCount == 0 )
|
||||||
{
|
{
|
||||||
ClearHighlight() ;
|
FindRange && FindRange.RemoveHighlight() ;
|
||||||
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
||||||
}
|
}
|
||||||
dialog.Cancel() ;
|
dialog.Cancel() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.onunload = function(){ ClearHighlight() ; }
|
window.onunload = function()
|
||||||
|
{
|
||||||
|
if ( FindRange )
|
||||||
|
{
|
||||||
|
FindRange.RemoveHighlight() ;
|
||||||
|
FindRange.ToDomRange().Select() ;
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body onload="OnLoad()" style="overflow: hidden">
|
<body onload="OnLoad()" style="overflow: hidden">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -132,7 +132,7 @@ function Ok()
|
|||||||
<tr>
|
<tr>
|
||||||
<td nowrap><span fckLang="DlgSelectSize">Size</span> </td>
|
<td nowrap><span fckLang="DlgSelectSize">Size</span> </td>
|
||||||
<td nowrap><input id="txtLines" type="text" size="2" value=""> <span fckLang="DlgSelectLines">lines</span></td>
|
<td nowrap><input id="txtLines" type="text" size="2" value=""> <span fckLang="DlgSelectLines">lines</span></td>
|
||||||
<td nowrap align="right"><input id="chkMultiple" name="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow
|
<td nowrap align="right"><input id="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow
|
||||||
multiple selections</label></td>
|
multiple selections</label></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -143,20 +143,20 @@ function Ok()
|
|||||||
<table width="100%">
|
<table width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td width="50%"><span fckLang="DlgSelectOpText">Text</span><br>
|
<td width="50%"><span fckLang="DlgSelectOpText">Text</span><br>
|
||||||
<input id="txtText" style="WIDTH: 100%" type="text" name="txtText">
|
<input id="txtText" style="WIDTH: 100%" type="text">
|
||||||
</td>
|
</td>
|
||||||
<td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br>
|
<td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br>
|
||||||
<input id="txtValue" style="WIDTH: 100%" type="text" name="txtValue">
|
<input id="txtValue" style="WIDTH: 100%" type="text">
|
||||||
</td>
|
</td>
|
||||||
<td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td>
|
<td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td>
|
||||||
<td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td>
|
<td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);"
|
<td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);"
|
||||||
size="5" name="cmbText"></select>
|
size="5"></select>
|
||||||
</td>
|
</td>
|
||||||
<td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);"
|
<td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);"
|
||||||
size="5" name="cmbValue"></select>
|
size="5"></select>
|
||||||
</td>
|
</td>
|
||||||
<td vAlign="top" colSpan="2">
|
<td vAlign="top" colSpan="2">
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -52,7 +52,12 @@ function OnSpellerControlsLoad( controlsWindow )
|
|||||||
function oSpeller_OnFinished( numberOCorrections )
|
function oSpeller_OnFinished( numberOCorrections )
|
||||||
{
|
{
|
||||||
if ( numberOCorrections > 0 )
|
if ( numberOCorrections > 0 )
|
||||||
oEditor.FCK.SetData( document.getElementById('txtHtml').value ) ;
|
{
|
||||||
|
oEditor.FCKUndo.SaveUndoStep() ;
|
||||||
|
oEditor.FCK.EditorDocument.body.innerHTML = document.getElementById('txtHtml').value ;
|
||||||
|
if ( oEditor.FCKBrowserInfo.IsIE )
|
||||||
|
oEditor.FCKSelection.Collapse( true ) ;
|
||||||
|
}
|
||||||
window.parent.Cancel() ;
|
window.parent.Cancel() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -31,14 +31,13 @@
|
|||||||
|
|
||||||
var dialog = window.parent ;
|
var dialog = window.parent ;
|
||||||
var oEditor = dialog.InnerDialogLoaded() ;
|
var oEditor = dialog.InnerDialogLoaded() ;
|
||||||
var dialogArguments = dialog.Args() ;
|
|
||||||
|
|
||||||
// Gets the document DOM
|
var FCKDomTools = oEditor.FCKDomTools ;
|
||||||
var oDOM = oEditor.FCK.EditorDocument ;
|
|
||||||
|
|
||||||
// Gets the table if there is one selected.
|
// Gets the table if there is one selected.
|
||||||
var table ;
|
var table ;
|
||||||
var e = dialog.Selection.GetSelectedElement() ;
|
var e = dialog.Selection.GetSelectedElement() ;
|
||||||
|
var hasColumnHeaders ;
|
||||||
|
|
||||||
if ( ( !e && document.location.search.substr(1) == 'Parent' ) || ( e && e.tagName != 'TABLE' ) )
|
if ( ( !e && document.location.search.substr(1) == 'Parent' ) || ( e && e.tagName != 'TABLE' ) )
|
||||||
e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;
|
e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;
|
||||||
@@ -88,6 +87,36 @@ window.onload = function()
|
|||||||
var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;
|
var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;
|
||||||
if ( eCaption ) document.getElementById('txtCaption').value = eCaption.innerHTML ;
|
if ( eCaption ) document.getElementById('txtCaption').value = eCaption.innerHTML ;
|
||||||
|
|
||||||
|
hasColumnHeaders = true ;
|
||||||
|
// Check if all the first cells in every row are TH
|
||||||
|
for (var row=0; row<table.rows.length; row++)
|
||||||
|
{
|
||||||
|
// If just one cell isn't a TH then it isn't a header column
|
||||||
|
if ( table.rows[row].cells[0].nodeName != 'TH' )
|
||||||
|
{
|
||||||
|
hasColumnHeaders = false ;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the table contains <thead>
|
||||||
|
if ((table.tHead !== null) )
|
||||||
|
{
|
||||||
|
if (hasColumnHeaders)
|
||||||
|
GetE('selHeaders').value = 'both' ;
|
||||||
|
else
|
||||||
|
GetE('selHeaders').value = 'row' ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (hasColumnHeaders)
|
||||||
|
GetE('selHeaders').value = 'col' ;
|
||||||
|
else
|
||||||
|
GetE('selHeaders').value = '' ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
document.getElementById('txtRows').disabled = true ;
|
document.getElementById('txtRows').disabled = true ;
|
||||||
document.getElementById('txtColumns').disabled = true ;
|
document.getElementById('txtColumns').disabled = true ;
|
||||||
SelectField( 'txtWidth' ) ;
|
SelectField( 'txtWidth' ) ;
|
||||||
@@ -104,8 +133,11 @@ function Ok()
|
|||||||
{
|
{
|
||||||
var bExists = ( table != null ) ;
|
var bExists = ( table != null ) ;
|
||||||
|
|
||||||
|
var oDoc = oEditor.FCK.EditorDocument ;
|
||||||
|
oEditor.FCKUndo.SaveUndoStep() ;
|
||||||
|
|
||||||
if ( ! bExists )
|
if ( ! bExists )
|
||||||
table = oEditor.FCK.EditorDocument.createElement( "TABLE" ) ;
|
table = oDoc.createElement( "TABLE" ) ;
|
||||||
|
|
||||||
// Removes the Width and Height styles
|
// Removes the Width and Height styles
|
||||||
if ( bExists && table.style.width ) table.style.width = null ; //.removeAttribute("width") ;
|
if ( bExists && table.style.width ) table.style.width = null ; //.removeAttribute("width") ;
|
||||||
@@ -129,7 +161,7 @@ function Ok()
|
|||||||
{
|
{
|
||||||
if ( !eCaption )
|
if ( !eCaption )
|
||||||
{
|
{
|
||||||
eCaption = oEditor.FCK.EditorDocument.createElement( 'CAPTION' ) ;
|
eCaption = oDoc.createElement( 'CAPTION' ) ;
|
||||||
table.insertBefore( eCaption, table.firstChild ) ;
|
table.insertBefore( eCaption, table.firstChild ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,24 +177,133 @@ function Ok()
|
|||||||
eCaption.parentNode.removeChild( eCaption ) ;
|
eCaption.parentNode.removeChild( eCaption ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var headers = GetE('selHeaders').value ;
|
||||||
|
if ( bExists )
|
||||||
|
{
|
||||||
|
// Should we make a <thead>?
|
||||||
|
if ( table.tHead==null && (headers=='row' || headers=='both') )
|
||||||
|
{
|
||||||
|
var oThead = table.createTHead() ;
|
||||||
|
var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;
|
||||||
|
var theRow= FCKDomTools.GetFirstChild( tbody, 'TR' ) ;
|
||||||
|
|
||||||
|
//now change TD to TH:
|
||||||
|
for (var i = 0; i<theRow.childNodes.length ; i++)
|
||||||
|
{
|
||||||
|
var th = RenameNode(theRow.childNodes[i], 'TH') ;
|
||||||
|
if (th != null)
|
||||||
|
th.scope='col' ;
|
||||||
|
}
|
||||||
|
oThead.appendChild( theRow ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( table.tHead!==null && !(headers=='row' || headers=='both') )
|
||||||
|
{
|
||||||
|
// Move the row out of the THead and put it in the TBody:
|
||||||
|
var tHead = table.tHead ;
|
||||||
|
var tbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;
|
||||||
|
|
||||||
|
var previousFirstRow = tbody.firstChild ;
|
||||||
|
while ( tHead.firstChild )
|
||||||
|
{
|
||||||
|
var theRow = tHead.firstChild ;
|
||||||
|
for (var i = 0; i < theRow.childNodes.length ; i++ )
|
||||||
|
{
|
||||||
|
var newCell = RenameNode( theRow.childNodes[i], 'TD' ) ;
|
||||||
|
if ( newCell != null )
|
||||||
|
newCell.removeAttribute( 'scope' ) ;
|
||||||
|
}
|
||||||
|
tbody.insertBefore( theRow, previousFirstRow ) ;
|
||||||
|
}
|
||||||
|
table.removeChild( tHead ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Should we make all first cells in a row TH?
|
||||||
|
if ( (!hasColumnHeaders) && (headers=='col' || headers=='both') )
|
||||||
|
{
|
||||||
|
for( var row=0 ; row < table.rows.length ; row++ )
|
||||||
|
{
|
||||||
|
var newCell = RenameNode(table.rows[row].cells[0], 'TH') ;
|
||||||
|
if ( newCell != null )
|
||||||
|
newCell.scope = 'row' ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Should we make all first TH-cells in a row make TD? If 'yes' we do it the other way round :-)
|
||||||
|
if ( (hasColumnHeaders) && !(headers=='col' || headers=='both') )
|
||||||
|
{
|
||||||
|
for( var row=0 ; row < table.rows.length ; row++ )
|
||||||
|
{
|
||||||
|
var oRow = table.rows[row] ;
|
||||||
|
if ( oRow.parentNode.nodeName == 'TBODY' )
|
||||||
|
{
|
||||||
|
var newCell = RenameNode(oRow.cells[0], 'TD') ;
|
||||||
|
if (newCell != null)
|
||||||
|
newCell.removeAttribute( 'scope' ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (! bExists)
|
if (! bExists)
|
||||||
{
|
{
|
||||||
var iRows = document.getElementById('txtRows').value ;
|
var iRows = GetE('txtRows').value ;
|
||||||
var iCols = document.getElementById('txtColumns').value ;
|
var iCols = GetE('txtColumns').value ;
|
||||||
|
|
||||||
for ( var r = 0 ; r < iRows ; r++ )
|
var startRow = 0 ;
|
||||||
|
// Should we make a <thead> ?
|
||||||
|
if (headers=='row' || headers=='both')
|
||||||
{
|
{
|
||||||
|
startRow++ ;
|
||||||
|
var oThead = table.createTHead() ;
|
||||||
var oRow = table.insertRow(-1) ;
|
var oRow = table.insertRow(-1) ;
|
||||||
|
oThead.appendChild(oRow);
|
||||||
|
|
||||||
for ( var c = 0 ; c < iCols ; c++ )
|
for ( var c = 0 ; c < iCols ; c++ )
|
||||||
{
|
{
|
||||||
var oCell = oRow.insertCell(-1) ;
|
var oThcell = oDoc.createElement( 'TH' ) ;
|
||||||
|
oThcell.scope = 'col' ;
|
||||||
|
oRow.appendChild( oThcell ) ;
|
||||||
|
if ( oEditor.FCKBrowserInfo.IsGeckoLike )
|
||||||
|
oEditor.FCKTools.AppendBogusBr( oThcell ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Opera automatically creates a tbody when a thead has been added
|
||||||
|
var oTbody = FCKDomTools.GetFirstChild( table, 'TBODY' ) ;
|
||||||
|
if ( !oTbody )
|
||||||
|
{
|
||||||
|
// make TBODY if it doesn't exist
|
||||||
|
oTbody = oDoc.createElement( 'TBODY' ) ;
|
||||||
|
table.appendChild( oTbody ) ;
|
||||||
|
}
|
||||||
|
for ( var r = startRow ; r < iRows; r++ )
|
||||||
|
{
|
||||||
|
var oRow = oDoc.createElement( 'TR' ) ;
|
||||||
|
oTbody.appendChild(oRow) ;
|
||||||
|
|
||||||
|
var startCol = 0 ;
|
||||||
|
// Is the first column a header?
|
||||||
|
if (headers=='col' || headers=='both')
|
||||||
|
{
|
||||||
|
var oThcell = oDoc.createElement( 'TH' ) ;
|
||||||
|
oThcell.scope = 'row' ;
|
||||||
|
oRow.appendChild( oThcell ) ;
|
||||||
|
if ( oEditor.FCKBrowserInfo.IsGeckoLike )
|
||||||
|
oEditor.FCKTools.AppendBogusBr( oThcell ) ;
|
||||||
|
|
||||||
|
startCol++ ;
|
||||||
|
}
|
||||||
|
for ( var c = startCol ; c < iCols ; c++ )
|
||||||
|
{
|
||||||
|
// IE will leave the TH at the end of the row if we use now oRow.insertCell(-1)
|
||||||
|
var oCell = oDoc.createElement( 'TD' ) ;
|
||||||
|
oRow.appendChild( oCell ) ;
|
||||||
if ( oEditor.FCKBrowserInfo.IsGeckoLike )
|
if ( oEditor.FCKBrowserInfo.IsGeckoLike )
|
||||||
oEditor.FCKTools.AppendBogusBr( oCell ) ;
|
oEditor.FCKTools.AppendBogusBr( oCell ) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
oEditor.FCKUndo.SaveUndoStep() ;
|
|
||||||
|
|
||||||
oEditor.FCK.InsertElement( table ) ;
|
oEditor.FCK.InsertElement( table ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,39 +319,44 @@ function Ok()
|
|||||||
<table cellspacing="1" cellpadding="1" width="100%" border="0">
|
<table cellspacing="1" cellpadding="1" width="100%" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<table cellspacing="0" cellpadding="0" border="0">
|
<table cellspacing="1" cellpadding="0" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<span fcklang="DlgTableRows">Rows</span>:</td>
|
<span fcklang="DlgTableRows">Rows</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtRows" type="text" maxlength="3" size="2" value="3" name="txtRows"
|
<input id="txtRows" type="text" maxlength="3" size="2" value="3"
|
||||||
onkeypress="return IsDigit(event);" /></td>
|
onkeypress="return IsDigit(event);" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<span fcklang="DlgTableColumns">Columns</span>:</td>
|
<span fcklang="DlgTableColumns">Columns</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtColumns" type="text" maxlength="2" size="2" value="2" name="txtColumns"
|
<input id="txtColumns" type="text" maxlength="2" size="2" value="2"
|
||||||
onkeypress="return IsDigit(event);" /></td>
|
onkeypress="return IsDigit(event);" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td><span fcklang="DlgTableHeaders">Headers</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
</td>
|
<select id="selHeaders">
|
||||||
<td>
|
<option fcklang="DlgTableHeadersNone" value="">None</option>
|
||||||
</td>
|
<option fcklang="DlgTableHeadersRow" value="row">First row</option>
|
||||||
|
<option fcklang="DlgTableHeadersColumn" value="col">First column</option>
|
||||||
|
<option fcklang="DlgTableHeadersBoth" value="both">Both</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<span fcklang="DlgTableBorder">Border size</span>:</td>
|
<span fcklang="DlgTableBorder">Border size</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtBorder" type="text" maxlength="2" size="2" value="1" name="txtBorder"
|
<input id="txtBorder" type="text" maxlength="2" size="2" value="1"
|
||||||
onkeypress="return IsDigit(event);" /></td>
|
onkeypress="return IsDigit(event);" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<span fcklang="DlgTableAlign">Alignment</span>:</td>
|
<span fcklang="DlgTableAlign">Alignment</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<select id="selAlignment" name="selAlignment">
|
<select id="selAlignment">
|
||||||
<option fcklang="DlgTableAlignNotSet" value="" selected="selected"><Not set></option>
|
<option fcklang="DlgTableAlignNotSet" value="" selected="selected"><Not set></option>
|
||||||
<option fcklang="DlgTableAlignLeft" value="left">Left</option>
|
<option fcklang="DlgTableAlignLeft" value="left">Left</option>
|
||||||
<option fcklang="DlgTableAlignCenter" value="center">Center</option>
|
<option fcklang="DlgTableAlignCenter" value="center">Center</option>
|
||||||
@@ -227,10 +373,10 @@ function Ok()
|
|||||||
<td>
|
<td>
|
||||||
<span fcklang="DlgTableWidth">Width</span>:</td>
|
<span fcklang="DlgTableWidth">Width</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtWidth" type="text" maxlength="4" size="3" value="200" name="txtWidth"
|
<input id="txtWidth" type="text" maxlength="4" size="3" value="200"
|
||||||
onkeypress="return IsDigit(event);" /></td>
|
onkeypress="return IsDigit(event);" /></td>
|
||||||
<td>
|
<td>
|
||||||
<select id="selWidthType" name="selWidthType">
|
<select id="selWidthType">
|
||||||
<option fcklang="DlgTableWidthPx" value="pixels" selected="selected">pixels</option>
|
<option fcklang="DlgTableWidthPx" value="pixels" selected="selected">pixels</option>
|
||||||
<option fcklang="DlgTableWidthPc" value="percent">percent</option>
|
<option fcklang="DlgTableWidthPc" value="percent">percent</option>
|
||||||
</select></td>
|
</select></td>
|
||||||
@@ -239,23 +385,18 @@ function Ok()
|
|||||||
<td>
|
<td>
|
||||||
<span fcklang="DlgTableHeight">Height</span>:</td>
|
<span fcklang="DlgTableHeight">Height</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtHeight" type="text" maxlength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);" /></td>
|
<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" /></td>
|
||||||
<td>
|
<td>
|
||||||
<span fcklang="DlgTableWidthPx">pixels</span></td>
|
<span fcklang="DlgTableWidthPx">pixels</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td colspan="3"> </td>
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgTableCellSpace">Cell spacing</span>:</td>
|
<span fcklang="DlgTableCellSpace">Cell spacing</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtCellSpacing" type="text" maxlength="2" size="2" value="1" name="txtCellSpacing"
|
<input id="txtCellSpacing" type="text" maxlength="2" size="2" value="1"
|
||||||
onkeypress="return IsDigit(event);" /></td>
|
onkeypress="return IsDigit(event);" /></td>
|
||||||
<td>
|
<td>
|
||||||
</td>
|
</td>
|
||||||
@@ -264,7 +405,7 @@ function Ok()
|
|||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgTableCellPad">Cell padding</span>:</td>
|
<span fcklang="DlgTableCellPad">Cell padding</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtCellPadding" type="text" maxlength="2" size="2" value="1" name="txtCellPadding"
|
<input id="txtCellPadding" type="text" maxlength="2" size="2" value="1"
|
||||||
onkeypress="return IsDigit(event);" /></td>
|
onkeypress="return IsDigit(event);" /></td>
|
||||||
<td>
|
<td>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -32,8 +32,7 @@
|
|||||||
var dialog = window.parent ;
|
var dialog = window.parent ;
|
||||||
var oEditor = dialog.InnerDialogLoaded() ;
|
var oEditor = dialog.InnerDialogLoaded() ;
|
||||||
|
|
||||||
// Gets the document DOM
|
var FCKDomTools = oEditor.FCKDomTools ;
|
||||||
var oDOM = oEditor.FCK.EditorDocument ;
|
|
||||||
|
|
||||||
// Array of selected Cells
|
// Array of selected Cells
|
||||||
var aCells = oEditor.FCKTableHandler.GetSelectedCells() ;
|
var aCells = oEditor.FCKTableHandler.GetSelectedCells() ;
|
||||||
@@ -74,13 +73,15 @@ function SetStartupValue()
|
|||||||
GetE('txtCollSpan').value = GetAttribute( oCell, 'colSpan' ) ;
|
GetE('txtCollSpan').value = GetAttribute( oCell, 'colSpan' ) ;
|
||||||
GetE('txtBackColor').value = GetAttribute( oCell, 'bgColor' ) ;
|
GetE('txtBackColor').value = GetAttribute( oCell, 'bgColor' ) ;
|
||||||
GetE('txtBorderColor').value = GetAttribute( oCell, 'borderColor' ) ;
|
GetE('txtBorderColor').value = GetAttribute( oCell, 'borderColor' ) ;
|
||||||
// GetE('cmbFontStyle').value = oCell.className ;
|
GetE('selCellType').value = oCell.nodeName.toLowerCase() ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fired when the user press the OK button
|
// Fired when the user press the OK button
|
||||||
function Ok()
|
function Ok()
|
||||||
{
|
{
|
||||||
|
oEditor.FCKUndo.SaveUndoStep() ;
|
||||||
|
|
||||||
for( i = 0 ; i < aCells.length ; i++ )
|
for( i = 0 ; i < aCells.length ; i++ )
|
||||||
{
|
{
|
||||||
if ( GetE('txtWidth').value.length > 0 )
|
if ( GetE('txtWidth').value.length > 0 )
|
||||||
@@ -100,7 +101,25 @@ function Ok()
|
|||||||
SetAttribute( aCells[i], 'colSpan' , GetE('txtCollSpan').value ) ;
|
SetAttribute( aCells[i], 'colSpan' , GetE('txtCollSpan').value ) ;
|
||||||
SetAttribute( aCells[i], 'bgColor' , GetE('txtBackColor').value ) ;
|
SetAttribute( aCells[i], 'bgColor' , GetE('txtBackColor').value ) ;
|
||||||
SetAttribute( aCells[i], 'borderColor' , GetE('txtBorderColor').value ) ;
|
SetAttribute( aCells[i], 'borderColor' , GetE('txtBorderColor').value ) ;
|
||||||
// SetAttribute( aCells[i], 'className' , GetE('cmbFontStyle').value ) ;
|
|
||||||
|
var cellType = GetE('selCellType').value ;
|
||||||
|
if ( aCells[i].nodeName.toLowerCase() != cellType )
|
||||||
|
aCells[i] = RenameNode( aCells[i], cellType ) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The cells need to be reselected, otherwise the caret will appear inside the table borders (Gecko)
|
||||||
|
// or sent back to the beginning of the document (Opera and Safari).
|
||||||
|
// Strangely, IE works ok so no change is needed for IE.
|
||||||
|
if ( !oEditor.FCKBrowserInfo.IsIE )
|
||||||
|
{
|
||||||
|
var selection = oEditor.FCK.EditorWindow.getSelection() ;
|
||||||
|
selection.removeAllRanges() ;
|
||||||
|
for ( var i = 0 ; i < aCells.length ; i++ )
|
||||||
|
{
|
||||||
|
var range = oEditor.FCK.EditorDocument.createRange() ;
|
||||||
|
range.selectNode( aCells[i] ) ;
|
||||||
|
selection.addRange( range ) ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true ;
|
return true ;
|
||||||
@@ -138,7 +157,7 @@ function SelectColor( wich )
|
|||||||
<span fcklang="DlgCellWidth">Width</span>:</td>
|
<span fcklang="DlgCellWidth">Width</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input onkeypress="return IsDigit(event);" id="txtWidth" type="text" maxlength="4"
|
<input onkeypress="return IsDigit(event);" id="txtWidth" type="text" maxlength="4"
|
||||||
size="3" name="txtWidth" /> <select id="selWidthType" name="selWidthType">
|
size="3" /> <select id="selWidthType">
|
||||||
<option fcklang="DlgCellWidthPx" value="pixels" selected="selected">pixels</option>
|
<option fcklang="DlgCellWidthPx" value="pixels" selected="selected">pixels</option>
|
||||||
<option fcklang="DlgCellWidthPc" value="percent">percent</option>
|
<option fcklang="DlgCellWidthPc" value="percent">percent</option>
|
||||||
</select></td>
|
</select></td>
|
||||||
@@ -147,7 +166,7 @@ function SelectColor( wich )
|
|||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgCellHeight">Height</span>:</td>
|
<span fcklang="DlgCellHeight">Height</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtHeight" type="text" maxlength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);" /> <span
|
<input id="txtHeight" type="text" maxlength="4" size="3" onkeypress="return IsDigit(event);" /> <span
|
||||||
fcklang="DlgCellWidthPx">pixels</span></td>
|
fcklang="DlgCellWidthPx">pixels</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -160,7 +179,7 @@ function SelectColor( wich )
|
|||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgCellWordWrap">Word Wrap</span>:</td>
|
<span fcklang="DlgCellWordWrap">Word Wrap</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<select id="selWordWrap" name="selAlignment">
|
<select id="selWordWrap">
|
||||||
<option fcklang="DlgCellWordWrapYes" value="true" selected="selected">Yes</option>
|
<option fcklang="DlgCellWordWrapYes" value="true" selected="selected">Yes</option>
|
||||||
<option fcklang="DlgCellWordWrapNo" value="false">No</option>
|
<option fcklang="DlgCellWordWrapNo" value="false">No</option>
|
||||||
</select></td>
|
</select></td>
|
||||||
@@ -175,7 +194,7 @@ function SelectColor( wich )
|
|||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgCellHorAlign">Horizontal Alignment</span>:</td>
|
<span fcklang="DlgCellHorAlign">Horizontal Alignment</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<select id="selHAlign" name="selAlignment">
|
<select id="selHAlign">
|
||||||
<option fcklang="DlgCellHorAlignNotSet" value="" selected><Not set></option>
|
<option fcklang="DlgCellHorAlignNotSet" value="" selected><Not set></option>
|
||||||
<option fcklang="DlgCellHorAlignLeft" value="left">Left</option>
|
<option fcklang="DlgCellHorAlignLeft" value="left">Left</option>
|
||||||
<option fcklang="DlgCellHorAlignCenter" value="center">Center</option>
|
<option fcklang="DlgCellHorAlignCenter" value="center">Center</option>
|
||||||
@@ -186,7 +205,7 @@ function SelectColor( wich )
|
|||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgCellVerAlign">Vertical Alignment</span>:</td>
|
<span fcklang="DlgCellVerAlign">Vertical Alignment</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<select id="selVAlign" name="selAlignment">
|
<select id="selVAlign">
|
||||||
<option fcklang="DlgCellVerAlignNotSet" value="" selected><Not set></option>
|
<option fcklang="DlgCellVerAlignNotSet" value="" selected><Not set></option>
|
||||||
<option fcklang="DlgCellVerAlignTop" value="top">Top</option>
|
<option fcklang="DlgCellVerAlignTop" value="top">Top</option>
|
||||||
<option fcklang="DlgCellVerAlignMiddle" value="middle">Middle</option>
|
<option fcklang="DlgCellVerAlignMiddle" value="middle">Middle</option>
|
||||||
@@ -200,13 +219,30 @@ function SelectColor( wich )
|
|||||||
</td>
|
</td>
|
||||||
<td align="right">
|
<td align="right">
|
||||||
<table cellspacing="0" cellpadding="0" border="0">
|
<table cellspacing="0" cellpadding="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td nowrap="nowrap">
|
||||||
|
<span fcklang="DlgCellType">Cell Type</span>:</td>
|
||||||
|
<td colspan="2">
|
||||||
|
<select id="selCellType">
|
||||||
|
<option fcklang="DlgCellTypeData" value="td" />Data
|
||||||
|
<option fcklang="DlgCellTypeHeader" value="th" />Header
|
||||||
|
</select>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgCellRowSpan">Rows Span</span>:</td>
|
<span fcklang="DlgCellRowSpan">Rows Span</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
<input onkeypress="return IsDigit(event);" id="txtRowSpan" type="text" maxlength="3" size="2"
|
<input onkeypress="return IsDigit(event);" id="txtRowSpan" type="text" maxlength="3" size="2"
|
||||||
name="txtRows"></td>
|
></td>
|
||||||
<td>
|
<td>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -216,7 +252,7 @@ function SelectColor( wich )
|
|||||||
<td>
|
<td>
|
||||||
|
|
||||||
<input onkeypress="return IsDigit(event);" id="txtCollSpan" type="text" maxlength="2"
|
<input onkeypress="return IsDigit(event);" id="txtCollSpan" type="text" maxlength="2"
|
||||||
size="2" name="txtColumns"></td>
|
size="2"></td>
|
||||||
<td>
|
<td>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -232,7 +268,7 @@ function SelectColor( wich )
|
|||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgCellBackColor">Background Color</span>:</td>
|
<span fcklang="DlgCellBackColor">Background Color</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtBackColor" type="text" size="8" name="txtCellSpacing"></td>
|
<input id="txtBackColor" type="text" size="8" /></td>
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
<input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Back' )"></td>
|
<input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Back' )"></td>
|
||||||
@@ -241,7 +277,7 @@ function SelectColor( wich )
|
|||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span fcklang="DlgCellBorderColor">Border Color</span>:</td>
|
<span fcklang="DlgCellBorderColor">Border Color</span>:</td>
|
||||||
<td>
|
<td>
|
||||||
<input id="txtBorderColor" type="text" size="8" name="txtCellPadding" /></td>
|
<input id="txtBorderColor" type="text" size="8" /></td>
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
<input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Border' )" /></td>
|
<input type="button" fcklang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Border' )" /></td>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -27,6 +27,8 @@
|
|||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta name="robots" content="noindex, nofollow" />
|
<meta name="robots" content="noindex, nofollow" />
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
// <![CDATA[
|
||||||
|
|
||||||
// Domain relaxation logic.
|
// Domain relaxation logic.
|
||||||
(function()
|
(function()
|
||||||
{
|
{
|
||||||
@@ -84,7 +86,7 @@ window.focus() ;
|
|||||||
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
|
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
|
||||||
|
|
||||||
// Sets the language direction.
|
// Sets the language direction.
|
||||||
var langDir = document.documentElement.dir = E.FCKLang.Dir ;
|
var langDir = E.FCKLang.Dir ;
|
||||||
|
|
||||||
// For IE6-, the fck_dialog_ie6.js is loaded, used to fix limitations in the browser.
|
// For IE6-, the fck_dialog_ie6.js is loaded, used to fix limitations in the browser.
|
||||||
if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
|
if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
|
||||||
@@ -190,6 +192,19 @@ var Sizer = function()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IE6 has a similar bug where it sometimes thinks $('contents') has an
|
||||||
|
* offsetHeight of 0 (#2114).
|
||||||
|
*/
|
||||||
|
if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
|
||||||
|
{
|
||||||
|
var originalRefreshContainerSize = retval.RefreshContainerSize ;
|
||||||
|
retval.RefreshContainerSize = function()
|
||||||
|
{
|
||||||
|
FCKTools.SetTimeout( originalRefreshContainerSize, 1, retval ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
window.onresize = function()
|
window.onresize = function()
|
||||||
{
|
{
|
||||||
retval.RefreshContainerSize() ;
|
retval.RefreshContainerSize() ;
|
||||||
@@ -232,10 +247,13 @@ var Throbber = function()
|
|||||||
|
|
||||||
var throbberParent = $( 'throbberBlock' ) ;
|
var throbberParent = $( 'throbberBlock' ) ;
|
||||||
|
|
||||||
|
if (throbberParent.childNodes.length == 0)
|
||||||
|
{
|
||||||
// Create the throbber blocks.
|
// Create the throbber blocks.
|
||||||
var classIds = [ 1,2,3,4,5,4,3,2 ] ;
|
var classIds = [ 1,2,3,4,5,4,3,2 ] ;
|
||||||
while ( classIds.length > 0 )
|
while ( classIds.length > 0 )
|
||||||
throbberParent.appendChild( document.createElement( 'div' ) ).className = ' throbber_' + classIds.shift() ;
|
throbberParent.appendChild( document.createElement( 'div' ) ).className = ' throbber_' + classIds.shift() ;
|
||||||
|
}
|
||||||
|
|
||||||
// Center the throbber.
|
// Center the throbber.
|
||||||
var frm = $( 'contents' ) ;
|
var frm = $( 'contents' ) ;
|
||||||
@@ -248,6 +266,10 @@ var Throbber = function()
|
|||||||
// Show it.
|
// Show it.
|
||||||
throbberParent.style.visibility = '' ;
|
throbberParent.style.visibility = '' ;
|
||||||
|
|
||||||
|
// Hide tabs and buttons:
|
||||||
|
$( 'Tabs' ).style.visibility = 'hidden' ;
|
||||||
|
$( 'PopupButtons' ).style.visibility = 'hidden' ;
|
||||||
|
|
||||||
// Setup the animation interval.
|
// Setup the animation interval.
|
||||||
timer = setInterval( updateThrobber, 100 ) ;
|
timer = setInterval( updateThrobber, 100 ) ;
|
||||||
},
|
},
|
||||||
@@ -260,9 +282,11 @@ var Throbber = function()
|
|||||||
timer = null ;
|
timer = null ;
|
||||||
}
|
}
|
||||||
|
|
||||||
var throbberParent = document.getElementById( 'throbberBlock' ) ;
|
$( 'throbberBlock' ).style.visibility = 'hidden' ;
|
||||||
if ( throbberParent )
|
|
||||||
FCKDomTools.RemoveNode( throbberParent ) ;
|
// Show tabs and buttons:
|
||||||
|
$( 'Tabs' ).style.visibility = '' ;
|
||||||
|
$( 'PopupButtons' ).style.visibility = '' ;
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
}() ;
|
}() ;
|
||||||
@@ -385,6 +409,11 @@ var Selection =
|
|||||||
*/
|
*/
|
||||||
EnsureSelection : function()
|
EnsureSelection : function()
|
||||||
{
|
{
|
||||||
|
// Move the focus to the Cancel button so even if the dialog contains a
|
||||||
|
// contentEditable element the selection is properly restored in the editor #2496
|
||||||
|
window.focus() ;
|
||||||
|
$( 'btnCancel' ).focus() ;
|
||||||
|
|
||||||
FCK.Selection.Restore() ;
|
FCK.Selection.Restore() ;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -549,6 +578,8 @@ var onReadyRegister = function()
|
|||||||
// Program entry point.
|
// Program entry point.
|
||||||
window.Init = function()
|
window.Init = function()
|
||||||
{
|
{
|
||||||
|
$( 'contents' ).dir = langDir;
|
||||||
|
|
||||||
// Start the throbber timer.
|
// Start the throbber timer.
|
||||||
Throbber.Show( 1000 ) ;
|
Throbber.Show( 1000 ) ;
|
||||||
|
|
||||||
@@ -617,7 +648,7 @@ var onReadyRegister = function()
|
|||||||
E.FCKLanguageManager.TranslatePage( document ) ;
|
E.FCKLanguageManager.TranslatePage( document ) ;
|
||||||
|
|
||||||
// Create the IFRAME that holds the dialog contents.
|
// Create the IFRAME that holds the dialog contents.
|
||||||
$( 'innerContents' ).innerHTML = '<iframe id="frmMain" src="' + Args().Page + '" name="frmMain" frameborder="0" width="100%" height="100%" scrolling="auto" style="visibility: hidden;" allowtransparency="true"></iframe>' ;
|
$( 'innerContents' ).innerHTML = '<iframe id="frmMain" src="' + Args().Page + '" name="frmMain" frameborder="0" width="100%" height="100%" scrolling="auto" style="visibility: hidden;" allowtransparency="true"><\/iframe>' ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
window.InnerDialogLoaded = function()
|
window.InnerDialogLoaded = function()
|
||||||
@@ -727,6 +758,7 @@ var onReadyRegister = function()
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
})() ;
|
})() ;
|
||||||
|
// ]]>
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body onload="Init();" class="PopupBody">
|
<body onload="Init();" class="PopupBody">
|
||||||
@@ -734,7 +766,9 @@ var onReadyRegister = function()
|
|||||||
<div id="header">
|
<div id="header">
|
||||||
<div id="TitleArea" class="PopupTitle PopupTitleBorder">
|
<div id="TitleArea" class="PopupTitle PopupTitleBorder">
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
// <![CDATA[
|
||||||
document.write( Args().Title ) ;
|
document.write( Args().Title ) ;
|
||||||
|
// ]]>
|
||||||
</script>
|
</script>
|
||||||
<div id="closeButton" onclick="Cancel();"></div>
|
<div id="closeButton" onclick="Cancel();"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -772,12 +806,14 @@ document.write( Args().Title ) ;
|
|||||||
<div class="cover" id="cover" style="display:none"></div>
|
<div class="cover" id="cover" style="display:none"></div>
|
||||||
<div id="throbberBlock" style="position: absolute; visibility: hidden"></div>
|
<div id="throbberBlock" style="position: absolute; visibility: hidden"></div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
// <![CDATA[
|
||||||
// Set the class name for language direction.
|
// Set the class name for language direction.
|
||||||
document.body.className += ' ' + langDir ;
|
document.body.className += ' ' + langDir ;
|
||||||
|
|
||||||
var cover = $( 'cover' ) ;
|
var cover = $( 'cover' ) ;
|
||||||
cover.style.backgroundColor = FCKConfig.BackgroundBlockerColor ;
|
cover.style.backgroundColor = FCKConfig.BackgroundBlockerColor ;
|
||||||
FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ;
|
FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ;
|
||||||
|
// ]]>
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -29,6 +29,37 @@
|
|||||||
<meta http-equiv="Cache-Control" content="public">
|
<meta http-equiv="Cache-Control" content="public">
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem
|
||||||
|
// without security.fileuri.strict_origin_policy disabled.
|
||||||
|
if ( document.location.protocol == 'file:' )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
window.parent.document.domain ;
|
||||||
|
}
|
||||||
|
catch ( e )
|
||||||
|
{
|
||||||
|
window.addEventListener( 'load', function()
|
||||||
|
{
|
||||||
|
document.body.innerHTML = '\
|
||||||
|
<div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\
|
||||||
|
<p>\
|
||||||
|
<b>Your browser security settings don\'t allow FCKeditor to be opened from\
|
||||||
|
the local filesystem.<\/b>\
|
||||||
|
<\/p>\
|
||||||
|
<p>\
|
||||||
|
Please open the <b>about:config<\/b> page and disable the\
|
||||||
|
"security.fileuri.strict_origin_policy" option; then load this page again.\
|
||||||
|
<\/p>\
|
||||||
|
<p>\
|
||||||
|
Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\
|
||||||
|
for more information.\
|
||||||
|
<\/p>\
|
||||||
|
<\/div>' ;
|
||||||
|
}, false ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Save a reference to the default domain.
|
// Save a reference to the default domain.
|
||||||
var FCK_ORIGINAL_DOMAIN ;
|
var FCK_ORIGINAL_DOMAIN ;
|
||||||
|
|
||||||
@@ -134,9 +165,16 @@ FCKConfig_LoadPageConfig() ;
|
|||||||
|
|
||||||
FCKConfig_PreProcess() ;
|
FCKConfig_PreProcess() ;
|
||||||
|
|
||||||
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
|
// Load the full debug script.
|
||||||
var FCK_InternalCSS = FCKTools.FixCssUrls( FCKConfig.FullBasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;
|
if ( FCKConfig.Debug )
|
||||||
var FCK_ShowTableBordersCSS = FCKTools.FixCssUrls( FCKConfig.FullBasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;
|
LoadScript( '_source/internals/fckdebug.js' ) ;
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).
|
||||||
|
var FCK_InternalCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;
|
||||||
|
var FCK_ShowTableBordersCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;
|
||||||
|
|
||||||
// Popup the debug window if debug mode is set to true. It guarantees that the
|
// Popup the debug window if debug mode is set to true. It guarantees that the
|
||||||
// first debug message will not be lost.
|
// first debug message will not be lost.
|
||||||
@@ -215,6 +253,7 @@ function WaitForActive( editorInstance, newStatus )
|
|||||||
if ( FCKBrowserInfo.IsGecko )
|
if ( FCKBrowserInfo.IsGecko )
|
||||||
FCKTools.RunFunction( window.onresize ) ;
|
FCKTools.RunFunction( window.onresize ) ;
|
||||||
|
|
||||||
|
if ( !FCKConfig.PreventSubmitHandler )
|
||||||
_AttachFormSubmitToAPI() ;
|
_AttachFormSubmitToAPI() ;
|
||||||
|
|
||||||
FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
|
FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -31,6 +31,37 @@
|
|||||||
@Packager.RemoveLine -->
|
@Packager.RemoveLine -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem
|
||||||
|
// without security.fileuri.strict_origin_policy disabled.
|
||||||
|
if ( document.location.protocol == 'file:' )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
window.parent.document.domain ;
|
||||||
|
}
|
||||||
|
catch ( e )
|
||||||
|
{
|
||||||
|
window.addEventListener( 'load', function()
|
||||||
|
{
|
||||||
|
document.body.innerHTML = '\
|
||||||
|
<div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\
|
||||||
|
<p>\
|
||||||
|
<b>Your browser security settings don\'t allow FCKeditor to be opened from\
|
||||||
|
the local filesystem.<\/b>\
|
||||||
|
<\/p>\
|
||||||
|
<p>\
|
||||||
|
Please open the <b>about:config<\/b> page and disable the\
|
||||||
|
"security.fileuri.strict_origin_policy" option; then load this page again.\
|
||||||
|
<\/p>\
|
||||||
|
<p>\
|
||||||
|
Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\
|
||||||
|
for more information.\
|
||||||
|
<\/p>\
|
||||||
|
<\/div>' ;
|
||||||
|
}, false ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Save a reference to the default domain.
|
// Save a reference to the default domain.
|
||||||
var FCK_ORIGINAL_DOMAIN ;
|
var FCK_ORIGINAL_DOMAIN ;
|
||||||
|
|
||||||
@@ -103,7 +134,7 @@ LoadScript( '_source/internals/fck.js' ) ;
|
|||||||
LoadScript( '_source/internals/fck_' + sSuffix + '.js' ) ;
|
LoadScript( '_source/internals/fck_' + sSuffix + '.js' ) ;
|
||||||
LoadScript( '_source/internals/fckconfig.js' ) ;
|
LoadScript( '_source/internals/fckconfig.js' ) ;
|
||||||
|
|
||||||
LoadScript( '_source/internals/fckdebug.js' ) ;
|
LoadScript( '_source/internals/fckdebug_empty.js' ) ;
|
||||||
LoadScript( '_source/internals/fckdomtools.js' ) ;
|
LoadScript( '_source/internals/fckdomtools.js' ) ;
|
||||||
LoadScript( '_source/internals/fcktools.js' ) ;
|
LoadScript( '_source/internals/fcktools.js' ) ;
|
||||||
LoadScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;
|
LoadScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;
|
||||||
@@ -237,12 +268,19 @@ FCKConfig_LoadPageConfig() ;
|
|||||||
|
|
||||||
FCKConfig_PreProcess() ;
|
FCKConfig_PreProcess() ;
|
||||||
|
|
||||||
var FCK_InternalCSS = FCKConfig.FullBasePath + 'css/fck_internal.css' ; // @Packager.RemoveLine
|
// Load the full debug script.
|
||||||
var FCK_ShowTableBordersCSS = FCKConfig.FullBasePath + 'css/fck_showtableborders_gecko.css' ; // @Packager.RemoveLine
|
if ( FCKConfig.Debug )
|
||||||
|
LoadScript( '_source/internals/fckdebug.js' ) ;
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
var FCK_InternalCSS = FCKConfig.BasePath + 'css/fck_internal.css' ; // @Packager.RemoveLine
|
||||||
|
var FCK_ShowTableBordersCSS = FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ; // @Packager.RemoveLine
|
||||||
/* @Packager.RemoveLine
|
/* @Packager.RemoveLine
|
||||||
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
|
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).
|
||||||
var FCK_InternalCSS = FCKTools.FixCssUrls( FCKConfig.FullBasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;
|
var FCK_InternalCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;
|
||||||
var FCK_ShowTableBordersCSS = FCKTools.FixCssUrls( FCKConfig.FullBasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;
|
var FCK_ShowTableBordersCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;
|
||||||
@Packager.RemoveLine */
|
@Packager.RemoveLine */
|
||||||
|
|
||||||
// Popup the debug window if debug mode is set to true. It guarantees that the
|
// Popup the debug window if debug mode is set to true. It guarantees that the
|
||||||
@@ -322,6 +360,7 @@ function WaitForActive( editorInstance, newStatus )
|
|||||||
if ( FCKBrowserInfo.IsGecko )
|
if ( FCKBrowserInfo.IsGecko )
|
||||||
FCKTools.RunFunction( window.onresize ) ;
|
FCKTools.RunFunction( window.onresize ) ;
|
||||||
|
|
||||||
|
if ( !FCKConfig.PreventSubmitHandler )
|
||||||
_AttachFormSubmitToAPI() ;
|
_AttachFormSubmitToAPI() ;
|
||||||
|
|
||||||
FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
|
FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -23,28 +23,25 @@
|
|||||||
|
|
||||||
body
|
body
|
||||||
{
|
{
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1e3;
|
||||||
|
margin-top:0;
|
||||||
|
margin-bottom:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
form
|
form
|
||||||
{
|
{
|
||||||
margin: 0px 0px 0px 0px ;
|
margin: 0;
|
||||||
padding: 0px 0px 0px 0px ;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Frame
|
.Frame
|
||||||
{
|
{
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1e3;
|
||||||
border-color: #f1f1f1;
|
border: thin inset #f1f1e3;
|
||||||
border-right: thin inset;
|
|
||||||
border-top: thin inset;
|
|
||||||
border-left: thin inset;
|
|
||||||
border-bottom: thin inset;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body.FileArea
|
body.FileArea
|
||||||
{
|
{
|
||||||
|
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
@@ -70,12 +67,9 @@ body, td, input, select
|
|||||||
|
|
||||||
.Button, button
|
.Button, button
|
||||||
{
|
{
|
||||||
border-right: #737357 1px solid;
|
|
||||||
border-top: #737357 1px solid;
|
|
||||||
border-left: #737357 1px solid;
|
|
||||||
color: #3b3b1f;
|
color: #3b3b1f;
|
||||||
border-bottom: #737357 1px solid;
|
border: #737357 1px solid;
|
||||||
background-color: #bfbfbf;
|
background-color: #c7c78f;
|
||||||
}
|
}
|
||||||
|
|
||||||
.FolderListCurrentFolder img
|
.FolderListCurrentFolder img
|
||||||
@@ -87,3 +81,7 @@ body, td, input, select
|
|||||||
{
|
{
|
||||||
background-image: url(images/Folder.gif);
|
background-image: url(images/Folder.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fullHeight {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
|
||||||
|
"http://www.w3.org/TR/html4/frameset.dtd">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -27,7 +28,7 @@
|
|||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||||
<script type="text/javascript" src="js/fckxml.js"></script>
|
<script type="text/javascript" src="js/fckxml.js"></script>
|
||||||
<script language="javascript">
|
<script type="text/javascript">
|
||||||
// Automatically detect the correct document.domain (#1919).
|
// Automatically detect the correct document.domain (#1919).
|
||||||
(function()
|
(function()
|
||||||
{
|
{
|
||||||
@@ -41,7 +42,8 @@
|
|||||||
var test = window.opener.document.domain ;
|
var test = window.opener.document.domain ;
|
||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
catch( e ) {}
|
catch( e )
|
||||||
|
{}
|
||||||
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
||||||
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<title>Folder path</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@@ -39,7 +40,8 @@
|
|||||||
var test = window.top.opener.document.domain ;
|
var test = window.top.opener.document.domain ;
|
||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
catch( e ) {}
|
catch( e )
|
||||||
|
{}
|
||||||
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
||||||
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
||||||
@@ -58,12 +60,6 @@
|
|||||||
}
|
}
|
||||||
})() ;
|
})() ;
|
||||||
|
|
||||||
function OnResize()
|
|
||||||
{
|
|
||||||
divName.style.width = "1px" ;
|
|
||||||
divName.style.width = tdName.offsetWidth + "px" ;
|
|
||||||
}
|
|
||||||
|
|
||||||
function SetCurrentFolder( resourceType, folderPath )
|
function SetCurrentFolder( resourceType, folderPath )
|
||||||
{
|
{
|
||||||
document.getElementById('tdName').innerHTML = folderPath ;
|
document.getElementById('tdName').innerHTML = folderPath ;
|
||||||
@@ -76,8 +72,8 @@ window.onload = function()
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body bottomMargin="0" topMargin="0">
|
<body>
|
||||||
<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<button style="WIDTH: 100%" type="button">
|
<button style="WIDTH: 100%" type="button">
|
||||||
@@ -87,7 +83,7 @@ window.onload = function()
|
|||||||
<td> </td>
|
<td> </td>
|
||||||
<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
|
<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
<td><img height="8" src="images/ButtonArrow.gif" width="12"></td>
|
<td><img height="8" src="images/ButtonArrow.gif" width="12" alt=""></td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -23,10 +23,11 @@
|
|||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<title>Create Folder</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||||
<script type="text/javascript" src="js/common.js"></script>
|
<script type="text/javascript" src="js/common.js"></script>
|
||||||
<script language="javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
function SetCurrentFolder( resourceType, folderPath )
|
function SetCurrentFolder( resourceType, folderPath )
|
||||||
{
|
{
|
||||||
@@ -93,8 +94,8 @@ window.onload = function()
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body bottomMargin="0" topMargin="0">
|
<body>
|
||||||
<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
|
<button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -24,10 +24,11 @@
|
|||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<title>Folders</title>
|
||||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<script type="text/javascript" src="js/common.js"></script>
|
<script type="text/javascript" src="js/common.js"></script>
|
||||||
<script language="javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
var sActiveFolder ;
|
var sActiveFolder ;
|
||||||
|
|
||||||
@@ -66,12 +67,12 @@ oListManager.AddItem = function( folderName, folderPath )
|
|||||||
// Add the folder icon cell.
|
// Add the folder icon cell.
|
||||||
var oCell = oRow.insertCell(-1) ;
|
var oCell = oRow.insertCell(-1) ;
|
||||||
oCell.width = 16 ;
|
oCell.width = 16 ;
|
||||||
oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"></a>' ;
|
oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"><\/a>' ;
|
||||||
|
|
||||||
// Add the folder name cell.
|
// Add the folder name cell.
|
||||||
oCell = oRow.insertCell(-1) ;
|
oCell = oRow.insertCell(-1) ;
|
||||||
oCell.noWrap = true ;
|
oCell.noWrap = true ;
|
||||||
oCell.innerHTML = ' ' + sLink + folderName + '</a>' ;
|
oCell.innerHTML = ' ' + sLink + folderName + '<\/a>' ;
|
||||||
|
|
||||||
this.TableRows[ folderPath ] = oRow ;
|
this.TableRows[ folderPath ] = oRow ;
|
||||||
}
|
}
|
||||||
@@ -186,7 +187,7 @@ window.onload = function()
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
|
<body class="FileArea">
|
||||||
<table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
<table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
||||||
<tr id="trUp" style="DISPLAY: none">
|
<tr id="trUp" style="DISPLAY: none">
|
||||||
<td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
|
<td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -21,9 +21,10 @@
|
|||||||
*
|
*
|
||||||
* This page shows all resources available in a folder in the File Browser.
|
* This page shows all resources available in a folder in the File Browser.
|
||||||
-->
|
-->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<link href="browser.css" type="text/css" rel="stylesheet" />
|
<title>Resources</title>
|
||||||
|
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<script type="text/javascript" src="js/common.js"></script>
|
<script type="text/javascript" src="js/common.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -23,10 +23,11 @@
|
|||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<title>Available types</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||||
<script type="text/javascript" src="js/common.js"></script>
|
<script type="text/javascript" src="js/common.js"></script>
|
||||||
<script language="javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
function SetResourceType( type )
|
function SetResourceType( type )
|
||||||
{
|
{
|
||||||
@@ -42,21 +43,24 @@ var aTypes = [
|
|||||||
|
|
||||||
window.onload = function()
|
window.onload = function()
|
||||||
{
|
{
|
||||||
|
var oCombo = document.getElementById('cmbType') ;
|
||||||
|
oCombo.innerHTML = '' ;
|
||||||
for ( var i = 0 ; i < aTypes.length ; i++ )
|
for ( var i = 0 ; i < aTypes.length ; i++ )
|
||||||
{
|
{
|
||||||
if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )
|
if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )
|
||||||
AddSelectOption( document.getElementById('cmbType'), aTypes[i][1], aTypes[i][0] ) ;
|
AddSelectOption( oCombo, aTypes[i][1], aTypes[i][0] ) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body bottomMargin="0" topMargin="0">
|
<body>
|
||||||
<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap>
|
<td nowrap>
|
||||||
Resource Type<BR>
|
Resource Type<BR>
|
||||||
<select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">
|
<select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">
|
||||||
|
<option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -21,11 +21,11 @@
|
|||||||
*
|
*
|
||||||
* Page used to upload new files in the current folder.
|
* Page used to upload new files in the current folder.
|
||||||
-->
|
-->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>File Upload</title>
|
<title>File Upload</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<link href="browser.css" type="text/css" rel="stylesheet" />
|
<link href="browser.css" type="text/css" rel="stylesheet" >
|
||||||
<script type="text/javascript" src="js/common.js"></script>
|
<script type="text/javascript" src="js/common.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
@@ -95,9 +95,9 @@ window.onload = function()
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body bottommargin="0" topmargin="0">
|
<body>
|
||||||
<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
|
<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
|
||||||
<table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
|
<table class="fullHeight" cellspacing="0" cellpadding="0" width="100%" border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap="nowrap">
|
<td nowrap="nowrap">
|
||||||
<span id="eUploadMessage">Upload a new file in this folder</span><br>
|
<span id="eUploadMessage">Upload a new file in this folder</span><br>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -35,7 +35,8 @@
|
|||||||
var test = window.top.opener.document.domain ;
|
var test = window.top.opener.document.domain ;
|
||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
catch( e ) {}
|
catch( e )
|
||||||
|
{}
|
||||||
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
||||||
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -61,7 +61,25 @@ FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
|
|||||||
{
|
{
|
||||||
if ( oXmlHttp.readyState == 4 )
|
if ( oXmlHttp.readyState == 4 )
|
||||||
{
|
{
|
||||||
if ( ( oXmlHttp.status != 200 && oXmlHttp.status != 304 ) || oXmlHttp.responseXML == null || oXmlHttp.responseXML.firstChild == null )
|
var oXml ;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// this is the same test for an FF2 bug as in fckxml_gecko.js
|
||||||
|
// but we've moved the responseXML assignment into the try{}
|
||||||
|
// so we don't even have to check the return status codes.
|
||||||
|
var test = oXmlHttp.responseXML.firstChild ;
|
||||||
|
oXml = oXmlHttp.responseXML ;
|
||||||
|
}
|
||||||
|
catch ( e )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
oXml = (new DOMParser()).parseFromString( oXmlHttp.responseText, 'text/xml' ) ;
|
||||||
|
}
|
||||||
|
catch ( e ) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !oXml || !oXml.firstChild || oXml.firstChild.nodeName == 'parsererror' )
|
||||||
{
|
{
|
||||||
alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' +
|
alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' +
|
||||||
'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')\n\n' +
|
'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')\n\n' +
|
||||||
@@ -70,7 +88,7 @@ FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
|
|||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
oFCKXml.DOMDocument = oXmlHttp.responseXML ;
|
oFCKXml.DOMDocument = oXml ;
|
||||||
asyncFunctionPointer( oFCKXml ) ;
|
asyncFunctionPointer( oFCKXml ) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
@@ -30,6 +30,7 @@ Sub SetXmlHeaders()
|
|||||||
Response.CacheControl = "no-cache"
|
Response.CacheControl = "no-cache"
|
||||||
|
|
||||||
' Set the response format.
|
' Set the response format.
|
||||||
|
Response.CodePage = 65001
|
||||||
Response.CharSet = "UTF-8"
|
Response.CharSet = "UTF-8"
|
||||||
Response.ContentType = "text/xml"
|
Response.ContentType = "text/xml"
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
@@ -350,4 +350,4 @@ End Class
|
|||||||
Class NetRube_FileInfo
|
Class NetRube_FileInfo
|
||||||
Dim FormName, ClientPath, Path, Name, Ext, Content, Size, MIME, Start
|
Dim FormName, ClientPath, Path, Name, Ext, Content, Size, MIME, Start
|
||||||
End Class
|
End Class
|
||||||
%>
|
%>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
@@ -103,7 +103,7 @@ Sub CreateFolder( resourceType, currentFolder )
|
|||||||
Else
|
Else
|
||||||
' Map the virtual path to the local server path of the current folder.
|
' Map the virtual path to the local server path of the current folder.
|
||||||
Dim sServerDir
|
Dim sServerDir
|
||||||
sServerDir = ServerMapFolder( resourceType, CombinePaths(currentFolder, sNewFolderName), "CreateFolder" )
|
sServerDir = ServerMapFolder( resourceType, CombineLocalPaths(currentFolder, sNewFolderName), "CreateFolder" )
|
||||||
|
|
||||||
On Error Resume Next
|
On Error Resume Next
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ Sub FileUpload( resourceType, currentFolder, sCommand )
|
|||||||
|
|
||||||
Do While ( True )
|
Do While ( True )
|
||||||
Dim sFilePath
|
Dim sFilePath
|
||||||
sFilePath = sServerDir & sFileName
|
sFilePath = CombineLocalPaths(sServerDir, sFileName)
|
||||||
|
|
||||||
If ( oFSO.FileExists( sFilePath ) ) Then
|
If ( oFSO.FileExists( sFilePath ) ) Then
|
||||||
iCounter = iCounter + 1
|
iCounter = iCounter + 1
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Response.Buffer = True
|
|||||||
%>
|
%>
|
||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
@@ -22,9 +22,16 @@
|
|||||||
%>
|
%>
|
||||||
<%
|
<%
|
||||||
function CombinePaths( sBasePath, sFolder)
|
function CombinePaths( sBasePath, sFolder)
|
||||||
|
sFolder = replace(sFolder, "\", "/")
|
||||||
CombinePaths = RemoveFromEnd( sBasePath, "/" ) & "/" & RemoveFromStart( sFolder, "/" )
|
CombinePaths = RemoveFromEnd( sBasePath, "/" ) & "/" & RemoveFromStart( sFolder, "/" )
|
||||||
end function
|
end function
|
||||||
|
|
||||||
|
function CombineLocalPaths( sBasePath, sFolder)
|
||||||
|
sFolder = replace(sFolder, "/", "\")
|
||||||
|
' The RemoveFrom* functions use RegExp, so we must escape the \
|
||||||
|
CombineLocalPaths = RemoveFromEnd( sBasePath, "\\" ) & "\" & RemoveFromStart( sFolder, "\\" )
|
||||||
|
end function
|
||||||
|
|
||||||
Function GetResourceTypePath( resourceType, sCommand )
|
Function GetResourceTypePath( resourceType, sCommand )
|
||||||
if ( sCommand = "QuickUpload") then
|
if ( sCommand = "QuickUpload") then
|
||||||
GetResourceTypePath = ConfigQuickUploadPath.Item( resourceType )
|
GetResourceTypePath = ConfigQuickUploadPath.Item( resourceType )
|
||||||
@@ -69,7 +76,7 @@ Function ServerMapFolder( resourceType, folderPath, sCommand )
|
|||||||
CreateServerFolder sResourceTypePath
|
CreateServerFolder sResourceTypePath
|
||||||
|
|
||||||
' Return the resource type directory combined with the required path.
|
' Return the resource type directory combined with the required path.
|
||||||
ServerMapFolder = CombinePaths( sResourceTypePath, folderPath )
|
ServerMapFolder = CombineLocalPaths( sResourceTypePath, folderPath )
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Sub CreateServerFolder( folderPath )
|
Sub CreateServerFolder( folderPath )
|
||||||
@@ -79,6 +86,10 @@ Sub CreateServerFolder( folderPath )
|
|||||||
Dim sParent
|
Dim sParent
|
||||||
sParent = oFSO.GetParentFolderName( folderPath )
|
sParent = oFSO.GetParentFolderName( folderPath )
|
||||||
|
|
||||||
|
' If folderPath is a network path (\\server\folder\) then sParent is an empty string.
|
||||||
|
' Get out.
|
||||||
|
if (sParent = "") then exit sub
|
||||||
|
|
||||||
' Check if the parent exists, or create it.
|
' Check if the parent exists, or create it.
|
||||||
If ( NOT oFSO.FolderExists( sParent ) ) Then CreateServerFolder( sParent )
|
If ( NOT oFSO.FolderExists( sParent ) ) Then CreateServerFolder( sParent )
|
||||||
|
|
||||||
@@ -141,7 +152,7 @@ End Function
|
|||||||
Function IsAllowedType( resourceType )
|
Function IsAllowedType( resourceType )
|
||||||
Dim oRE
|
Dim oRE
|
||||||
Set oRE = New RegExp
|
Set oRE = New RegExp
|
||||||
oRE.IgnoreCase = True
|
oRE.IgnoreCase = False
|
||||||
oRE.Global = True
|
oRE.Global = True
|
||||||
oRE.Pattern = "^(" & ConfigAllowedTypes & ")$"
|
oRE.Pattern = "^(" & ConfigAllowedTypes & ")$"
|
||||||
|
|
||||||
@@ -214,37 +225,9 @@ end function
|
|||||||
Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg )
|
Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg )
|
||||||
Response.Clear
|
Response.Clear
|
||||||
Response.Write "<script type=""text/javascript"">"
|
Response.Write "<script type=""text/javascript"">"
|
||||||
Response.Write "(function()"
|
' Minified version of the document.domain automatic fix script (#1919).
|
||||||
Response.Write "{"
|
' The original script can be found at _dev/domain_fix_template.js
|
||||||
Response.Write "var d = document.domain ;"
|
Response.Write "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();"
|
||||||
|
|
||||||
Response.Write " while ( true )"
|
|
||||||
Response.Write " {"
|
|
||||||
' Test if we can access a parent property.
|
|
||||||
Response.Write " try"
|
|
||||||
Response.Write " {"
|
|
||||||
Response.Write " var test = window.top.opener.document.domain ;"
|
|
||||||
Response.Write " break ;"
|
|
||||||
Response.Write " }"
|
|
||||||
Response.Write " catch( e ) {}"
|
|
||||||
|
|
||||||
' Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
|
||||||
Response.Write " d = d.replace( /.*?(?:\.|$)/, '' ) ;"
|
|
||||||
|
|
||||||
Response.Write " if ( d.length == 0 )"
|
|
||||||
' It was not able to detect the domain.
|
|
||||||
Response.Write " break ;"
|
|
||||||
Response.Write ""
|
|
||||||
Response.Write " try"
|
|
||||||
Response.Write " {"
|
|
||||||
Response.Write " document.domain = d ;"
|
|
||||||
Response.Write " }"
|
|
||||||
Response.Write " catch (e)"
|
|
||||||
Response.Write " {"
|
|
||||||
Response.Write " break ;"
|
|
||||||
Response.Write " }"
|
|
||||||
Response.Write " }"
|
|
||||||
Response.Write "})() ;"
|
|
||||||
|
|
||||||
Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "\""" ) & """,""" & Replace( fileName, """", "\""" ) & """,""" & Replace( customMsg , """", "\""" ) & """) ;"
|
Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "\""" ) & """,""" & Replace( fileName, """", "\""" ) & """,""" & Replace( customMsg , """", "\""" ) & """) ;"
|
||||||
Response.Write "</script>"
|
Response.Write "</script>"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Response.Buffer = True
|
|||||||
%>
|
%>
|
||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<%
|
<%
|
||||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
' Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
'
|
'
|
||||||
' == BEGIN LICENSE ==
|
' == BEGIN LICENSE ==
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<%@ Control Language="C#" EnableViewState="false" AutoEventWireup="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Config" %>
|
<%@ Control Language="C#" EnableViewState="false" AutoEventWireup="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Config" %>
|
||||||
<%--
|
<%--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
|
<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
|
||||||
<%--
|
<%--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
|
<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
|
||||||
<%--
|
<%--
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -47,38 +47,9 @@
|
|||||||
function SendUploadResults(errorNumber, fileUrl, fileName, customMsg)
|
function SendUploadResults(errorNumber, fileUrl, fileName, customMsg)
|
||||||
{
|
{
|
||||||
WriteOutput('<script type="text/javascript">');
|
WriteOutput('<script type="text/javascript">');
|
||||||
WriteOutput("(function()"&
|
// Minified version of the document.domain automatic fix script (#1919).
|
||||||
"{"&
|
// The original script can be found at _dev/domain_fix_template.js
|
||||||
" var d = document.domain ;"&
|
WriteOutput("(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();");
|
||||||
""&
|
|
||||||
" while ( true )"&
|
|
||||||
" {"&
|
|
||||||
// Test if we can access a parent property.
|
|
||||||
" try"&
|
|
||||||
" {"&
|
|
||||||
" var test = window.top.opener.document.domain ;"&
|
|
||||||
" break ;"&
|
|
||||||
" }"&
|
|
||||||
" catch( e ) {}"&
|
|
||||||
""&
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
|
||||||
" d = d.replace( /.*?(?:\.|$)/, '' ) ;"&
|
|
||||||
""&
|
|
||||||
" if ( d.length == 0 )"&
|
|
||||||
// It was not able to detect the domain.
|
|
||||||
" break ;"&
|
|
||||||
""&
|
|
||||||
" try"&
|
|
||||||
" {"&
|
|
||||||
" document.domain = d ;"&
|
|
||||||
" }"&
|
|
||||||
" catch (e)"&
|
|
||||||
" {"&
|
|
||||||
" break ;"&
|
|
||||||
" }"&
|
|
||||||
" }"&
|
|
||||||
"})() ;");
|
|
||||||
|
|
||||||
WriteOutput('window.parent.OnUploadCompleted(' & errorNumber & ', "' & JSStringFormat(fileUrl) & '", "' & JSStringFormat(fileName) & '", "' & JSStringFormat(customMsg) & '");' );
|
WriteOutput('window.parent.OnUploadCompleted(' & errorNumber & ', "' & JSStringFormat(fileUrl) & '", "' & JSStringFormat(fileName) & '", "' & JSStringFormat(customMsg) & '");' );
|
||||||
WriteOutput('</script>');
|
WriteOutput('</script>');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -265,39 +265,11 @@
|
|||||||
<cfargument name="fileName" required="false" type="String" default="">
|
<cfargument name="fileName" required="false" type="String" default="">
|
||||||
<cfargument name="customMsg" required="false" type="String" default="">
|
<cfargument name="customMsg" required="false" type="String" default="">
|
||||||
|
|
||||||
|
<!--- Minified version of the document.domain automatic fix script (#1919).
|
||||||
|
The original script can be found at _dev/domain_fix_template.js --->
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
(function()
|
(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
|
||||||
{
|
|
||||||
var d = document.domain ;
|
|
||||||
|
|
||||||
while ( true )
|
|
||||||
{
|
|
||||||
// Test if we can access a parent property.
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var test = window.top.opener.document.domain ;
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
catch( e ) {}
|
|
||||||
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
|
||||||
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
|
||||||
|
|
||||||
if ( d.length == 0 )
|
|
||||||
break ; // It was not able to detect the domain.
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
document.domain = d ;
|
|
||||||
}
|
|
||||||
catch (e)
|
|
||||||
{
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})() ;
|
|
||||||
|
|
||||||
window.parent.OnUploadCompleted( #errorNumber#, "#JSStringFormat(fileUrl)#", "#JSStringFormat(fileName)#", "#JSStringFormat(customMsg)#" );
|
window.parent.OnUploadCompleted( #errorNumber#, "#JSStringFormat(fileUrl)#", "#JSStringFormat(fileName)#", "#JSStringFormat(customMsg)#" );
|
||||||
</script>
|
</script>
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<cfsetting enablecfoutputonly="Yes">
|
<cfsetting enablecfoutputonly="Yes">
|
||||||
<!---
|
<!---
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[//lasso
|
[//lasso
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[//lasso
|
[//lasso
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[//lasso
|
[//lasso
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -74,38 +74,15 @@
|
|||||||
-type='string',
|
-type='string',
|
||||||
-description='Sets the HTML response for the FCKEditor Quick Upload feature.'
|
-description='Sets the HTML response for the FCKEditor Quick Upload feature.'
|
||||||
);
|
);
|
||||||
$__html_reply__ = '\
|
|
||||||
<script type="text/javascript">
|
|
||||||
(function()
|
|
||||||
{
|
|
||||||
var d = document.domain ;
|
|
||||||
|
|
||||||
while ( true )
|
$__html_reply__ = '<script type="text/javascript">';
|
||||||
{
|
|
||||||
// Test if we can access a parent property.
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var test = window.top.opener.document.domain ;
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
catch( e ) {}
|
|
||||||
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
// Minified version of the document.domain automatic fix script (#1919).
|
||||||
d = d.replace( /.*?(?:\\.|$)/, "" ) ;
|
// The original script can be found at _dev/domain_fix_template.js
|
||||||
|
// Note: in Lasso replace \ with \\
|
||||||
|
$__html_reply__ = $__html_reply__ + "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();";
|
||||||
|
|
||||||
if ( d.length == 0 )
|
$__html_reply__ = $__html_reply__ + '\
|
||||||
break ; // It was not able to detect the domain.
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
document.domain = d ;
|
|
||||||
}
|
|
||||||
catch (e)
|
|
||||||
{
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})() ;
|
|
||||||
window.parent.OnUploadCompleted(' + #errorNumber + ',"'
|
window.parent.OnUploadCompleted(' + #errorNumber + ',"'
|
||||||
+ string_replace(#fileUrl, -find='"', -replace='\\"') + '","'
|
+ string_replace(#fileUrl, -find='"', -replace='\\"') + '","'
|
||||||
+ string_replace(#fileName, -find='"', -replace='\\"') + '","'
|
+ string_replace(#fileName, -find='"', -replace='\\"') + '","'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#####
|
#####
|
||||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
# Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
#
|
#
|
||||||
# == BEGIN LICENSE ==
|
# == BEGIN LICENSE ==
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#####
|
#####
|
||||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
# Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
#
|
#
|
||||||
# == BEGIN LICENSE ==
|
# == BEGIN LICENSE ==
|
||||||
#
|
#
|
||||||
@@ -169,41 +169,14 @@ sub SendUploadResults
|
|||||||
|
|
||||||
local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;
|
local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;
|
||||||
|
|
||||||
|
# Minified version of the document.domain automatic fix script (#1919).
|
||||||
|
# The original script can be found at _dev/domain_fix_template.js
|
||||||
|
# Note: in Perl replace \ with \\ and $ with \$
|
||||||
print <<EOF;
|
print <<EOF;
|
||||||
Content-type: text/html
|
Content-type: text/html
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
// Automatically detect the correct document.domain (#1919).
|
(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
|
||||||
(function()
|
|
||||||
{
|
|
||||||
var d = document.domain ;
|
|
||||||
|
|
||||||
while ( true )
|
|
||||||
{
|
|
||||||
// Test if we can access a parent property.
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var test = window.top.opener.document.domain ;
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
catch( e ) {}
|
|
||||||
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
|
||||||
d = d.replace( /.*?(?:\\.|\$)/, '' ) ;
|
|
||||||
|
|
||||||
if ( d.length == 0 )
|
|
||||||
break ; // It was not able to detect the domain.
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
document.domain = d ;
|
|
||||||
}
|
|
||||||
catch (e)
|
|
||||||
{
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})() ;
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';
|
print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#####
|
#####
|
||||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
# Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
#
|
#
|
||||||
# == BEGIN LICENSE ==
|
# == BEGIN LICENSE ==
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#####
|
#####
|
||||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
# Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
#
|
#
|
||||||
# == BEGIN LICENSE ==
|
# == BEGIN LICENSE ==
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#####
|
#####
|
||||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
# Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
#
|
#
|
||||||
# == BEGIN LICENSE ==
|
# == BEGIN LICENSE ==
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#####
|
#####
|
||||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
# Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
#
|
#
|
||||||
# == BEGIN LICENSE ==
|
# == BEGIN LICENSE ==
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#####
|
#####
|
||||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
# Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
#
|
#
|
||||||
# == BEGIN LICENSE ==
|
# == BEGIN LICENSE ==
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
@@ -154,6 +154,8 @@ function GetRootPath()
|
|||||||
global $_SERVER;
|
global $_SERVER;
|
||||||
}
|
}
|
||||||
$sRealPath = realpath( './' ) ;
|
$sRealPath = realpath( './' ) ;
|
||||||
|
// #2124 ensure that no slash is at the end
|
||||||
|
$sRealPath = rtrim($sRealPath,"\\/");
|
||||||
|
|
||||||
$sSelfPath = $_SERVER['PHP_SELF'] ;
|
$sSelfPath = $_SERVER['PHP_SELF'] ;
|
||||||
$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ;
|
$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ;
|
||||||
@@ -277,40 +279,13 @@ function SanitizeFileName( $sNewFileName )
|
|||||||
// This is the function that sends the results of the uploading process.
|
// This is the function that sends the results of the uploading process.
|
||||||
function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
|
function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
|
||||||
{
|
{
|
||||||
|
// Minified version of the document.domain automatic fix script (#1919).
|
||||||
|
// The original script can be found at _dev/domain_fix_template.js
|
||||||
echo <<<EOF
|
echo <<<EOF
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
(function()
|
(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
|
||||||
{
|
|
||||||
var d = document.domain ;
|
|
||||||
|
|
||||||
while ( true )
|
|
||||||
{
|
|
||||||
// Test if we can access a parent property.
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var test = window.top.opener.document.domain ;
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
catch( e ) {}
|
|
||||||
|
|
||||||
// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
|
|
||||||
d = d.replace( /.*?(?:\.|$)/, '' ) ;
|
|
||||||
|
|
||||||
if ( d.length == 0 )
|
|
||||||
break ; // It was not able to detect the domain.
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
document.domain = d ;
|
|
||||||
}
|
|
||||||
catch (e)
|
|
||||||
{
|
|
||||||
break ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})() ;
|
|
||||||
|
|
||||||
EOF;
|
EOF;
|
||||||
|
|
||||||
$rpl = array( '\\' => '\\\\', '"' => '\\"' ) ;
|
$rpl = array( '\\' => '\\\\', '"' => '\\"' ) ;
|
||||||
echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '") ;' ;
|
echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '") ;' ;
|
||||||
echo '</script>' ;
|
echo '</script>' ;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
"""
|
"""
|
||||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
*
|
*
|
||||||
* == BEGIN LICENSE ==
|
* == BEGIN LICENSE ==
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||||
Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
Copyright (C) 2003-2009 Frederico Caldeira Knabben
|
||||||
|
|
||||||
== BEGIN LICENSE ==
|
== BEGIN LICENSE ==
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user