forked from Wavyzz/dolibarr
fckeditor updated to version 2.6
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<!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
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -32,7 +32,7 @@
|
||||
<h1>
|
||||
FCKeditor Documentation</h1>
|
||||
<p>
|
||||
You can find the official documentation for FCKeditor online, at <a href="http://wiki.fckeditor.net/">
|
||||
http://wiki.fckeditor.net/</a>.</p>
|
||||
You can find the official documentation for FCKeditor online, at <a href="http://docs.fckeditor.net/">
|
||||
http://docs.fckeditor.net/</a>.</p>
|
||||
</body>
|
||||
</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">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -32,7 +32,8 @@
|
||||
<h1>
|
||||
FCKeditor Upgrade</h1>
|
||||
<p>
|
||||
Please check the following URL for notes regarding upgrade: <a href="http://wiki.fckeditor.net/Developer%27s_Guide/Upgrade">
|
||||
http://wiki.fckeditor.net/Developer%27s_Guide/Upgrade</a></p>
|
||||
Please check the following URL for notes regarding upgrade:<br />
|
||||
<a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Installation/Upgrading">
|
||||
http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Installation/Upgrading</a></p>
|
||||
</body>
|
||||
</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">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -21,431 +21,271 @@
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - What's New?</title>
|
||||
<title>FCKeditor ChangeLog - What's New?</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<style type="text/css">
|
||||
body { font-family: arial, verdana, sans-serif }
|
||||
p { margin-left: 20px }
|
||||
h1 { border-bottom: solid 1px gray; padding-bottom: 20px }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor ChangeLog - What's New?</h1>
|
||||
<h3>
|
||||
Version 2.5 Beta</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/624">#624</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/634">#634</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/1300">#1300</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1301">#1301</a>]
|
||||
Official compatibility support with <strong>Opera 9.50</strong> and <strong>Safari 3</strong>
|
||||
(WebKit based browsers actually). These browsers are still in Beta, but we are confident
|
||||
that we'll have amazing results as soon as they get stable. We are continuously
|
||||
collaborating with Opera Software and Apple to bring a wonderful FCKeditor experience
|
||||
over their browser platforms.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/494">#494</a>] Introduced
|
||||
the <strong>new Style System</strong>. We are not anymore relaying on browser features
|
||||
to apply and remove styles, which guarantees that the editor will <strong>behave in
|
||||
the same way in all browsers</strong>. It is an incredibly flexible system,
|
||||
which aims to fit all developer's needs, from Flash content or HTML4 to XHTML 1.0
|
||||
Strict or XHTML 1.1:
|
||||
<ul>
|
||||
<li>All basic formatting features, like Bold and Italic, can be precisely controlled
|
||||
by using the configuration file (<b>CoreStyles</b> setting). It means that now,
|
||||
the Bold button, for example, can produce <b>, <strong>, <span class...>,
|
||||
<span style...> or anything the developer prefers.</li>
|
||||
<li>Again with the <b>CoreStyles</b> setting, each block format, font, size, and even
|
||||
the color pickers can precisely reflect end developer's needs.</li>
|
||||
<li>Because of the above changes, font sizes are much more flexible. <b>Any kind of
|
||||
font unit</b> can be used, including a mix of units.</li>
|
||||
<li>All styles, including toolbar bottom styles, are precisely controlled when being
|
||||
applied to the document. FCKeditor uses an element table derived from the <b>W3C XHTML
|
||||
DTDs</b> to precisely create the elements, guarantee standards compliant code.</li>
|
||||
<li><b>No more <font> tags</b>... well... actually, the system is so flexible
|
||||
that it is up to you to use them or not.</li>
|
||||
<li>It is possible to configure FCKeditor to produce a truly <b>semantic aware </b>and<b>
|
||||
XHTML 1.1 compliant </b>code. Check out sample14.html.</li>
|
||||
<li>It's also possible to precisely control which inline elements must be removed with
|
||||
the "Remove All" button, by using the "<b>RemoveFormatTags</b>"
|
||||
setting.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1231">#1231</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/160">#160</a>] Paragraph
|
||||
<b>indentation</b> and <b>justification</b> now uses style attributes and don't
|
||||
create unnecessary elements, and <blockquote> is not anymore used for it.
|
||||
Now, even CSS classes can be used to indent or align text.</li>
|
||||
<li>All paragraph formatting features work well when EnterMode=br.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/172">#172</a>]
|
||||
All paragraph formatting features work well when list items too.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1197">#1197</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/132">#132</a>] The toolbar
|
||||
now presents a <strong>new button for Blockquote</strong>. The indentation button
|
||||
will not anymore be used for that.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/125">#125</a>] Table's
|
||||
<strong>columns size can now be changed by dragging on cell borders</strong>, with
|
||||
the "dragresizetable" plugin. </li>
|
||||
<li>The EditorAreaCSS config option can now also be set to a string of paths separated
|
||||
by commas.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/212">#212</a>] New "<strong>Show
|
||||
Blocks</strong>" command button in toolbar to show block details in the editing
|
||||
area. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/915">#915</a>] The <strong>
|
||||
undo/redo system has been revamped</strong> to work the same across Internet Explorer
|
||||
and Gecko-based browsers (e.g. Firefox). A number of critical bugs in the undo/redo
|
||||
system are also fixed. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/194">#194</a>] The editor
|
||||
now uses the <strong>Data Processor</strong> technology, which makes it possible
|
||||
to handle different input formats. A sample of it may be found at "editor/plugins/bbcode/_sample",
|
||||
that shows some simple BBCode support. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/145">#145</a>] The "htaccess.txt"
|
||||
file has been renamed to ".htaccess" as it doesn't bring security concerns, being
|
||||
active out of the box.</li>
|
||||
<li>File Browser and Quick Upload changes:
|
||||
<ul>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/163">#163</a>] <span
|
||||
style="color: #ff0000"><strong>Attention:</strong></span> The default connector
|
||||
in fckconfig.js has been changed from ASP to PHP. If you are using ASP remember
|
||||
to change the _FileBrowserLanguage and _QuickUploadLanguage settings in your fckconfig.js.
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/454">#454</a>] The file
|
||||
browser and upload connectors have been unified so they can reuse the same configuration
|
||||
settings.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/865">#865</a>] The ASP
|
||||
and PHP connectors have been improved so it's easy to select the location of the
|
||||
destination folder for each file type, and it's no longer necessary to use the "file",
|
||||
"image", "flash" subfolders<br />
|
||||
<span style="color: #ff0000"><strong>Attention:</strong></span> The location of
|
||||
all the connectors have been changed in the fckconfig.js file. Please check your
|
||||
settings to match the current ones. Also review carefully the config file for your
|
||||
server language. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/688">#688</a>] Now the
|
||||
Perl quick upload is available. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/575">#575</a>] The Python
|
||||
connector has been rewritten as a WSGI app to be fully compatible with the latest
|
||||
python frameworks and servers. The QuickUpload feature has been added as well as
|
||||
all the features available in the PHP connector. Thanks to Mariano Reingart.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/561">#561</a>] The ASP
|
||||
connector provides an AbsolutePath setting so it's possible to set the url to a
|
||||
full domain or a relative path and specify that way the physical folder where the
|
||||
files are stored..</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/333">#333</a>] The Quick
|
||||
Upload now can use the same ServerPath parameter as the full connector.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/199">#199</a>] The AllowedCommands
|
||||
configuration setting is available in the asp and php connectors so it's possible
|
||||
to disallow the upload of files (although the "select file" button will still be
|
||||
available in the file browser).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/100">#100</a>] A new configuration
|
||||
directive "FCKConfig.EditorAreaStyles" has been implemented to allow setting editing
|
||||
area styles from JavaScript. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/102">#102</a>] HTML code
|
||||
generated by the "Paste As Plain Text" feature now obeys the EnterMode setting.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1266">#1266</a>] Introducing
|
||||
the HtmlEncodeOutput setting to instruct the editor to HTML-encode some characters
|
||||
(&, < and >) in the posted data.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/357">#357</a>] Added a
|
||||
"Remove Anchor" option in the context menu for anchors. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1060">#1060</a>] Compatibility
|
||||
checks with Firefox 3.0 Alpha. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/817">#817</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/1077">#1077</a>] New "Merge
|
||||
Down/Right" commands for merging tables cells in non-Gecko browsers.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1288">#1288</a>] The "More
|
||||
Colors..." button in color selector popup has been made optional and configurable
|
||||
by the <strong>EnableMoreFontColors</strong> option. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/356">#356</a>] The <strong>
|
||||
Find and Replace</strong> dialogs are now unified into a single dialog with tabs.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/549">#549</a>] Added a 'None'
|
||||
option to the FCKConfig.ToolbarLocation option to allow for hidden toolbars.
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1313">#1313</a>] An XHTML 1.1 target
|
||||
editor sample has been created as sample14.html. </li>
|
||||
<li>The ASP, ColdFusion and PHP integration have been aligned to our standards.</li>
|
||||
<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/71">#71</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/243">#243</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/267">#267</a>]
|
||||
The editor now takes care to not create invalid nested block elements, like creating
|
||||
<form> or <hr> inside <p>. </li>
|
||||
<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1511298&group_id=75348&atid=543655">SF
|
||||
Patch 1511298</a>] The CF Component failed on CFMX 6.0</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/639">#639</a>] If the
|
||||
FCKConfig.DefaultLinkTarget setting was missing in fckconfig.js the links has target="undefined".</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/497">#497</a>] Fixed EMBED
|
||||
attributes handling in IE.</li>
|
||||
<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1315722&group_id=75348&atid=543655">SF
|
||||
Patch 1315722</a>] Avoid getting a cached version of the folder contents after uploading
|
||||
a file</li>
|
||||
<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1386086&group_id=75348&atid=543655">SF
|
||||
Patch 1386086</a>] The php connector has been protected so mkdir doesn't fail if
|
||||
there are double slashes.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/943">#943</a>] The PHP
|
||||
connector now specifies that the included files are relative to the current path.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/560">#560</a>] The PHP
|
||||
connector will work better if the connector or the userfiles folder is a symlink.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/784">#784</a>] Fixed a
|
||||
non initialized $php_errormsg in the PHP connector.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/802">#802</a>] The replace
|
||||
dialog will now advance its searching position correctly and is able to search for
|
||||
strings spanning across multiple inline tags.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/944">#944</a>] The _samples
|
||||
didn't work directly from the Mac filesystem.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/946">#946</a>] Toolbar
|
||||
images didn't show in non-IE browsers if the path contained a space.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/291">#291</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/395">#395</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/932">#932</a>] Clicking outside the editor
|
||||
it was possible to paste or apply formatting to the rest of the page in IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/137">#137</a>] Fixed FCKConfig.TabSpaces
|
||||
being ignored, and weird behaviors when pressing tab in edit source mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/268">#268</a>] Fixed special
|
||||
XHTML characters present in event attribute values being converted inappropriately
|
||||
when switching to source view.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/272">#272</a>] The toolbar
|
||||
was cut sometimes in IE to just one row if there are multiple instances of the editor.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/515">#515</a>] Tables
|
||||
in Firefox didn't inherit font styles properly in Standards mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/321">#321</a>] If FCKeditor
|
||||
is initially hidden in Firefox it will no longer be necessary to call the oEditor.MakeEditable()
|
||||
function.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/299">#299</a>] The 'Browse
|
||||
Server' button in the Image and Flash dialogs was a little too high.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/931">#931</a>] The BodyId
|
||||
and BodyClass configuration settings weren't applied in the preview window.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/583">#583</a>] The "noWrap"
|
||||
attribute for table cells was getting an empty value in Firefox. Thanks to geirhelge.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/141">#141</a>] Fixed incorrect
|
||||
startup focus in Internet Explorer after page reloads. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/143">#143</a>] Fixed browser
|
||||
lockup when the user writes <!--{PS..x}> into the editor in source mode. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/174">#174</a>] Fixed incorrect
|
||||
positioning of FCKeditor in full screen mode. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/978">#978</a>] Fixed a
|
||||
SpellerPages error with ColdFusion when no suggestions where available for a word.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/977">#977</a>] The "shape"
|
||||
attribute of <area> had its value changed to uppercase in IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/996">#996</a>] "OnPaste"
|
||||
event listeners will now get executed only once.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/289">#289</a>] Removed
|
||||
debugging popups from page load regarding JavaScript and CSS loading errors.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/328">#328</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/346">#346</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/404">#404</a>] Fixed a number of problems
|
||||
regarding <pre> blocks:
|
||||
<ol>
|
||||
<li>Leading whitespaces and line breaks in <pre> blocks are trimmed when the user
|
||||
switches between editor mode and source mode;</li>
|
||||
<li>Pressing Enter inside a <pre> block would split the block into two, but the
|
||||
expected behavior is simply inserting a line break;</li>
|
||||
<li>Simple line breaks inside <pre> blocks entered in source mode are being turned
|
||||
into <br> tags when the user switches to editor mode and back.</li>
|
||||
</ol>
|
||||
<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/581">#581</a>] Fixed the
|
||||
issue where the "Maximize the editor size" toolbar button stops working if any of
|
||||
the following occurs:
|
||||
<ol>
|
||||
<li>There exists a form input whose name or id is "style" in FCKeditor's host form;</li>
|
||||
<li>There exists a form input whose name or id is "className" in FCKeditor's host form;</li>
|
||||
<li>There exists a form and a form input whose name of id is "style" in the editing
|
||||
frame.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/183">#183</a>] Fixed the
|
||||
issue when FCKeditor is being executed in a custom application with the WebBrowser
|
||||
ActiveX control, hiding the WebBrowser control would incorrectly invoke FCKeditor's
|
||||
cleanup routines, causing FCKeditor to stop working.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/539">#539</a>] Fixed the
|
||||
issue where right clicking on a table inside the editing frame in Firefox would
|
||||
cause the editor the scroll to the top of the document.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/523">#523</a>] Fixed the
|
||||
issue where, under certain circumstances, FCKeditor would obtain focus at startup
|
||||
even though FCKConfig.StartupFocus is set to false. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/393">#393</a>] Fixed the
|
||||
issue where if an inline tag is at the end of the document, the user would have
|
||||
no way of escaping from the inline tag if he continues typing at the end of the
|
||||
document. FCKeditor's behaviors regarding inline tags has been made to be more like
|
||||
MS Word's:
|
||||
<ol>
|
||||
<li>If the caret is moved to the end of a hyperlink by the keyboard, then hyperlink
|
||||
mode is disabled. </li>
|
||||
<li>If the caret is moved to the end of other styled inline tags by any key other than
|
||||
the End key (like bold text or italic text), the original bold/italic/... modes
|
||||
would continue to be effective. </li>
|
||||
<li>If the caret is moved to the end of other styled inline tags by the End key, all
|
||||
style tag modes (e.g. bold, italic, underline, etc.) would be canceled. This is
|
||||
not consistent with MS Word, but provides a convenient way for the user to escape
|
||||
the inline tag at the end of a line.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/338">#338</a>] Fixed the
|
||||
issue where the configuration directive FCKConfig.ForcePasteAsPlainText is ignored
|
||||
when new contents are pasted into the editor via drag-and drop from outside of the
|
||||
editor. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1026">#1026</a>] Fixed
|
||||
the issue where the cursor or selection positions are not restored with undo/redo
|
||||
commands correctly in IE, under some circumstances. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1160">#1160</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/1184">#1184</a>] Home, End
|
||||
and Tab keys are working properly for numeric fields in dialogs. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/68">#68</a>] The style
|
||||
system now properly handles Format styles when EnterMode=br.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/525">#525</a>] The union
|
||||
if successive DIVs will work properly now if EnterMode!=div.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1227">#1227</a>] The color
|
||||
commands used an unnecessary temporary variable. Thanks to Matthias Miller</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/67">#67</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/277">#277</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/427">#427</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/428">#428</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/965">#965</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1178">#1178</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/1267">#1267</a>] The list
|
||||
insertion/removal/indent/outdent logic in FCKeditor has been rewritten, such that:
|
||||
<ol>
|
||||
<li>Text separated by <br> will always be treated as separate items during list
|
||||
insertion regardless of browser;</li>
|
||||
<li>List removal will now always obey the FCKConfig.EnterMode setting;</li>
|
||||
<li>List indentation will be XHTML 1.1 compliant - all child elements under an <ol>
|
||||
or <ul> must be <li> nodes;</li>
|
||||
<li>IE editor hacks like <ul type="1"> will no longer appear;</li>
|
||||
<li>Excessive <div> nodes are no longer inserted into list items due to alignment
|
||||
changes.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/205">#205</a>] Fixed the
|
||||
issue where visible >br< tags at the end of paragraphs are incorrectly removed
|
||||
after switching to and from source mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1050">#1050</a>] Fixed
|
||||
a minor PHP/XML incompatibility bug in editor/dialog/fck_docprops.html.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/462">#462</a>] Fixed an
|
||||
algorithm bug in switching from source mode to WYSIWYG mode which causes the browser
|
||||
to spin up and freeze for broken HTML code inputs.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1019">#1019</a>] Table
|
||||
command buttons are now disabled when the current selection is not inside a table.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/135">#135</a>] Fixed the
|
||||
issue where context menus are misplaced in FCKeditor when FCKeditor is created inside
|
||||
a >div< node with scrolling. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1067">#1067</a>] Fixed
|
||||
the issue where context menus are misplaced in Safari when FCKeditor is scrolled
|
||||
down.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1081">#1081</a>] Fixed
|
||||
the issue where undoing table deletion in IE7 would cause JavaScript errors.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1061">#1061</a>] Fixed
|
||||
the issue where backspace and delete cannot delete special characters in Firefox
|
||||
under some circumstances.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/403">#403</a>] Fixed the
|
||||
issue where switching to and from source mode in full page mode under IE would add
|
||||
excessive line breaks to <style> blocks.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/121">#121</a>] Fixed the
|
||||
issue where maximizing FCKeditor inside a frameset would resize FCKeditor to the
|
||||
whole window's size instead of just the container frame's size.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1093">#1093</a>] Fixed
|
||||
the issue where pressing Enter inside an inline tag would not create a new paragraph
|
||||
correctly.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1089">#1089</a>] Fixed
|
||||
the issue where pressing Enter inside a <pre> block do not generate visible
|
||||
line breaks in IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/332">#332</a>] Hitting
|
||||
Enter when the caret is at the end of a hyperlink will no longer continue the link
|
||||
at the new paragraph.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1121">#1121</a>] Hitting
|
||||
Enter with FCKConfig.EnterMode=br will now scroll the document correctly when the
|
||||
new lines have exceeded the lower boundary of the editor frame.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1063">#1063</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/1084">#1084</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/1092">#1092</a>] Fixed a few Norwegian
|
||||
language translation errors.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1148">#1148</a>] Fixed
|
||||
the issue where the "Automatic" and "More Colors..." buttons
|
||||
in the color selection panel are not centered in Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1187">#1187</a>] Fixed
|
||||
the issue where the "Paste as plain text" command cannot be undone in
|
||||
non-IE browsers.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1222">#1222</a>] Ctrl-Backspace
|
||||
operations will now save undo snapshots in all browsers.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1223">#1223</a>] Fixed
|
||||
the issue where the insert link dialog would save multiple undo snapshots for a
|
||||
single operation.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/247">#247</a>] Fixed the
|
||||
issue where deleting everything in the document in IE would create an empty <p>
|
||||
block in the document regardless of EnterMode setting. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1280">#1280</a>] Fixed
|
||||
the issue where opening a combo box will cause the editor frames to lose focus when
|
||||
there are multiple editors in the same document.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/363">#363</a>] Fixed the
|
||||
issue where the Find dialog does not work under Opera.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/50">#50</a>] Fixed the
|
||||
issue where the Paste button is always disabled in Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/389">#389</a>] Pasting
|
||||
text with comments from Word won't generate errors in IE, thanks to the idea from
|
||||
Swift.</li>
|
||||
<li>The pasting area in the Paste from Word dialog is focused on initial load</li>
|
||||
<li>Some fixes related to html comment handling in the Word clean up routine</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1303">#1303</a>] <col>
|
||||
is correctly treated as an empty element.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/969">#969</a>] Removed
|
||||
unused files (fcknumericfield.htc and moz-bindings.xml).</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1166">#1166</a>] Fixed
|
||||
the issue where <meta> tags are incorrectly outputted with closing tags in
|
||||
full page mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1200">#1200</a>] Fixed
|
||||
the issue where context menus sometimes disappear prematurely before the user can
|
||||
click on any items in Opera.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1315">#1315</a>] Fixed
|
||||
the issue where the source view text area in Safari is displayed with an excessive
|
||||
blue border.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1201">#1201</a>] Fixed
|
||||
the issue where hitting Backspace or Delete inside a table cell deletes the table
|
||||
cell instead of its contents in Opera.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1311">#1311</a>] Fixed
|
||||
the issue where undoing and redoing a special character insertion would send the
|
||||
caret to incorrect positions. (e.g. the beginning of document)</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/923">#923</a>] Font colors
|
||||
are now properly applied on links.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1316">#1316</a>] Fixed the issue
|
||||
where the image dialog expands to a size too big in Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1306">#1306</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/894">#894</a>]
|
||||
The undo system can now undo text formatting steps like setting fonts to bold and italic.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/95">#95</a>] Fixed the issue where
|
||||
FCKeditor breaks <meta> tags in full page mode in some circumstances.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/175">#175</a>] Fixed the issue
|
||||
where entering an email address with a '%' sign in the insert link dialog would cause
|
||||
JavaScript error.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/180">#180</a>] Improved backward
|
||||
compatibility with older PHP versions. FCKeditor can now work with PHP versions down to
|
||||
4.0.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/192">#192</a>] Document modifying
|
||||
actions from the FCKeditor JavaScript API will now save undo steps.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/246">#246</a>] Using text formatting
|
||||
commands in EnterMode=div will no longer cause tags to randomly disappear.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/327">#327</a>] It is no longer
|
||||
possible for the browser's back action to misfire when a user presses backspace while an
|
||||
image is being selected in FCKeditor.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/362">#362</a>] Ctrl-Backspace now
|
||||
works in FCKeditor.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/390">#390</a>] Text alignment and
|
||||
justification commands now respects EnterMode=br paragraph rules.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/534">#534</a>] Pressing Ctrl-End
|
||||
while the document contains a list towards the end will no longer make the cursor
|
||||
disappear.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/906">#906</a>] It is now possible
|
||||
to have XHTML 1.0 Strict compliant output from a document pasted from Word.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/929">#929</a>] Pressing the Enter
|
||||
key will now produce an undo step.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/934">#934</a>] Fixed the "Cannot
|
||||
execute code from a freed script" error in IE from editor dialogs.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/942">#942</a>] Server based spell
|
||||
checking with ColdFusion integration no longer breaks fir non en_US languages.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/942">#1056</a>] Deleting everything
|
||||
in the editor document and moving the cursor around will no longer leave the cursor hanging
|
||||
beyond the top of the editor document.</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>
|
||||
</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>
|
||||
# This version has been <a href="http://dev.fckeditor.net/wiki/SD/COE">partially sponsored</a>
|
||||
by the <a href="http://www.coe.int/">Council of Europe</a>.
|
||||
</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>
|
||||
<p>
|
||||
<a href="_whatsnew_history.html">See previous versions history</a>
|
||||
</p>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!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
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -21,14 +21,583 @@
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - What's New?</title>
|
||||
<title>FCKeditor ChangeLog - What's New?</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<style type="text/css">
|
||||
body { font-family: arial, verdana, sans-serif }
|
||||
p { margin-left: 20px }
|
||||
h1 { border-bottom: solid 1px gray; padding-bottom: 20px }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor ChangeLog - What's New?</h1>
|
||||
<h3>
|
||||
Version 2.5.1</h3>
|
||||
<p>
|
||||
New Features and Improvements:</p>
|
||||
<ul>
|
||||
<li><strong>FCKeditor.Net 2.5</strong> compatibility.</li>
|
||||
<li>JavaScript integration file:
|
||||
<ul>
|
||||
<li>The new "<strong>FCKeditor.ReplaceAllTextareas</strong>" function is being introduced,
|
||||
making it possible to replace many (or unknown) <textarea> elements in a single
|
||||
call. The replacement can be also filtered by CSS class name, or by a custom function
|
||||
evaluator. </li>
|
||||
<li>It is now possible to set the default BasePath for all editor instances by setting
|
||||
<strong>FCKeditor.BasePath</strong>. This is extremely useful when working with
|
||||
the ReplaceAllTextareas function. </li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed Bugs:</p>
|
||||
<ul>
|
||||
<li>[<a href="http://dev.fckeditor.net/ticket/339" target="_blank">#339</a>] [<a
|
||||
href="http://dev.fckeditor.net/ticket/681" target="_blank">#681</a>] The SpellerPages
|
||||
spell checker will now completely ignore the presence of HTML tags in the text.
|
||||
</li>
|
||||
<li>[<a href="http://dev.fckeditor.net/ticket/1643" target="_blank">#1643</a>] Resolved
|
||||
several "strict warning" messages in Firefox when running FCKeditor. </li>
|
||||
<li>[<a href="http://dev.fckeditor.net/ticket/1603" target="_blank">#1603</a>] Certain
|
||||
specific markup was making FCKeditor entering in a loop, blocking its execution.
|
||||
</li>
|
||||
<li>[<a href="http://dev.fckeditor.net/ticket/1664" target="_blank">#1664</a>] The ENTER
|
||||
key will not any more swap the order of the tags when hit at the end of paragraphs.
|
||||
</li>
|
||||
</ul>
|
||||
<h3>
|
||||
Version 2.5</h3>
|
||||
<p>
|
||||
New Features and Improvements:</p>
|
||||
<ul>
|
||||
<li>The heading options have been moved to the top, in the default settings for the
|
||||
Format combo.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed Bugs:</p>
|
||||
<ul>
|
||||
<li>The focus is now correctly set when working on Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1436">#1436</a>] Nested
|
||||
context menu panels are now correctly closed on Safari.</li>
|
||||
<li>Empty anchors are now properly created on Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1359">#1359</a>] FCKeditor
|
||||
will no longer produce the strange visual effect of creating a selected space and
|
||||
then deleting it in Internet Explorer.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1399">#1399</a>] Removed
|
||||
the empty entry in the language selection box of sample03.html.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1400">#1400</a>] Fixed
|
||||
the issue where the style selection box in sample14.html is not context sensitive.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1401">#1401</a>] Completed
|
||||
Hebrew translation of the user interface.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1409">#1409</a>] Completed
|
||||
Finnish translation of the user interface.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1414">#1414</a>] Fixed
|
||||
the issue where entity code words written inside a <pre> block in Source mode
|
||||
are not converted to the corresponding characters after switching back to editor
|
||||
mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1418">#1418</a>] Fixed
|
||||
the issue where a detached toolbar would flicker when FCKeditor is being loaded.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1419">#1419</a>] Fixed
|
||||
the issue where pressing Delete in the middle of two lists would incorrectly move
|
||||
contents after the lists to the character position.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1420">#1420</a>] Fixed
|
||||
the issue where empty list items can become collapsed and uneditable when it has
|
||||
one of more indented list items directly under it. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1431">#1431</a>] Fixed
|
||||
the issue where pressing Enter in a <pre> block in Internet Explorer would
|
||||
move the caret one space forward instead of sending it to the next line.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1472">#1472</a>] Completed
|
||||
Arabic translation of the user interface.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1474">#1474</a>] Fixed
|
||||
the issue where reloading a page containing FCKeditor may provoke JavaScript errors
|
||||
in Internet Explorer.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1478">#1478</a>] Fixed
|
||||
the issue where parsing fckstyles.xml fails if the file contains no <style>
|
||||
nodes.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1491">#1491</a>] Fixed
|
||||
the issue where FCKeditor causes the selection to include an "end of line" character
|
||||
in list items even though the list item is empty.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1496">#1496</a>] Fixed
|
||||
the issue where attributes under <area> and <map> nodes are destroyed
|
||||
or left unprotected when switching to and from Source mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1500">#1500</a>] Fixed
|
||||
the issue where the function _FCK_PaddingNodeListener() is called excessively which
|
||||
negatively affects performance.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1514">#1514</a>] Fixed
|
||||
the issue where floating menus are incorrectly positioned when the toolbar or the
|
||||
editor frame are not static positioned.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1518">#1518</a>] Fixed
|
||||
the issue where excessive <BR> nodes are not removed after a paragraph is
|
||||
split when creating lists.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1521">#1521</a>] Fixed
|
||||
JavaScript error and erratic behavior of the Replace dialog.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1524">#1524</a>] Fixed
|
||||
the issue where the caret jumps to the beginning or end of a list block and when
|
||||
user is trying to select the end of a list item.</li>
|
||||
<li>Completed Simplified Chinese translation of the user interface.</li>
|
||||
<li>Completed Estonian translation of the user interface.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1406">#1406</a>] Editor
|
||||
was always "dirty" if flash is available in the contents.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1561">#1561</a>] Non standard
|
||||
elements are now properly applied if defined in the styles XML file.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1412">#1412</a>] The _QuickUploadLanguage
|
||||
value is now work properly for Perl.</li>
|
||||
<li>Several compatibility fixes for Firefox 3 (Beta 1):
|
||||
<ul>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1558">#1558</a>] Nested
|
||||
context menu close properly when one of their options is selected.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1556">#1556</a>] Dialogs
|
||||
contents are now showing completely, without scrollbar.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1559">#1559</a>] It is
|
||||
not possible to have more than one panel opened at the same time.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1554">#1554</a>] Links
|
||||
now get underlined.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1557">#1557</a>] The "Automatic"
|
||||
and "More colors..." buttons were improperly styled in the color selector panels
|
||||
(Opera too).</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1462">#1462</a>] The enter
|
||||
key will not any more scroll the main window.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1562">#1562</a>] Fixed
|
||||
the issue where empty paragraphs are added around page breaks each time the user
|
||||
switches to Source mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1578">#1578</a>] The editor
|
||||
will now scroll correctly when hitting enter in front of a paragraph.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1579">#1579</a>] Fixed
|
||||
the issue where the create table and table properties dialogs are too narrow for
|
||||
certain translations.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1580">#1580</a>] Completed
|
||||
Polish translation of the user interface.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1591">#1591</a>] Fixed
|
||||
JavaScript error when using the blockquote command in an empty document in IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1592">#1592</a>] Fixed
|
||||
the issue where attempting to remove a blockquote with an empty paragraph would
|
||||
leave behind an empty blockquote IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1594">#1594</a>] Undo/Redo
|
||||
will now work properly for the color selectors.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1597">#1597</a>] The color
|
||||
boxes are now properly rendered in the color selector panels on sample14.html.</li>
|
||||
</ul>
|
||||
<h3>
|
||||
Version 2.5 Beta</h3>
|
||||
<p>
|
||||
New Features and Improvements:</p>
|
||||
<ul>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/624">#624</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/634">#634</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/1300">#1300</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1301">#1301</a>]
|
||||
Official compatibility support with <strong>Opera 9.50</strong> and <strong>Safari 3</strong>
|
||||
(WebKit based browsers actually). These browsers are still in Beta, but we are confident
|
||||
that we'll have amazing results as soon as they get stable. We are continuously
|
||||
collaborating with Opera Software and Apple to bring a wonderful FCKeditor experience
|
||||
over their browser platforms.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/494">#494</a>] Introduced
|
||||
the <strong>new Style System</strong>. We are not anymore relaying on browser features
|
||||
to apply and remove styles, which guarantees that the editor will <strong>behave in
|
||||
the same way in all browsers</strong>. It is an incredibly flexible system,
|
||||
which aims to fit all developer's needs, from Flash content or HTML4 to XHTML 1.0
|
||||
Strict or XHTML 1.1:
|
||||
<ul>
|
||||
<li>All basic formatting features, like Bold and Italic, can be precisely controlled
|
||||
by using the configuration file (<b>CoreStyles</b> setting). It means that now,
|
||||
the Bold button, for example, can produce <b>, <strong>, <span class...>,
|
||||
<span style...> or anything the developer prefers.</li>
|
||||
<li>Again with the <b>CoreStyles</b> setting, each block format, font, size, and even
|
||||
the color pickers can precisely reflect end developer's needs.</li>
|
||||
<li>Because of the above changes, font sizes are much more flexible. <b>Any kind of
|
||||
font unit</b> can be used, including a mix of units.</li>
|
||||
<li>All styles, including toolbar bottom styles, are precisely controlled when being
|
||||
applied to the document. FCKeditor uses an element table derived from the <b>W3C XHTML
|
||||
DTDs</b> to precisely create the elements, guarantee standards compliant code.</li>
|
||||
<li><b>No more <font> tags</b>... well... actually, the system is so flexible
|
||||
that it is up to you to use them or not.</li>
|
||||
<li>It is possible to configure FCKeditor to produce a truly <b>semantic aware </b>and<b>
|
||||
XHTML 1.1 compliant </b>code. Check out sample14.html.</li>
|
||||
<li>It's also possible to precisely control which inline elements must be removed with
|
||||
the "Remove All" button, by using the "<b>RemoveFormatTags</b>"
|
||||
setting.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1231">#1231</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/160">#160</a>] Paragraph <b>indentation</b>
|
||||
and <b>justification</b> now uses style attributes and don't create unnecessary
|
||||
elements, and <blockquote> is not anymore used for it. Now, even CSS classes
|
||||
can be used to indent or align text.</li>
|
||||
<li>All paragraph formatting features work well when EnterMode=br.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/172">#172</a>] All paragraph
|
||||
formatting features work well when list items too.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1197">#1197</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/132">#132</a>] The toolbar
|
||||
now presents a <strong>new button for Blockquote</strong>. The indentation button
|
||||
will not anymore be used for that.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/125">#125</a>] Table's
|
||||
<strong>columns size can now be changed by dragging on cell borders</strong>, with
|
||||
the "dragresizetable" plugin. </li>
|
||||
<li>The EditorAreaCSS config option can now also be set to a string of paths separated
|
||||
by commas.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/212">#212</a>] New "<strong>Show
|
||||
Blocks</strong>" command button in toolbar to show block details in the editing
|
||||
area. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/915">#915</a>] The <strong>
|
||||
undo/redo system has been revamped</strong> to work the same across Internet Explorer
|
||||
and Gecko-based browsers (e.g. Firefox). A number of critical bugs in the undo/redo
|
||||
system are also fixed. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/194">#194</a>] The editor
|
||||
now uses the <strong>Data Processor</strong> technology, which makes it possible
|
||||
to handle different input formats. A sample of it may be found at "editor/plugins/bbcode/_sample",
|
||||
that shows some simple BBCode support. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/145">#145</a>] The "htaccess.txt"
|
||||
file has been renamed to ".htaccess" as it doesn't bring security concerns, being
|
||||
active out of the box.</li>
|
||||
<li>File Browser and Quick Upload changes:
|
||||
<ul>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/163">#163</a>] <span
|
||||
style="color: #ff0000"><strong>Attention:</strong></span> The default connector
|
||||
in fckconfig.js has been changed from ASP to PHP. If you are using ASP remember
|
||||
to change the _FileBrowserLanguage and _QuickUploadLanguage settings in your fckconfig.js.
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/454">#454</a>] The file
|
||||
browser and upload connectors have been unified so they can reuse the same configuration
|
||||
settings.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/865">#865</a>] The ASP
|
||||
and PHP connectors have been improved so it's easy to select the location of the
|
||||
destination folder for each file type, and it's no longer necessary to use the "file",
|
||||
"image", "flash" subfolders<br />
|
||||
<span style="color: #ff0000"><strong>Attention:</strong></span> The location of
|
||||
all the connectors have been changed in the fckconfig.js file. Please check your
|
||||
settings to match the current ones. Also review carefully the config file for your
|
||||
server language. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/688">#688</a>] Now the
|
||||
Perl quick upload is available. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/575">#575</a>] The Python
|
||||
connector has been rewritten as a WSGI app to be fully compatible with the latest
|
||||
python frameworks and servers. The QuickUpload feature has been added as well as
|
||||
all the features available in the PHP connector. Thanks to Mariano Reingart.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/561">#561</a>] The ASP
|
||||
connector provides an AbsolutePath setting so it's possible to set the url to a
|
||||
full domain or a relative path and specify that way the physical folder where the
|
||||
files are stored..</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/333">#333</a>] The Quick
|
||||
Upload now can use the same ServerPath parameter as the full connector.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/199">#199</a>] The AllowedCommands
|
||||
configuration setting is available in the asp and php connectors so it's possible
|
||||
to disallow the upload of files (although the "select file" button will still be
|
||||
available in the file browser).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/100">#100</a>] A new configuration
|
||||
directive "FCKConfig.EditorAreaStyles" has been implemented to allow setting editing
|
||||
area styles from JavaScript. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/102">#102</a>] HTML code
|
||||
generated by the "Paste As Plain Text" feature now obeys the EnterMode setting.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1266">#1266</a>] Introducing
|
||||
the HtmlEncodeOutput setting to instruct the editor to HTML-encode some characters
|
||||
(&, < and >) in the posted data.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/357">#357</a>] Added a
|
||||
"Remove Anchor" option in the context menu for anchors. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1060">#1060</a>] Compatibility
|
||||
checks with Firefox 3.0 Alpha. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/817">#817</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/1077">#1077</a>] New "Merge
|
||||
Down/Right" commands for merging tables cells in non-Gecko browsers.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1288">#1288</a>] The "More
|
||||
Colors..." button in color selector popup has been made optional and configurable
|
||||
by the <strong>EnableMoreFontColors</strong> option. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/356">#356</a>] The <strong>
|
||||
Find and Replace</strong> dialogs are now unified into a single dialog with tabs.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/549">#549</a>] Added a
|
||||
'None' option to the FCKConfig.ToolbarLocation option to allow for hidden toolbars.
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1313">#1313</a>] An XHTML
|
||||
1.1 target editor sample has been created as sample14.html. </li>
|
||||
<li>The ASP, ColdFusion and PHP integration have been aligned to our standards.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed Bugs:</p>
|
||||
<ul>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/71">#71</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/243">#243</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/267">#267</a>]
|
||||
The editor now takes care to not create invalid nested block elements, like creating
|
||||
<form> or <hr> inside <p>. </li>
|
||||
<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1511298&group_id=75348&atid=543655">SF
|
||||
Patch 1511298</a>] The CF Component failed on CFMX 6.0</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/639">#639</a>] If the
|
||||
FCKConfig.DefaultLinkTarget setting was missing in fckconfig.js the links has target="undefined".</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/497">#497</a>] Fixed EMBED
|
||||
attributes handling in IE.</li>
|
||||
<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1315722&group_id=75348&atid=543655">SF
|
||||
Patch 1315722</a>] Avoid getting a cached version of the folder contents after uploading
|
||||
a file</li>
|
||||
<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1386086&group_id=75348&atid=543655">SF
|
||||
Patch 1386086</a>] The php connector has been protected so mkdir doesn't fail if
|
||||
there are double slashes.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/943">#943</a>] The PHP
|
||||
connector now specifies that the included files are relative to the current path.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/560">#560</a>] The PHP
|
||||
connector will work better if the connector or the userfiles folder is a symlink.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/784">#784</a>] Fixed a
|
||||
non initialized $php_errormsg in the PHP connector.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/802">#802</a>] The replace
|
||||
dialog will now advance its searching position correctly and is able to search for
|
||||
strings spanning across multiple inline tags.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/944">#944</a>] The _samples
|
||||
didn't work directly from the Mac filesystem.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/946">#946</a>] Toolbar
|
||||
images didn't show in non-IE browsers if the path contained a space.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/291">#291</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/395">#395</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/932">#932</a>] Clicking outside the editor
|
||||
it was possible to paste or apply formatting to the rest of the page in IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/137">#137</a>] Fixed FCKConfig.TabSpaces
|
||||
being ignored, and weird behaviors when pressing tab in edit source mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/268">#268</a>] Fixed special
|
||||
XHTML characters present in event attribute values being converted inappropriately
|
||||
when switching to source view.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/272">#272</a>] The toolbar
|
||||
was cut sometimes in IE to just one row if there are multiple instances of the editor.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/515">#515</a>] Tables
|
||||
in Firefox didn't inherit font styles properly in Standards mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/321">#321</a>] If FCKeditor
|
||||
is initially hidden in Firefox it will no longer be necessary to call the oEditor.MakeEditable()
|
||||
function.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/299">#299</a>] The 'Browse
|
||||
Server' button in the Image and Flash dialogs was a little too high.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/931">#931</a>] The BodyId
|
||||
and BodyClass configuration settings weren't applied in the preview window.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/583">#583</a>] The "noWrap"
|
||||
attribute for table cells was getting an empty value in Firefox. Thanks to geirhelge.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/141">#141</a>] Fixed incorrect
|
||||
startup focus in Internet Explorer after page reloads. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/143">#143</a>] Fixed browser
|
||||
lockup when the user writes <!--{PS..x}> into the editor in source mode. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/174">#174</a>] Fixed incorrect
|
||||
positioning of FCKeditor in full screen mode. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/978">#978</a>] Fixed a
|
||||
SpellerPages error with ColdFusion when no suggestions where available for a word.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/977">#977</a>] The "shape"
|
||||
attribute of <area> had its value changed to uppercase in IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/996">#996</a>] "OnPaste"
|
||||
event listeners will now get executed only once.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/289">#289</a>] Removed
|
||||
debugging popups from page load regarding JavaScript and CSS loading errors.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/328">#328</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/346">#346</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/404">#404</a>] Fixed a number of problems
|
||||
regarding <pre> blocks:
|
||||
<ol>
|
||||
<li>Leading whitespaces and line breaks in <pre> blocks are trimmed when the user
|
||||
switches between editor mode and source mode;</li>
|
||||
<li>Pressing Enter inside a <pre> block would split the block into two, but the
|
||||
expected behavior is simply inserting a line break;</li>
|
||||
<li>Simple line breaks inside <pre> blocks entered in source mode are being turned
|
||||
into <br> tags when the user switches to editor mode and back.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/581">#581</a>] Fixed the
|
||||
issue where the "Maximize the editor size" toolbar button stops working if any of
|
||||
the following occurs:
|
||||
<ol>
|
||||
<li>There exists a form input whose name or id is "style" in FCKeditor's host form;</li>
|
||||
<li>There exists a form input whose name or id is "className" in FCKeditor's host form;</li>
|
||||
<li>There exists a form and a form input whose name of id is "style" in the editing
|
||||
frame.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/183">#183</a>] Fixed the
|
||||
issue when FCKeditor is being executed in a custom application with the WebBrowser
|
||||
ActiveX control, hiding the WebBrowser control would incorrectly invoke FCKeditor's
|
||||
cleanup routines, causing FCKeditor to stop working.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/539">#539</a>] Fixed the
|
||||
issue where right clicking on a table inside the editing frame in Firefox would
|
||||
cause the editor the scroll to the top of the document.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/523">#523</a>] Fixed the
|
||||
issue where, under certain circumstances, FCKeditor would obtain focus at startup
|
||||
even though FCKConfig.StartupFocus is set to false. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/393">#393</a>] Fixed the
|
||||
issue where if an inline tag is at the end of the document, the user would have
|
||||
no way of escaping from the inline tag if he continues typing at the end of the
|
||||
document. FCKeditor's behaviors regarding inline tags has been made to be more like
|
||||
MS Word's:
|
||||
<ol>
|
||||
<li>If the caret is moved to the end of a hyperlink by the keyboard, then hyperlink
|
||||
mode is disabled. </li>
|
||||
<li>If the caret is moved to the end of other styled inline tags by any key other than
|
||||
the End key (like bold text or italic text), the original bold/italic/... modes
|
||||
would continue to be effective. </li>
|
||||
<li>If the caret is moved to the end of other styled inline tags by the End key, all
|
||||
style tag modes (e.g. bold, italic, underline, etc.) would be canceled. This is
|
||||
not consistent with MS Word, but provides a convenient way for the user to escape
|
||||
the inline tag at the end of a line.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/338">#338</a>] Fixed the
|
||||
issue where the configuration directive FCKConfig.ForcePasteAsPlainText is ignored
|
||||
when new contents are pasted into the editor via drag-and drop from outside of the
|
||||
editor. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1026">#1026</a>] Fixed
|
||||
the issue where the cursor or selection positions are not restored with undo/redo
|
||||
commands correctly in IE, under some circumstances. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1160">#1160</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/1184">#1184</a>] Home, End
|
||||
and Tab keys are working properly for numeric fields in dialogs. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/68">#68</a>] The style
|
||||
system now properly handles Format styles when EnterMode=br.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/525">#525</a>] The union
|
||||
of successive DIVs will work properly now if EnterMode!=div.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1227">#1227</a>] The color
|
||||
commands used an unnecessary temporary variable. Thanks to Matthias Miller</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/67">#67</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/277">#277</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/427">#427</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/428">#428</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/965">#965</a>] [<a target="_blank" href="http://dev.fckeditor.net/ticket/1178">#1178</a>]
|
||||
[<a target="_blank" href="http://dev.fckeditor.net/ticket/1267">#1267</a>] The list
|
||||
insertion/removal/indent/outdent logic in FCKeditor has been rewritten, such that:
|
||||
<ol>
|
||||
<li>Text separated by <br> will always be treated as separate items during list
|
||||
insertion regardless of browser;</li>
|
||||
<li>List removal will now always obey the FCKConfig.EnterMode setting;</li>
|
||||
<li>List indentation will be XHTML 1.1 compliant - all child elements under an <ol>
|
||||
or <ul> must be <li> nodes;</li>
|
||||
<li>IE editor hacks like <ul type="1"> will no longer appear;</li>
|
||||
<li>Excessive <div> nodes are no longer inserted into list items due to alignment
|
||||
changes.</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/205">#205</a>] Fixed the
|
||||
issue where visible <br> tags at the end of paragraphs are incorrectly removed
|
||||
after switching to and from source mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1050">#1050</a>] Fixed
|
||||
a minor PHP/XML incompatibility bug in editor/dialog/fck_docprops.html.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/462">#462</a>] Fixed an
|
||||
algorithm bug in switching from source mode to WYSIWYG mode which causes the browser
|
||||
to spin up and freeze for broken HTML code inputs.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1019">#1019</a>] Table
|
||||
command buttons are now disabled when the current selection is not inside a table.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/135">#135</a>] Fixed the
|
||||
issue where context menus are misplaced in FCKeditor when FCKeditor is created inside
|
||||
a <div> node with scrolling. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1067">#1067</a>] Fixed
|
||||
the issue where context menus are misplaced in Safari when FCKeditor is scrolled
|
||||
down.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1081">#1081</a>] Fixed
|
||||
the issue where undoing table deletion in IE7 would cause JavaScript errors.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1061">#1061</a>] Fixed
|
||||
the issue where backspace and delete cannot delete special characters in Firefox
|
||||
under some circumstances.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/403">#403</a>] Fixed the
|
||||
issue where switching to and from source mode in full page mode under IE would add
|
||||
excessive line breaks to <style> blocks.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/121">#121</a>] Fixed the
|
||||
issue where maximizing FCKeditor inside a frameset would resize FCKeditor to the
|
||||
whole window's size instead of just the container frame's size.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1093">#1093</a>] Fixed
|
||||
the issue where pressing Enter inside an inline tag would not create a new paragraph
|
||||
correctly.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1089">#1089</a>] Fixed
|
||||
the issue where pressing Enter inside a <pre> block do not generate visible
|
||||
line breaks in IE.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/332">#332</a>] Hitting
|
||||
Enter when the caret is at the end of a hyperlink will no longer continue the link
|
||||
at the new paragraph.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1121">#1121</a>] Hitting
|
||||
Enter with FCKConfig.EnterMode=br will now scroll the document correctly when the
|
||||
new lines have exceeded the lower boundary of the editor frame.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1063">#1063</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/1084">#1084</a>] [<a target="_blank"
|
||||
href="http://dev.fckeditor.net/ticket/1092">#1092</a>] Fixed a few Norwegian
|
||||
language translation errors.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1148">#1148</a>] Fixed
|
||||
the issue where the "Automatic" and "More Colors..." buttons
|
||||
in the color selection panel are not centered in Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1187">#1187</a>] Fixed
|
||||
the issue where the "Paste as plain text" command cannot be undone in
|
||||
non-IE browsers.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1222">#1222</a>] Ctrl-Backspace
|
||||
operations will now save undo snapshots in all browsers.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1223">#1223</a>] Fixed
|
||||
the issue where the insert link dialog would save multiple undo snapshots for a
|
||||
single operation.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/247">#247</a>] Fixed the
|
||||
issue where deleting everything in the document in IE would create an empty <p>
|
||||
block in the document regardless of EnterMode setting. </li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1280">#1280</a>] Fixed
|
||||
the issue where opening a combo box will cause the editor frames to lose focus when
|
||||
there are multiple editors in the same document.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/363">#363</a>] Fixed the
|
||||
issue where the Find dialog does not work under Opera.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/50">#50</a>] Fixed the
|
||||
issue where the Paste button is always disabled in Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/389">#389</a>] Pasting
|
||||
text with comments from Word won't generate errors in IE, thanks to the idea from
|
||||
Swift.</li>
|
||||
<li>The pasting area in the Paste from Word dialog is focused on initial load</li>
|
||||
<li>Some fixes related to html comment handling in the Word clean up routine</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1303">#1303</a>] <col>
|
||||
is correctly treated as an empty element.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/969">#969</a>] Removed
|
||||
unused files (fcknumericfield.htc and moz-bindings.xml).</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1166">#1166</a>] Fixed
|
||||
the issue where <meta> tags are incorrectly outputted with closing tags in
|
||||
full page mode.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1200">#1200</a>] Fixed
|
||||
the issue where context menus sometimes disappear prematurely before the user can
|
||||
click on any items in Opera.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1315">#1315</a>] Fixed
|
||||
the issue where the source view text area in Safari is displayed with an excessive
|
||||
blue border.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1201">#1201</a>] Fixed
|
||||
the issue where hitting Backspace or Delete inside a table cell deletes the table
|
||||
cell instead of its contents in Opera.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1311">#1311</a>] Fixed
|
||||
the issue where undoing and redoing a special character insertion would send the
|
||||
caret to incorrect positions. (e.g. the beginning of document)</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/923">#923</a>] Font colors
|
||||
are now properly applied on links.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1316">#1316</a>] Fixed
|
||||
the issue where the image dialog expands to a size too big in Safari.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1306">#1306</a>] [<a
|
||||
target="_blank" href="http://dev.fckeditor.net/ticket/894">#894</a>] The undo system
|
||||
can now undo text formatting steps like setting fonts to bold and italic.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/95">#95</a>] Fixed the
|
||||
issue where FCKeditor breaks <meta> tags in full page mode in some circumstances.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/175">#175</a>] Fixed the
|
||||
issue where entering an email address with a '%' sign in the insert link dialog
|
||||
would cause JavaScript error.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/180">#180</a>] Improved
|
||||
backward compatibility with older PHP versions. FCKeditor can now work with PHP
|
||||
versions down to 4.0.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/192">#192</a>] Document
|
||||
modifying actions from the FCKeditor JavaScript API will now save undo steps.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/246">#246</a>] Using text
|
||||
formatting commands in EnterMode=div will no longer cause tags to randomly disappear.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/327">#327</a>] It is no
|
||||
longer possible for the browser's back action to misfire when a user presses backspace
|
||||
while an image is being selected in FCKeditor.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/362">#362</a>] Ctrl-Backspace
|
||||
now works in FCKeditor.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/390">#390</a>] Text alignment
|
||||
and justification commands now respects EnterMode=br paragraph rules.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/534">#534</a>] Pressing
|
||||
Ctrl-End while the document contains a list towards the end will no longer make
|
||||
the cursor disappear.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/906">#906</a>] It is now
|
||||
possible to have XHTML 1.0 Strict compliant output from a document pasted from Word.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/929">#929</a>] Pressing
|
||||
the Enter key will now produce an undo step.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/934">#934</a>] Fixed the
|
||||
"Cannot execute code from a freed script" error in IE from editor dialogs.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/942">#942</a>] Server
|
||||
based spell checking with ColdFusion integration no longer breaks fir non en_US
|
||||
languages.</li>
|
||||
<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/942">#1056</a>] Deleting
|
||||
everything in the editor document and moving the cursor around will no longer leave
|
||||
the cursor hanging beyond the top of the editor document.</li>
|
||||
</ul>
|
||||
<p>
|
||||
# This version has been <a href="http://dev.fckeditor.net/wiki/SD/COE">partially sponsored</a>
|
||||
by the <a href="http://www.coe.int/">Council of Europe</a>.
|
||||
</p>
|
||||
<h3>
|
||||
Version 2.4.3</h3>
|
||||
<p>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -47,6 +47,7 @@ body, td
|
||||
a[href]
|
||||
{
|
||||
color: -moz-hyperlinktext !important; /* For Firefox... mark as important, otherwise it becomes black */
|
||||
text-decoration: -moz-anchor-decoration; /* For Firefox 3, otherwise no underline will be used */
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -21,6 +21,13 @@
|
||||
* This CSS Style Sheet defines rules used by the editor for its internal use.
|
||||
*/
|
||||
|
||||
/* #########
|
||||
* WARNING
|
||||
* #########
|
||||
* When changing this file, the minified version of it must be updated in the
|
||||
* fckeditor.html file (see FCK_InternalCSS).
|
||||
*/
|
||||
|
||||
/* Fix to allow putting the caret at the end of the content in Firefox if
|
||||
clicking below the content. */
|
||||
html
|
||||
@@ -49,6 +56,16 @@ form
|
||||
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;
|
||||
}
|
||||
|
||||
/* Empty anchors images */
|
||||
.FCK__Anchor
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -21,6 +21,13 @@
|
||||
* This CSS Style Sheet defines the rules to show table borders on Gecko.
|
||||
*/
|
||||
|
||||
/* #########
|
||||
* WARNING
|
||||
* #########
|
||||
* When changing this file, the minified version of it must be updated in the
|
||||
* fckeditor.html file (see FCK_ShowTableBordersCSS).
|
||||
*/
|
||||
|
||||
/* For tables with the "border" attribute set to "0" */
|
||||
table[border="0"],
|
||||
table[border="0"] > tr > td, table[border="0"] > tr > th,
|
||||
|
||||
BIN
htdocs/includes/fckeditor/editor/css/images/fck_plugin.gif
Normal file
BIN
htdocs/includes/fckeditor/editor/css/images/fck_plugin.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -22,6 +22,13 @@
|
||||
* windows.
|
||||
*/
|
||||
|
||||
/* #########
|
||||
* WARNING
|
||||
* #########
|
||||
* When changing this file, the minified version of it must be updated in the
|
||||
* fck_dialog_common.js file (see GetCommonDialogCss).
|
||||
*/
|
||||
|
||||
.ImagePreviewArea
|
||||
{
|
||||
border: #000000 1px solid;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -19,8 +19,48 @@
|
||||
* == END LICENSE ==
|
||||
*
|
||||
* Useful functions used by almost all dialog window pages.
|
||||
* Dialogs should link to this file as the very first script on the page.
|
||||
*/
|
||||
|
||||
// Automatically detect the correct document.domain (#123).
|
||||
(function()
|
||||
{
|
||||
var d = document.domain ;
|
||||
|
||||
while ( true )
|
||||
{
|
||||
// Test if we can access a parent property.
|
||||
try
|
||||
{
|
||||
var test = window.parent.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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
|
||||
// Attention: FCKConfig must be available in the page.
|
||||
function GetCommonDialogCss( prefix )
|
||||
{
|
||||
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
|
||||
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}' ;
|
||||
}
|
||||
|
||||
// Gets a element by its Id. Used for shorter coding.
|
||||
function GetE( elementId )
|
||||
{
|
||||
@@ -57,18 +97,30 @@ function GetAttribute( element, attName, valueIfNull )
|
||||
return ( oValue == null ? valueIfNull : oValue ) ;
|
||||
}
|
||||
|
||||
var KeyIdentifierMap =
|
||||
function SelectField( elementId )
|
||||
{
|
||||
var element = GetE( elementId ) ;
|
||||
element.focus() ;
|
||||
|
||||
// element.select may not be available for some fields (like <select>).
|
||||
if ( element.select )
|
||||
element.select() ;
|
||||
}
|
||||
|
||||
// Functions used by text fields to accept numbers only.
|
||||
var IsDigit = ( function()
|
||||
{
|
||||
var KeyIdentifierMap =
|
||||
{
|
||||
End : 35,
|
||||
Home : 36,
|
||||
Left : 37,
|
||||
Right : 39,
|
||||
'U+00007F' : 46 // Delete
|
||||
}
|
||||
} ;
|
||||
|
||||
// Functions used by text fields to accept numbers only.
|
||||
function IsDigit( e )
|
||||
{
|
||||
return function ( e )
|
||||
{
|
||||
if ( !e )
|
||||
e = event ;
|
||||
|
||||
@@ -84,7 +136,8 @@ function IsDigit( e )
|
||||
|| iCode == 46 // Delete
|
||||
|| iCode == 9 // Tab
|
||||
) ;
|
||||
}
|
||||
}
|
||||
} )() ;
|
||||
|
||||
String.prototype.Trim = function()
|
||||
{
|
||||
@@ -163,3 +216,123 @@ function OpenFileBrowser( url, width, height )
|
||||
else
|
||||
window.open( url, 'FCKBrowseWindow', sOptions ) ;
|
||||
}
|
||||
|
||||
/**
|
||||
Utility function to create/update an element with a name attribute in IE, so it behaves properly when moved around
|
||||
It also allows to change the name or other special attributes in an existing node
|
||||
oEditor : instance of FCKeditor where the element will be created
|
||||
oOriginal : current element being edited or null if it has to be created
|
||||
nodeName : string with the name of the element to create
|
||||
oAttributes : Hash object with the attributes that must be set at creation time in IE
|
||||
Those attributes will be set also after the element has been
|
||||
created for any other browser to avoid redudant code
|
||||
*/
|
||||
function CreateNamedElement( oEditor, oOriginal, nodeName, oAttributes )
|
||||
{
|
||||
var oNewNode ;
|
||||
|
||||
// IE doesn't allow easily to change properties of an existing object,
|
||||
// so remove the old and force the creation of a new one.
|
||||
var oldNode = null ;
|
||||
if ( oOriginal && oEditor.FCKBrowserInfo.IsIE )
|
||||
{
|
||||
// Force the creation only if some of the special attributes have changed:
|
||||
var bChanged = false;
|
||||
for( var attName in oAttributes )
|
||||
bChanged |= ( oOriginal.getAttribute( attName, 2) != oAttributes[attName] ) ;
|
||||
|
||||
if ( bChanged )
|
||||
{
|
||||
oldNode = oOriginal ;
|
||||
oOriginal = null ;
|
||||
}
|
||||
}
|
||||
|
||||
// If the node existed (and it's not IE), then we just have to update its attributes
|
||||
if ( oOriginal )
|
||||
{
|
||||
oNewNode = oOriginal ;
|
||||
}
|
||||
else
|
||||
{
|
||||
// #676, IE doesn't play nice with the name or type attribute
|
||||
if ( oEditor.FCKBrowserInfo.IsIE )
|
||||
{
|
||||
var sbHTML = [] ;
|
||||
sbHTML.push( '<' + nodeName ) ;
|
||||
for( var prop in oAttributes )
|
||||
{
|
||||
sbHTML.push( ' ' + prop + '="' + oAttributes[prop] + '"' ) ;
|
||||
}
|
||||
sbHTML.push( '>' ) ;
|
||||
if ( !oEditor.FCKListsLib.EmptyElements[nodeName.toLowerCase()] )
|
||||
sbHTML.push( '</' + nodeName + '>' ) ;
|
||||
|
||||
oNewNode = oEditor.FCK.EditorDocument.createElement( sbHTML.join('') ) ;
|
||||
// Check if we are just changing the properties of an existing node: copy its properties
|
||||
if ( oldNode )
|
||||
{
|
||||
CopyAttributes( oldNode, oNewNode, oAttributes ) ;
|
||||
oEditor.FCKDomTools.MoveChildren( oldNode, oNewNode ) ;
|
||||
oldNode.parentNode.removeChild( oldNode ) ;
|
||||
oldNode = null ;
|
||||
|
||||
if ( oEditor.FCK.Selection.SelectionData )
|
||||
{
|
||||
// Trick to refresh the selection object and avoid error in
|
||||
// fckdialog.html Selection.EnsureSelection
|
||||
var oSel = oEditor.FCK.EditorDocument.selection ;
|
||||
oEditor.FCK.Selection.SelectionData = oSel.createRange() ; // Now oSel.type will be 'None' reflecting the real situation
|
||||
}
|
||||
}
|
||||
oNewNode = oEditor.FCK.InsertElement( oNewNode ) ;
|
||||
|
||||
// FCK.Selection.SelectionData is broken by now since we've
|
||||
// deleted the previously selected element. So we need to reassign it.
|
||||
if ( oEditor.FCK.Selection.SelectionData )
|
||||
{
|
||||
var range = oEditor.FCK.EditorDocument.body.createControlRange() ;
|
||||
range.add( oNewNode ) ;
|
||||
oEditor.FCK.Selection.SelectionData = range ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
oNewNode = oEditor.FCK.InsertElement( nodeName ) ;
|
||||
}
|
||||
}
|
||||
|
||||
// Set the basic attributes
|
||||
for( var attName in oAttributes )
|
||||
oNewNode.setAttribute( attName, oAttributes[attName], 0 ) ; // 0 : Case Insensitive
|
||||
|
||||
return oNewNode ;
|
||||
}
|
||||
|
||||
// Copy all the attributes from one node to the other, kinda like a clone
|
||||
// But oSkipAttributes is an object with the attributes that must NOT be copied
|
||||
function CopyAttributes( oSource, oDest, oSkipAttributes )
|
||||
{
|
||||
var aAttributes = oSource.attributes ;
|
||||
|
||||
for ( var n = 0 ; n < aAttributes.length ; n++ )
|
||||
{
|
||||
var oAttribute = aAttributes[n] ;
|
||||
|
||||
if ( oAttribute.specified )
|
||||
{
|
||||
var sAttName = oAttribute.nodeName ;
|
||||
// We can set the type only once, so do it with the proper value, not copying it.
|
||||
if ( sAttName in oSkipAttributes )
|
||||
continue ;
|
||||
|
||||
var sAttValue = oSource.getAttribute( sAttName, 2 ) ;
|
||||
if ( sAttValue == null )
|
||||
sAttValue = oAttribute.nodeValue ;
|
||||
|
||||
oDest.setAttribute( sAttName, sAttValue, 0 ) ; // 0 : Case Insensitive
|
||||
}
|
||||
}
|
||||
// The style:
|
||||
oDest.style.cssText = oSource.style.cssText ;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -70,7 +70,7 @@ window.onload = function()
|
||||
<div id="divAbout">
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="height: 100%">
|
||||
<tr>
|
||||
<td>
|
||||
<td colspan="2">
|
||||
<img alt="" src="fck_about/logo_fckeditor.gif" width="236" height="41" align="left" />
|
||||
<table width="80" border="0" cellspacing="0" cellpadding="5" bgcolor="#ffffff" align="right">
|
||||
<tr>
|
||||
@@ -78,31 +78,37 @@ window.onload = function()
|
||||
border-left: #000000 1px solid; border-bottom: #000000 1px solid">
|
||||
<span fcklang="DlgAboutVersion">version</span>
|
||||
<br />
|
||||
<b>2.5 Beta</b><br />
|
||||
Build 16848</td>
|
||||
<b>2.6</b><br />
|
||||
Build 18638</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="height: 100%">
|
||||
<td align="center">
|
||||
<br />
|
||||
<td align="center" valign="middle">
|
||||
<span style="font-size: 14px" dir="ltr">
|
||||
<br />
|
||||
<b><a href="http://www.fckeditor.net/?about" target="_blank" title="Visit the FCKeditor web site">
|
||||
Support <b>Open Source</b> Software</a></b> </span>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"
|
||||
target="_blank">http://www.fckeditor.net/</a>.
|
||||
<br />
|
||||
Copyright © 2003-2007 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>
|
||||
<div style="padding-top:15px">
|
||||
<img alt="" src="fck_about/logo_fredck.gif" width="87" height="36" />
|
||||
</div>
|
||||
</td>
|
||||
<td align="center" nowrap="nowrap" valign="middle">
|
||||
<div>
|
||||
<div style="margin-bottom:5px" dir="ltr">Selected Sponsor</div>
|
||||
<a href="http://www.spellchecker.net/fckeditor/" target="_blank"><img alt="Selected Sponsor" border="0" src="fck_about/sponsors/spellchecker_net.gif" width="75" height="75" /></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100%" nowrap="nowrap">
|
||||
<span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"
|
||||
target="_blank">http://www.fckeditor.net/</a>.
|
||||
<br />
|
||||
Copyright © 2003-2008 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<img alt="" src="fck_about/logo_fredck.gif" width="87" height="36" />
|
||||
<a href="http://www.fckeditor.net/sponsors/apply" target="_blank">Become a Sponsor</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,16 +29,18 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
var FCK = oEditor.FCK ;
|
||||
var FCKBrowserInfo = oEditor.FCKBrowserInfo ;
|
||||
var FCKTools = oEditor.FCKTools ;
|
||||
var FCKRegexLib = oEditor.FCKRegexLib ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
var oDOM = FCK.EditorDocument ;
|
||||
|
||||
var oFakeImage = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
var oFakeImage = FCK.Selection.GetSelectedElement() ;
|
||||
var oAnchor ;
|
||||
|
||||
if ( oFakeImage )
|
||||
@@ -68,6 +70,9 @@ window.onload = function()
|
||||
oAnchor = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
@@ -188,7 +193,7 @@ function ReadjustLinksToAnchor( sCurrent, sNew )
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body style="OVERFLOW: hidden" scroll="no">
|
||||
<body style="overflow: hidden">
|
||||
<table height="100%" width="100%">
|
||||
<tr>
|
||||
<td align="center">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,12 +29,13 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
|
||||
var oActiveEl = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
@@ -46,27 +47,21 @@ window.onload = function()
|
||||
GetE('txtName').value = oActiveEl.name ;
|
||||
GetE('txtValue').value = oActiveEl.value ;
|
||||
GetE('txtType').value = oActiveEl.type ;
|
||||
|
||||
GetE('txtType').disabled = true ;
|
||||
}
|
||||
else
|
||||
oActiveEl = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
|
||||
if ( !oActiveEl )
|
||||
{
|
||||
oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
|
||||
oActiveEl.type = GetE('txtType').value ;
|
||||
oActiveEl = oEditor.FCK.InsertElement( oActiveEl ) ;
|
||||
}
|
||||
oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;
|
||||
|
||||
oActiveEl.name = GetE('txtName').value ;
|
||||
SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
|
||||
|
||||
return true ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,12 +29,13 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
|
||||
var oActiveEl = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
@@ -50,22 +51,16 @@ window.onload = function()
|
||||
else
|
||||
oActiveEl = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
|
||||
if ( !oActiveEl )
|
||||
{
|
||||
oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
|
||||
oActiveEl.type = 'checkbox' ;
|
||||
oActiveEl = oEditor.FCK.InsertElement( oActiveEl ) ;
|
||||
}
|
||||
|
||||
if ( GetE('txtName').value.length > 0 )
|
||||
oActiveEl.name = GetE('txtName').value ;
|
||||
oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'checkbox' } ) ;
|
||||
|
||||
if ( oEditor.FCKBrowserInfo.IsIE )
|
||||
oActiveEl.value = GetE('txtValue').value ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -34,6 +34,7 @@
|
||||
#btnClear { width: 75px ; height: 22px ; margin-bottom: 6px ; }
|
||||
.ColorCell { height: 15px ; width: 15px ; }
|
||||
</style>
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
@@ -135,8 +136,8 @@ function UpdateColor()
|
||||
|
||||
function Ok()
|
||||
{
|
||||
if ( typeof(window.parent.dialogArguments.CustomValue) == 'function' )
|
||||
window.parent.dialogArguments.CustomValue( document.getElementById('selcolor').value ) ;
|
||||
if ( typeof(window.parent.Args().CustomValue) == 'function' )
|
||||
window.parent.Args().CustomValue( document.getElementById('selcolor').value ) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -374,11 +374,11 @@ function SelectColor( wich )
|
||||
{
|
||||
switch ( wich )
|
||||
{
|
||||
case 'Back' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectBackColor, window ) ; return ;
|
||||
case 'ColorText' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorText, window ) ; return ;
|
||||
case 'ColorLink' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorLink, window ) ; return ;
|
||||
case 'ColorVisited' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorVisited, window ) ; return ;
|
||||
case 'ColorActive' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorActive, window ) ; return ;
|
||||
case 'Back' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectBackColor, window ) ; return ;
|
||||
case 'ColorText' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorText, window ) ; return ;
|
||||
case 'ColorLink' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorLink, window ) ; return ;
|
||||
case 'ColorVisited' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorVisited, window ) ; return ;
|
||||
case 'ColorActive' : oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorActive, window ) ; return ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -28,7 +28,11 @@
|
||||
<meta content="noindex, nofollow" name="robots">
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script src="fck_flash/fck_flash.js" type="text/javascript"></script>
|
||||
<link href="common/fck_dialog_common.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript">
|
||||
|
||||
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body scroll="no" style="OVERFLOW: hidden">
|
||||
<div id="divInfo">
|
||||
@@ -92,7 +96,9 @@
|
||||
<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
|
||||
<br />
|
||||
<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>
|
||||
</div>
|
||||
<div id="divAdvanced" style="DISPLAY: none">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -21,21 +21,23 @@
|
||||
* Scripts related to the Flash dialog window (see fck_flash.html).
|
||||
*/
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
var FCK = oEditor.FCK ;
|
||||
var FCKLang = oEditor.FCKLang ;
|
||||
var FCKConfig = oEditor.FCKConfig ;
|
||||
var FCKTools = oEditor.FCKTools ;
|
||||
|
||||
//#### Dialog Tabs
|
||||
|
||||
// Set the dialog tabs.
|
||||
window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
|
||||
dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
|
||||
|
||||
if ( FCKConfig.FlashUpload )
|
||||
window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
|
||||
dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
|
||||
|
||||
if ( !FCKConfig.FlashDlgHideAdvanced )
|
||||
window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
|
||||
dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
|
||||
|
||||
// Function called when a dialog tag is selected.
|
||||
function OnDialogTabChange( tabCode )
|
||||
@@ -46,7 +48,7 @@ function OnDialogTabChange( tabCode )
|
||||
}
|
||||
|
||||
// Get the selected flash embed (if available).
|
||||
var oFakeImage = FCK.Selection.GetSelectedElement() ;
|
||||
var oFakeImage = dialog.Selection.GetSelectedElement() ;
|
||||
var oEmbed ;
|
||||
|
||||
if ( oFakeImage )
|
||||
@@ -72,10 +74,12 @@ window.onload = function()
|
||||
if ( FCKConfig.FlashUpload )
|
||||
GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
|
||||
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
|
||||
// Activate the "OK" button.
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
|
||||
SelectField( 'txtUrl' ) ;
|
||||
}
|
||||
|
||||
function LoadSelection()
|
||||
@@ -114,7 +118,7 @@ function Ok()
|
||||
{
|
||||
if ( GetE('txtUrl').value.length == 0 )
|
||||
{
|
||||
window.parent.SetSelectedTab( 'Info' ) ;
|
||||
dialog.SetSelectedTab( 'Info' ) ;
|
||||
GetE('txtUrl').focus() ;
|
||||
|
||||
alert( oEditor.FCKLang.DlgAlertUrl ) ;
|
||||
@@ -137,7 +141,7 @@ function Ok()
|
||||
oFakeImage = FCK.InsertElement( oFakeImage ) ;
|
||||
}
|
||||
|
||||
oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;
|
||||
oEditor.FCKEmbedAndObjectProcessor.RefreshView( oFakeImage, oEmbed ) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
@@ -227,7 +231,7 @@ function SetUrl( url, width, height )
|
||||
|
||||
UpdatePreview() ;
|
||||
|
||||
window.parent.SetSelectedTab( 'Info' ) ;
|
||||
dialog.SetSelectedTab( 'Info' ) ;
|
||||
}
|
||||
|
||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||
@@ -252,6 +256,9 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||
case 203 :
|
||||
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
|
||||
return ;
|
||||
case 500 :
|
||||
alert( 'The connector is disabled' ) ;
|
||||
break ;
|
||||
default :
|
||||
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
|
||||
return ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -26,11 +26,15 @@
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
|
||||
<script src="../common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script language="javascript">
|
||||
|
||||
var FCKTools = window.parent.FCKTools ;
|
||||
var FCKConfig = window.parent.FCKConfig ;
|
||||
|
||||
// Sets the Skin CSS
|
||||
document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
|
||||
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
|
||||
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;
|
||||
|
||||
if ( window.parent.FCKConfig.BaseHref.length > 0 )
|
||||
document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,12 +29,13 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( 'FORM' ) ;
|
||||
var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( 'FORM' ) ;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
@@ -50,7 +51,9 @@ window.onload = function()
|
||||
else
|
||||
oActiveEl = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,14 +29,16 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
var FCK = oEditor.FCK ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = FCK.EditorDocument ;
|
||||
|
||||
// Get the selected flash embed (if available).
|
||||
var oFakeImage = FCK.Selection.GetSelectedElement() ;
|
||||
var oFakeImage = dialog.Selection.GetSelectedElement() ;
|
||||
var oActiveEl ;
|
||||
|
||||
if ( oFakeImage )
|
||||
@@ -58,7 +60,9 @@ window.onload = function()
|
||||
GetE('txtValue').value = oActiveEl.value ;
|
||||
}
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
|
||||
@@ -66,28 +70,21 @@ function Ok()
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
|
||||
if ( !oActiveEl )
|
||||
{
|
||||
oActiveEl = FCK.EditorDocument.createElement( 'INPUT' ) ;
|
||||
oActiveEl.type = 'hidden' ;
|
||||
oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'hidden' } ) ;
|
||||
|
||||
oFakeImage = null ;
|
||||
}
|
||||
|
||||
oActiveEl.name = GetE('txtName').value ;
|
||||
SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
|
||||
|
||||
if ( !oFakeImage )
|
||||
{
|
||||
oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__InputHidden', oActiveEl ) ;
|
||||
oFakeImage.setAttribute( '_fckinputhidden', 'true', 0 ) ;
|
||||
oFakeImage = FCK.InsertElement( oFakeImage ) ;
|
||||
|
||||
oActiveEl.parentNode.insertBefore( oFakeImage, oActiveEl ) ;
|
||||
oActiveEl.parentNode.removeChild( oActiveEl ) ;
|
||||
}
|
||||
else
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
|
||||
oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oActiveEl ) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -28,7 +28,11 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script src="fck_image/fck_image.js" type="text/javascript"></script>
|
||||
<link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body scroll="no" style="overflow: hidden">
|
||||
<div id="divInfo">
|
||||
@@ -160,7 +164,9 @@
|
||||
<input id="txtUploadFile" style="width: 100%" type="file" size="40" name="NewFile" /><br />
|
||||
<br />
|
||||
<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>
|
||||
</div>
|
||||
<div id="divLink" style="display: none">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -21,27 +21,29 @@
|
||||
* Scripts related to the Image dialog window (see fck_image.html).
|
||||
*/
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
var FCK = oEditor.FCK ;
|
||||
var FCKLang = oEditor.FCKLang ;
|
||||
var FCKConfig = oEditor.FCKConfig ;
|
||||
var FCKDebug = oEditor.FCKDebug ;
|
||||
var FCKTools = oEditor.FCKTools ;
|
||||
|
||||
var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;
|
||||
|
||||
//#### Dialog Tabs
|
||||
|
||||
// Set the dialog tabs.
|
||||
window.parent.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;
|
||||
dialog.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;
|
||||
|
||||
if ( !bImageButton && !FCKConfig.ImageDlgHideLink )
|
||||
window.parent.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;
|
||||
dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;
|
||||
|
||||
if ( FCKConfig.ImageUpload )
|
||||
window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
|
||||
dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
|
||||
|
||||
if ( !FCKConfig.ImageDlgHideAdvanced )
|
||||
window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
|
||||
dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
|
||||
|
||||
// Function called when a dialog tag is selected.
|
||||
function OnDialogTabChange( tabCode )
|
||||
@@ -53,13 +55,13 @@ function OnDialogTabChange( tabCode )
|
||||
}
|
||||
|
||||
// Get the selected image (if available).
|
||||
var oImage = FCK.Selection.GetSelectedElement() ;
|
||||
var oImage = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) )
|
||||
oImage = null ;
|
||||
|
||||
// Get the active link.
|
||||
var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
|
||||
var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;
|
||||
|
||||
var oImageOriginal ;
|
||||
|
||||
@@ -111,10 +113,12 @@ window.onload = function()
|
||||
if ( FCKConfig.ImageUpload )
|
||||
GetE('frmUpload').action = FCKConfig.ImageUploadURL ;
|
||||
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
|
||||
// Activate the "OK" button.
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
|
||||
SelectField( 'txtUrl' ) ;
|
||||
}
|
||||
|
||||
function LoadSelection()
|
||||
@@ -197,7 +201,7 @@ function Ok()
|
||||
{
|
||||
if ( GetE('txtUrl').value.length == 0 )
|
||||
{
|
||||
window.parent.SetSelectedTab( 'Info' ) ;
|
||||
dialog.SetSelectedTab( 'Info' ) ;
|
||||
GetE('txtUrl').focus() ;
|
||||
|
||||
alert( FCKLang.DlgImgAlertUrl ) ;
|
||||
@@ -380,6 +384,11 @@ function OnSizeChanged( dimension, value )
|
||||
function ResetSizes()
|
||||
{
|
||||
if ( ! oImageOriginal ) return ;
|
||||
if ( oEditor.FCKBrowserInfo.IsGecko && !oImageOriginal.complete )
|
||||
{
|
||||
setTimeout( ResetSizes, 50 ) ;
|
||||
return ;
|
||||
}
|
||||
|
||||
GetE('txtWidth').value = oImageOriginal.width ;
|
||||
GetE('txtHeight').value = oImageOriginal.height ;
|
||||
@@ -433,7 +442,7 @@ function SetUrl( url, width, height, alt )
|
||||
UpdateOriginal( true ) ;
|
||||
}
|
||||
|
||||
window.parent.SetSelectedTab( 'Info' ) ;
|
||||
dialog.SetSelectedTab( 'Info' ) ;
|
||||
}
|
||||
|
||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||
@@ -458,6 +467,9 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||
case 203 :
|
||||
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
|
||||
return ;
|
||||
case 500 :
|
||||
alert( 'The connector is disabled' ) ;
|
||||
break ;
|
||||
default :
|
||||
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
|
||||
return ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -28,11 +28,15 @@
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
|
||||
<script src="../common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var FCKTools = window.parent.FCKTools ;
|
||||
var FCKConfig = window.parent.FCKConfig ;
|
||||
|
||||
// Sets the Skin CSS
|
||||
document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
|
||||
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
|
||||
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;
|
||||
|
||||
if ( window.parent.FCKConfig.BaseHref.length > 0 )
|
||||
document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
|
||||
@@ -47,20 +51,22 @@ window.onload = function()
|
||||
</script>
|
||||
</head>
|
||||
<body style="color: #000000; background-color: #ffffff">
|
||||
<div>
|
||||
<a id="lnkPreview" onclick="return false;" style="cursor: default">
|
||||
<img id="imgPreview" onload="window.parent.UpdateOriginal();" style="display: none" /></a>Lorem
|
||||
ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam.
|
||||
Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla.
|
||||
Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis
|
||||
euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce
|
||||
mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie.
|
||||
Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque
|
||||
egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem,
|
||||
in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut
|
||||
placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy
|
||||
metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices,
|
||||
ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris
|
||||
non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas
|
||||
elementum. Nunc imperdiet gravida mauris.
|
||||
<img id="imgPreview" onload="window.parent.UpdateOriginal();"
|
||||
style="display: none" alt="" /></a>Lorem ipsum dolor sit amet, consectetuer adipiscing
|
||||
elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus
|
||||
a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis,
|
||||
nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed
|
||||
velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper
|
||||
nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices
|
||||
a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus
|
||||
faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget
|
||||
tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit,
|
||||
tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis
|
||||
id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus,
|
||||
eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur
|
||||
ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -21,7 +21,9 @@
|
||||
* Scripts related to the Link dialog window (see fck_link.html).
|
||||
*/
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
var FCK = oEditor.FCK ;
|
||||
var FCKLang = oEditor.FCKLang ;
|
||||
var FCKConfig = oEditor.FCKConfig ;
|
||||
@@ -31,16 +33,16 @@ var FCKTools = oEditor.FCKTools ;
|
||||
//#### Dialog Tabs
|
||||
|
||||
// Set the dialog tabs.
|
||||
window.parent.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;
|
||||
dialog.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;
|
||||
|
||||
if ( !FCKConfig.LinkDlgHideTarget )
|
||||
window.parent.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;
|
||||
dialog.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;
|
||||
|
||||
if ( FCKConfig.LinkUpload )
|
||||
window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;
|
||||
dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;
|
||||
|
||||
if ( !FCKConfig.LinkDlgHideAdvanced )
|
||||
window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
|
||||
dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
|
||||
|
||||
// Function called when a dialog tag is selected.
|
||||
function OnDialogTabChange( tabCode )
|
||||
@@ -50,7 +52,7 @@ function OnDialogTabChange( tabCode )
|
||||
ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
|
||||
ShowE('divAttribs' , ( tabCode == 'Advanced' ) ) ;
|
||||
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
//#### Regular Expressions library.
|
||||
@@ -124,7 +126,7 @@ oParser.CreateEMailUri = function( address, subject, body )
|
||||
//#### Initialization Code
|
||||
|
||||
// oLink: The actual selected link in the editor.
|
||||
var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
|
||||
var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;
|
||||
if ( oLink )
|
||||
FCK.Selection.SelectNode( oLink ) ;
|
||||
|
||||
@@ -156,7 +158,23 @@ window.onload = function()
|
||||
SetDefaultTarget() ;
|
||||
|
||||
// Activate the "OK" button.
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
|
||||
// Select the first field.
|
||||
switch( GetE('cmbLinkType').value )
|
||||
{
|
||||
case 'url' :
|
||||
SelectField( 'txtUrl' ) ;
|
||||
break ;
|
||||
case 'email' :
|
||||
SelectField( 'txtEMailAddress' ) ;
|
||||
break ;
|
||||
case 'anchor' :
|
||||
if ( GetE('divSelAnchor').style.display != 'none' )
|
||||
SelectField( 'cmbAnchorName' ) ;
|
||||
else
|
||||
SelectField( 'cmbLinkType' ) ;
|
||||
}
|
||||
}
|
||||
|
||||
var bHasAnchors ;
|
||||
@@ -338,16 +356,16 @@ function SetLinkType( linkType )
|
||||
ShowE('divLinkTypeEMail' , (linkType == 'email') ) ;
|
||||
|
||||
if ( !FCKConfig.LinkDlgHideTarget )
|
||||
window.parent.SetTabVisibility( 'Target' , (linkType == 'url') ) ;
|
||||
dialog.SetTabVisibility( 'Target' , (linkType == 'url') ) ;
|
||||
|
||||
if ( FCKConfig.LinkUpload )
|
||||
window.parent.SetTabVisibility( 'Upload' , (linkType == 'url') ) ;
|
||||
dialog.SetTabVisibility( 'Upload' , (linkType == 'url') ) ;
|
||||
|
||||
if ( !FCKConfig.LinkDlgHideAdvanced )
|
||||
window.parent.SetTabVisibility( 'Advanced' , (linkType != 'anchor' || bHasAnchors) ) ;
|
||||
dialog.SetTabVisibility( 'Advanced' , (linkType != 'anchor' || bHasAnchors) ) ;
|
||||
|
||||
if ( linkType == 'email' )
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
//#### Target type selection.
|
||||
@@ -371,7 +389,7 @@ function SetTarget( targetType )
|
||||
}
|
||||
|
||||
if ( targetType == 'popup' )
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
//#### Called while the user types the URL.
|
||||
@@ -634,7 +652,7 @@ function SetUrl( url )
|
||||
{
|
||||
document.getElementById('txtUrl').value = url ;
|
||||
OnUrlChange() ;
|
||||
window.parent.SetSelectedTab( 'Info' ) ;
|
||||
dialog.SetSelectedTab( 'Info' ) ;
|
||||
}
|
||||
|
||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||
@@ -659,6 +677,9 @@ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||
case 203 :
|
||||
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
|
||||
return ;
|
||||
case 500 :
|
||||
alert( 'The connector is disabled' ) ;
|
||||
break ;
|
||||
default :
|
||||
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
|
||||
return ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,13 +29,14 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
var sListType = ( location.search == '?OL' ? 'OL' : 'UL' ) ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( sListType ) ;
|
||||
var oActiveEl = dialog.Selection.GetSelection().MoveToAncestorNode( sListType ) ;
|
||||
var oActiveSel ;
|
||||
|
||||
window.onload = function()
|
||||
@@ -63,7 +64,10 @@ window.onload = function()
|
||||
oActiveSel.value = oActiveEl.getAttribute('type') ;
|
||||
}
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
|
||||
SelectField( 'txtStartPosition' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -28,42 +28,62 @@
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
var FCK = oEditor.FCK;
|
||||
var FCKTools = oEditor.FCKTools ;
|
||||
var FCKConfig = oEditor.FCKConfig ;
|
||||
var FCKBrowserInfo = oEditor.FCKBrowserInfo ;
|
||||
|
||||
window.onload = function ()
|
||||
{
|
||||
// First of all, translate the dialog box texts
|
||||
oEditor.FCKLanguageManager.TranslatePage(document) ;
|
||||
|
||||
var sPastingType = window.parent.dialogArguments.CustomValue ;
|
||||
var sPastingType = dialog.Args().CustomValue ;
|
||||
|
||||
if ( sPastingType == 'Word' || sPastingType == 'Security' )
|
||||
{
|
||||
if ( sPastingType == 'Security' )
|
||||
document.getElementById( 'xSecurityMsg' ).style.display = '' ;
|
||||
|
||||
var oFrame = document.getElementById('frmData') ;
|
||||
oFrame.style.display = '' ;
|
||||
// For document.domain compatibility (#123) we must do all the magic in
|
||||
// the URL for IE.
|
||||
var sFrameUrl = !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE ?
|
||||
'javascript:void(0)' :
|
||||
'javascript:void( (function(){' +
|
||||
'document.open() ;' +
|
||||
'document.domain=\'' + document.domain + '\' ;' +
|
||||
'document.write(\'<html><head><script>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>\') ;' +
|
||||
'document.close() ;' +
|
||||
'document.body.contentEditable = true ;' +
|
||||
'window.focus() ;' +
|
||||
'})() )' ;
|
||||
|
||||
var eFrameSpace = document.getElementById( 'xFrameSpace' ) ;
|
||||
eFrameSpace.innerHTML = '<iframe id="frmData" src="' + sFrameUrl + '" ' +
|
||||
'height="98%" width="99%" frameborder="0" style="border: #000000 1px; background-color: #ffffff"></iframe>' ;
|
||||
|
||||
var oFrame = eFrameSpace.firstChild ;
|
||||
|
||||
if ( !oEditor.FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE )
|
||||
{
|
||||
// Avoid errors if the pasted content has any script that fails: #389
|
||||
var oDoc = oFrame.contentWindow.document ;
|
||||
oDoc.open() ;
|
||||
oDoc.write('<html><head><script>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>') ;
|
||||
oDoc.close() ;
|
||||
|
||||
if ( oFrame.contentDocument )
|
||||
oFrame.contentDocument.designMode = 'on' ;
|
||||
if ( FCKBrowserInfo.IsIE )
|
||||
oDoc.body.contentEditable = true ;
|
||||
else
|
||||
oFrame.contentWindow.document.body.contentEditable = true ;
|
||||
oDoc.designMode = 'on' ;
|
||||
|
||||
// Set the focus on the pasting area
|
||||
oFrame.contentWindow.focus();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('txtData').style.display = '' ;
|
||||
@@ -72,8 +92,8 @@ window.onload = function ()
|
||||
if ( sPastingType != 'Word' )
|
||||
document.getElementById('oWordCommands').style.display = 'none' ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
@@ -83,7 +103,7 @@ function Ok()
|
||||
|
||||
var sHtml ;
|
||||
|
||||
var sPastingType = window.parent.dialogArguments.CustomValue ;
|
||||
var sPastingType = dialog.Args().CustomValue ;
|
||||
|
||||
if ( sPastingType == 'Word' || sPastingType == 'Security' )
|
||||
{
|
||||
@@ -119,6 +139,7 @@ function Ok()
|
||||
// Use the marker method instead. It's primitive, but it works.
|
||||
var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
||||
var oDoc = oEditor.FCK.EditorDocument ;
|
||||
dialog.Selection.EnsureSelection() ;
|
||||
range.MoveToSelection() ;
|
||||
range.DeleteContents() ;
|
||||
var marker = [] ;
|
||||
@@ -157,17 +178,6 @@ function Ok()
|
||||
return true ;
|
||||
}
|
||||
|
||||
function CleanUpBox()
|
||||
{
|
||||
var oFrame = document.getElementById('frmData') ;
|
||||
|
||||
if ( oFrame.contentDocument )
|
||||
oFrame.contentDocument.body.innerHTML = '' ;
|
||||
else
|
||||
oFrame.contentWindow.document.body.innerHTML = '' ;
|
||||
}
|
||||
|
||||
|
||||
// This function will be called from the PasteFromWord dialog (fck_paste.html)
|
||||
// Input: oNode a DOM node that contains the raw paste from the clipboard
|
||||
// bIgnoreFont, bRemoveStyles booleans according to the values set in the dialog
|
||||
@@ -306,20 +316,14 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" height="100%" style="border-right: #000000 1px solid; border-top: #000000 1px solid;
|
||||
border-left: #000000 1px solid; border-bottom: #000000 1px solid">
|
||||
<td id="xFrameSpace" valign="top" height="100%" style="border: #000000 1px solid">
|
||||
<textarea id="txtData" cols="80" rows="5" style="border: #000000 1px; display: none;
|
||||
width: 99%; height: 98%"></textarea>
|
||||
<iframe id="frmData" src="javascript:void(0)" height="98%" width="99%" frameborder="0"
|
||||
style="border-right: #000000 1px; border-top: #000000 1px; display: none; border-left: #000000 1px;
|
||||
border-bottom: #000000 1px; background-color: #ffffff"></iframe>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="oWordCommands">
|
||||
<td>
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td nowrap="nowrap">
|
||||
|
||||
<input id="chkRemoveFont" type="checkbox" checked="checked" />
|
||||
<label for="chkRemoveFont" fcklang="DlgPasteIgnoreFont">
|
||||
Ignore Font Face definitions</label>
|
||||
@@ -327,12 +331,7 @@ function CleanWord( oNode, bIgnoreFont, bRemoveStyles )
|
||||
<input id="chkRemoveStyles" type="checkbox" />
|
||||
<label for="chkRemoveStyles" fcklang="DlgPasteRemoveStyles">
|
||||
Remove Styles definitions</label>
|
||||
</td>
|
||||
<td align="right" valign="top">
|
||||
<input type="button" fcklang="DlgPasteCleanBox" value="Clean Up Box" onclick="CleanUpBox()" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,12 +29,13 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
|
||||
var oActiveEl = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
@@ -50,22 +51,16 @@ window.onload = function()
|
||||
else
|
||||
oActiveEl = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
|
||||
if ( !oActiveEl )
|
||||
{
|
||||
oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
|
||||
oActiveEl.type = 'radio' ;
|
||||
oActiveEl = oEditor.FCK.InsertElement( oActiveEl ) ;
|
||||
}
|
||||
|
||||
if ( GetE('txtName').value.length > 0 )
|
||||
oActiveEl.name = GetE('txtName').value ;
|
||||
oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: 'radio' } ) ;
|
||||
|
||||
if ( oEditor.FCKBrowserInfo.IsIE )
|
||||
oActiveEl.value = GetE('txtValue').value ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,11 +29,14 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
var dialogArguments = dialog.Args() ;
|
||||
|
||||
var FCKLang = oEditor.FCKLang ;
|
||||
|
||||
window.parent.AddTab( 'Find', FCKLang.DlgFindTitle ) ;
|
||||
window.parent.AddTab( 'Replace', FCKLang.DlgReplaceTitle ) ;
|
||||
dialog.AddTab( 'Find', FCKLang.DlgFindTitle ) ;
|
||||
dialog.AddTab( 'Replace', FCKLang.DlgReplaceTitle ) ;
|
||||
var idMap = {} ;
|
||||
|
||||
function OnDialogTabChange( tabCode )
|
||||
@@ -43,6 +46,41 @@ function OnDialogTabChange( tabCode )
|
||||
idMap['FindText'] = 'txtFind' + tabCode ;
|
||||
idMap['CheckCase'] = 'chkCase' + tabCode ;
|
||||
idMap['CheckWord'] = 'chkWord' + tabCode ;
|
||||
|
||||
if ( tabCode == 'Replace' )
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
// 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()
|
||||
@@ -50,76 +88,93 @@ function OnLoad()
|
||||
// First of all, translate the dialog box texts.
|
||||
oEditor.FCKLanguageManager.TranslatePage( document ) ;
|
||||
|
||||
// Place the cursor at the start of document.
|
||||
// This will be the starting point of our search.
|
||||
var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
||||
range.SetStart( oEditor.FCK.EditorDocument.body, 1 ) ;
|
||||
range.SetEnd( oEditor.FCK.EditorDocument.body, 1 ) ;
|
||||
range.Collapse( true ) ;
|
||||
range.Select() ;
|
||||
|
||||
// Show the appropriate tab at startup.
|
||||
if ( window.parent.name.search( 'Replace' ) == -1 )
|
||||
window.parent.SetSelectedTab( 'Find' ) ;
|
||||
if ( dialogArguments.CustomValue == 'Find' )
|
||||
{
|
||||
dialog.SetSelectedTab( 'Find' ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
else
|
||||
window.parent.SetSelectedTab( 'Replace' ) ;
|
||||
dialog.SetSelectedTab( 'Replace' ) ;
|
||||
|
||||
SelectField( 'txtFind' + dialogArguments.CustomValue ) ;
|
||||
}
|
||||
|
||||
function btnStat(frm)
|
||||
function btnStat()
|
||||
{
|
||||
document.getElementById('btnReplace').disabled =
|
||||
document.getElementById('btnReplaceAll').disabled =
|
||||
document.getElementById('btnFind').disabled =
|
||||
( document.getElementById(idMap["FindText"]).value.length == 0 ) ;
|
||||
GetE('btnReplace').disabled =
|
||||
GetE('btnReplaceAll').disabled =
|
||||
GetE('btnFind').disabled =
|
||||
( GetE(idMap["FindText"]).value.length == 0 ) ;
|
||||
}
|
||||
|
||||
function GetSelection()
|
||||
function btnStatDelayed()
|
||||
{
|
||||
var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
||||
range.MoveToSelection() ;
|
||||
return range.CreateBookmark2() ;
|
||||
setTimeout( btnStat, 1 ) ;
|
||||
}
|
||||
|
||||
function GetSearchString()
|
||||
{
|
||||
return document.getElementById(idMap['FindText']).value ;
|
||||
return GetE(idMap['FindText']).value ;
|
||||
}
|
||||
|
||||
function GetReplaceString()
|
||||
{
|
||||
return document.getElementById("txtReplace").value ;
|
||||
return GetE("txtReplace").value ;
|
||||
}
|
||||
|
||||
function GetCheckCase()
|
||||
{
|
||||
return !! ( document.getElementById(idMap['CheckCase']).checked ) ;
|
||||
return !! ( GetE(idMap['CheckCase']).checked ) ;
|
||||
}
|
||||
|
||||
function GetMatchWord()
|
||||
{
|
||||
return !! ( document.getElementById(idMap['CheckWord']).checked ) ;
|
||||
return !! ( GetE(idMap['CheckWord']).checked ) ;
|
||||
}
|
||||
|
||||
// Get the data pointed to by a bookmark.
|
||||
function GetData( bookmark )
|
||||
{
|
||||
var currentNode = oEditor.FCK.EditorDocument.documentElement;
|
||||
for( var i = 0 ; i < bookmark.length ; i++ )
|
||||
var cursor = oEditor.FCK.EditorDocument.documentElement ;
|
||||
for ( var i = 0 ; i < bookmark.length ; i++ )
|
||||
{
|
||||
if ( currentNode.childNodes.length > bookmark[i] )
|
||||
currentNode = currentNode.childNodes.item( bookmark[i] ) ;
|
||||
else if ( currentNode.nodeType == 3 ) // text node
|
||||
var target = bookmark[i] ;
|
||||
var currentIndex = -1 ;
|
||||
if ( cursor.nodeType != 3 )
|
||||
{
|
||||
var c = currentNode.nodeValue.charAt( bookmark[i] ) ;
|
||||
if ( i == bookmark.length - 1 )
|
||||
return c != "" ? c : null ;
|
||||
else
|
||||
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
|
||||
return null;
|
||||
{
|
||||
if ( i != bookmark.length - 1 )
|
||||
return null ;
|
||||
while ( target >= cursor.length && cursor.nextSibling && cursor.nextSibling.nodeType == 3 )
|
||||
{
|
||||
target -= cursor.length ;
|
||||
cursor = cursor.nextSibling ;
|
||||
}
|
||||
return currentNode ;
|
||||
cursor = cursor.nodeValue.charAt( target ) ;
|
||||
if ( cursor == "" )
|
||||
cursor = null ;
|
||||
}
|
||||
}
|
||||
return cursor ;
|
||||
}
|
||||
|
||||
// With this function, we can treat the bookmark as an iterator for DFS.
|
||||
@@ -127,7 +182,6 @@ function NextPosition( bookmark )
|
||||
{
|
||||
// See if there's anything further down the tree.
|
||||
var next = bookmark.concat( [0] ) ;
|
||||
|
||||
if ( GetData( next ) != null )
|
||||
return next ;
|
||||
|
||||
@@ -213,7 +267,7 @@ KmpMatch.prototype = {
|
||||
this._State = 0;
|
||||
return KMP_MATCHED;
|
||||
}
|
||||
return KMP_ADVANCED;
|
||||
return KMP_ADVANCED ;
|
||||
}
|
||||
else if ( this._State == 0 )
|
||||
return KMP_NOMATCH;
|
||||
@@ -233,9 +287,10 @@ function _Find()
|
||||
{
|
||||
// Start from the end of the current selection.
|
||||
var matcher = new KmpMatch( GetSearchString(), ! GetCheckCase() ) ;
|
||||
var cursor = GetSelection().End ;
|
||||
var cursor = GlobalRange.CreateBookmark2().End ;
|
||||
var matchState = KMP_NOMATCH ;
|
||||
var matchBookmark = null ;
|
||||
var matchBookmarkStart = [] ;
|
||||
|
||||
// Match finding.
|
||||
while ( true )
|
||||
@@ -248,24 +303,39 @@ function _Find()
|
||||
if ( data.tagName )
|
||||
{
|
||||
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 )
|
||||
matchBookmark = null ;
|
||||
else if ( matchState == KMP_ADVANCED && matchBookmark == null )
|
||||
matchBookmark = { Start : cursor.concat( [] ) } ;
|
||||
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 )
|
||||
{
|
||||
if ( matchBookmark == null )
|
||||
matchBookmark = { Start : cursor.concat( [] ) } ;
|
||||
matchBookmark.End = cursor.concat( [] ) ;
|
||||
// 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 ;
|
||||
@@ -310,74 +380,82 @@ function _Find()
|
||||
break;
|
||||
}
|
||||
|
||||
// If we've found a match, select the match.
|
||||
// If we've found a match, highlight the match.
|
||||
if ( matchState == KMP_MATCHED )
|
||||
{
|
||||
var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
||||
range.MoveToBookmark2( matchBookmark ) ;
|
||||
range.Select() ;
|
||||
var focus = range._Range.endContainer ;
|
||||
GlobalRange.MoveToBookmark2( matchBookmark ) ;
|
||||
Highlight() ;
|
||||
var focus = GlobalRange._Range.endContainer ;
|
||||
while ( focus && focus.nodeType != 1 )
|
||||
focus = focus.parentNode ;
|
||||
|
||||
if ( focus )
|
||||
{
|
||||
if ( oEditor.FCKBrowserInfo.IsSafari )
|
||||
oEditor.FCKDomTools.ScrollIntoView( focus, false ) ;
|
||||
else
|
||||
focus.scrollIntoView( false ) ;
|
||||
return true;
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
{
|
||||
ResetGlobalRange() ;
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
|
||||
function Find()
|
||||
{
|
||||
var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
||||
range.MoveToSelection() ;
|
||||
range.Collapse( false ) ;
|
||||
range.Select() ;
|
||||
|
||||
if ( ! _Find() )
|
||||
{
|
||||
ClearHighlight() ;
|
||||
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
||||
}
|
||||
}
|
||||
|
||||
function Replace()
|
||||
{
|
||||
var selection = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
||||
selection.MoveToSelection() ;
|
||||
|
||||
if ( selection.CheckIsCollapsed() )
|
||||
if ( GlobalRange.CheckIsCollapsed() )
|
||||
{
|
||||
if (! _Find() )
|
||||
{
|
||||
ClearHighlight() ;
|
||||
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
selection.DeleteContents() ;
|
||||
selection.InsertNode( oEditor.FCK.EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
||||
selection.Collapse( false ) ;
|
||||
selection.Select() ;
|
||||
GlobalRange.DeleteContents() ;
|
||||
GlobalRange.InsertNode( oEditor.FCK.EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
||||
GlobalRange.Collapse( false ) ;
|
||||
}
|
||||
}
|
||||
|
||||
function ReplaceAll()
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
var range = new oEditor.FCKDomRange( oEditor.FCK.EditorWindow ) ;
|
||||
|
||||
var replaceCount = 0 ;
|
||||
|
||||
while ( _Find() )
|
||||
{
|
||||
range.MoveToSelection() ;
|
||||
range.DeleteContents() ;
|
||||
range.InsertNode( oEditor.FCK.EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
||||
range.Collapse( false ) ;
|
||||
range.Select() ;
|
||||
dialog.Selection.EnsureSelection() ;
|
||||
GlobalRange.DeleteContents() ;
|
||||
GlobalRange.InsertNode( oEditor.FCK.EditorDocument.createTextNode( GetReplaceString() ) ) ;
|
||||
GlobalRange.Collapse( false ) ;
|
||||
replaceCount++ ;
|
||||
}
|
||||
if ( replaceCount == 0 )
|
||||
{
|
||||
ClearHighlight() ;
|
||||
alert( FCKLang.DlgFindNotFoundMsg ) ;
|
||||
window.parent.Cancel() ;
|
||||
}
|
||||
dialog.Cancel() ;
|
||||
}
|
||||
|
||||
window.onunload = function(){ ClearHighlight() ; }
|
||||
</script>
|
||||
</head>
|
||||
<body onload="OnLoad()" style="overflow: hidden">
|
||||
@@ -389,7 +467,7 @@ function ReplaceAll()
|
||||
Find what:</label>
|
||||
</td>
|
||||
<td width="100%">
|
||||
<input id="txtFindFind" onkeyup="btnStat(this.form)" style="width: 100%" tabindex="1"
|
||||
<input id="txtFindFind" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"
|
||||
type="text" />
|
||||
</td>
|
||||
<td>
|
||||
@@ -416,7 +494,7 @@ function ReplaceAll()
|
||||
Find what:</label>
|
||||
</td>
|
||||
<td width="100%">
|
||||
<input id="txtFindReplace" onkeyup="btnStat(this.form)" style="width: 100%" tabindex="1"
|
||||
<input id="txtFindReplace" onkeyup="btnStat()" oninput="btnStat()" onpaste="btnStatDelayed()" style="width: 100%" tabindex="1"
|
||||
type="text" />
|
||||
</td>
|
||||
<td>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -30,12 +30,13 @@
|
||||
<script type="text/javascript" src="fck_select/fck_select.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
|
||||
var oActiveEl = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
var oListText ;
|
||||
var oListValue ;
|
||||
@@ -48,6 +49,10 @@ window.onload = function()
|
||||
oListText = document.getElementById( 'cmbText' ) ;
|
||||
oListValue = document.getElementById( 'cmbValue' ) ;
|
||||
|
||||
// Fix the lists widths. (Bug #970)
|
||||
oListText.style.width = oListText.offsetWidth ;
|
||||
oListValue.style.width = oListValue.offsetWidth ;
|
||||
|
||||
if ( oActiveEl && oActiveEl.tagName == 'SELECT' )
|
||||
{
|
||||
GetE('txtName').value = oActiveEl.name ;
|
||||
@@ -68,7 +73,9 @@ window.onload = function()
|
||||
else
|
||||
oActiveEl = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
@@ -79,12 +86,8 @@ function Ok()
|
||||
if ( sSize == null || isNaN( sSize ) || sSize <= 1 )
|
||||
sSize = '' ;
|
||||
|
||||
if ( !oActiveEl )
|
||||
{
|
||||
oActiveEl = oEditor.FCK.InsertElement( 'select' ) ;
|
||||
}
|
||||
oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'SELECT', {name: GetE('txtName').value} ) ;
|
||||
|
||||
SetAttribute( oActiveEl, 'name' , GetE('txtName').value ) ;
|
||||
SetAttribute( oActiveEl, 'size' , sSize ) ;
|
||||
oActiveEl.multiple = ( sSize.length > 0 && GetE('chkMultiple').checked ) ;
|
||||
|
||||
@@ -113,7 +116,7 @@ function Ok()
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body style='OVERFLOW: hidden' scroll='no'>
|
||||
<body style="overflow: hidden">
|
||||
<table width="100%" height="100%">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -33,19 +33,24 @@
|
||||
cursor: hand;
|
||||
}
|
||||
</style>
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
window.onload = function ()
|
||||
{
|
||||
// First of all, translate the dialog box texts
|
||||
oEditor.FCKLanguageManager.TranslatePage(document) ;
|
||||
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
function InsertSmiley( url )
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
|
||||
var oImg = oEditor.FCK.InsertElement( 'img' ) ;
|
||||
oImg.src = url ;
|
||||
oImg.setAttribute( '_fcksavedurl', url ) ;
|
||||
@@ -55,7 +60,7 @@ function InsertSmiley( url )
|
||||
// everything before closing.
|
||||
document.body.innerHTML = '' ;
|
||||
|
||||
window.parent.Cancel() ;
|
||||
dialog.Cancel() ;
|
||||
}
|
||||
|
||||
function over(td)
|
||||
@@ -69,7 +74,7 @@ function out(td)
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body scroll="no">
|
||||
<body style="overflow: hidden">
|
||||
<table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -26,12 +26,15 @@
|
||||
<title>Source</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script language="javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var FCK = oEditor.FCK ;
|
||||
var FCKConfig = oEditor.FCKConfig ;
|
||||
var FCKTools = oEditor.FCKTools ;
|
||||
|
||||
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -33,6 +33,7 @@
|
||||
}
|
||||
.Sample { font-size: 24px; }
|
||||
</style>
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
@@ -69,17 +70,19 @@ function setDefaults()
|
||||
|
||||
// First of all, translates the dialog box texts.
|
||||
oEditor.FCKLanguageManager.TranslatePage(document) ;
|
||||
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</HEAD>
|
||||
<BODY onload="setDefaults()" scroll="no">
|
||||
</head>
|
||||
<body onload="setDefaults()" style="overflow: hidden">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" height="100%">
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding="1" cellspacing="1" align="center" border="0" width="100%" height="100%">
|
||||
<script type="text/javascript">
|
||||
var aChars = ["!",""","#","$","%","&","\\'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","€","‘","’","’","“","”","–","—","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ü","ý","þ","ÿ","Œ","œ","‚","‛","„","…","™","►","•","→","⇒","⇔","♦","≈"] ;
|
||||
var aChars = ["!",""","#","$","%","&","\\'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","€","‘","’","’","“","”","–","—","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ü","ý","þ","ÿ","Œ","œ","Ŵ","Ŷ","ŵ","ŷ","‚","‛","„","…","™","►","•","→","⇒","⇔","♦","≈"] ;
|
||||
|
||||
var cols = 20 ;
|
||||
|
||||
@@ -114,5 +117,5 @@ while (i < aChars.length)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -26,6 +26,7 @@
|
||||
<title>Spell Check</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 src="fck_spellerpages/spellerpages/spellChecker.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
@@ -37,7 +37,9 @@ others files in certain cases.
|
||||
<cfset text = text & "%" & CRLF
|
||||
& "^A" & CRLF
|
||||
& "!" & CRLF>
|
||||
<cfloop list="#URLDecode(field)#" index="line" delimiters="#CRLF#">
|
||||
<!--- Strip all tags for the text. (by FredCK - #339 / #681) --->
|
||||
<cfset field = REReplace(URLDecode(field), "<[^>]+>", " ", "all")>
|
||||
<cfloop list="#field#" index="line" delimiters="#CRLF#">
|
||||
<cfset text = ListAppend(text, "^" & Trim(JSStringFormat(line)), CRLF)>
|
||||
</cfloop>
|
||||
</cfloop>
|
||||
|
||||
@@ -62,7 +62,7 @@ function escape_quote( $str ) {
|
||||
|
||||
# handle a server-side error.
|
||||
function error_handler( $err ) {
|
||||
echo "error = '" . escape_quote( $err ) . "';\n";
|
||||
echo "error = '" . preg_replace( "/['\\\\]/", "\\\\$0", $err ) . "';\n";
|
||||
}
|
||||
|
||||
## get the list of misspelled words. Put the results in the javascript words array
|
||||
@@ -82,6 +82,10 @@ function print_checker_results() {
|
||||
if( $fh = fopen( $tempfile, 'w' )) {
|
||||
for( $i = 0; $i < count( $textinputs ); $i++ ) {
|
||||
$text = urldecode( $textinputs[$i] );
|
||||
|
||||
// Strip all tags for the text. (by FredCK - #339 / #681)
|
||||
$text = preg_replace( "/<[^>]+>/", " ", $text ) ;
|
||||
|
||||
$lines = explode( "\n", $text );
|
||||
fwrite ( $fh, "%\n" ); # exit terse mode
|
||||
fwrite ( $fh, "^$input_separator\n" );
|
||||
@@ -193,4 +197,3 @@ wordWindowObj.writeBody();
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -58,6 +58,8 @@ sub printCheckerResults {
|
||||
# open temp file, add the submitted text.
|
||||
for( my $i = 0; $i <= $#textinputs; $i++ ) {
|
||||
$text = url_decode( $textinputs[$i] );
|
||||
# Strip all tags for the text. (by FredCK - #339 / #681)
|
||||
$text =~ s/<[^>]+>/ /g;
|
||||
@lines = split( /\n/, $text );
|
||||
print $fh "\%\n"; # exit terse mode
|
||||
print $fh "^$input_separator\n";
|
||||
@@ -177,4 +179,3 @@ wordWindowObj.writeBody();
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
|
||||
@@ -459,4 +459,3 @@ function _getFormInputs( inputPattern ) {
|
||||
}
|
||||
return inputs;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,14 +29,16 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
var dialogArguments = dialog.Args() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
// Gets the table if there is one selected.
|
||||
var table ;
|
||||
var e = oEditor.FCKSelection.GetSelectedElement() ;
|
||||
var e = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
if ( ( !e && document.location.search.substr(1) == 'Parent' ) || ( e && e.tagName != 'TABLE' ) )
|
||||
e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;
|
||||
@@ -88,10 +90,13 @@ window.onload = function()
|
||||
|
||||
document.getElementById('txtRows').disabled = true ;
|
||||
document.getElementById('txtColumns').disabled = true ;
|
||||
SelectField( 'txtWidth' ) ;
|
||||
}
|
||||
else
|
||||
SelectField( 'txtRows' ) ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
// Fired when the user press the OK button
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,7 +29,8 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
@@ -44,8 +45,9 @@ window.onload = function()
|
||||
|
||||
SetStartupValue() ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtWidth' ) ;
|
||||
}
|
||||
|
||||
function SetStartupValue()
|
||||
@@ -118,7 +120,7 @@ function SelectBorderColor( color )
|
||||
|
||||
function SelectColor( wich )
|
||||
{
|
||||
oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, wich == 'Back' ? SelectBackColor : SelectBorderColor, window ) ;
|
||||
oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, wich == 'Back' ? SelectBackColor : SelectBorderColor, window ) ;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,12 +29,13 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
|
||||
var oActiveEl = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
@@ -50,19 +51,17 @@ window.onload = function()
|
||||
else
|
||||
oActiveEl = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
{
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
|
||||
if ( !oActiveEl )
|
||||
{
|
||||
oActiveEl = oEditor.FCK.InsertElement( 'textarea' ) ;
|
||||
}
|
||||
oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'TEXTAREA', {name: GetE('txtName').value} ) ;
|
||||
|
||||
oActiveEl.name = GetE('txtName').value ;
|
||||
SetAttribute( oActiveEl, 'cols', GetE('txtCols').value ) ;
|
||||
SetAttribute( oActiveEl, 'rows', GetE('txtRows').value ) ;
|
||||
|
||||
@@ -71,7 +70,7 @@ function Ok()
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body style='OVERFLOW: hidden' scroll='no'>
|
||||
<body style="overflow: hidden">
|
||||
<table height="100%" width="100%">
|
||||
<tr>
|
||||
<td align="center">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,12 +29,13 @@
|
||||
<script src="common/fck_dialog_common.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
var dialog = window.parent ;
|
||||
var oEditor = dialog.InnerDialogLoaded() ;
|
||||
|
||||
// Gets the document DOM
|
||||
var oDOM = oEditor.FCK.EditorDocument ;
|
||||
|
||||
var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
|
||||
var oActiveEl = dialog.Selection.GetSelectedElement() ;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
@@ -48,13 +49,13 @@ window.onload = function()
|
||||
GetE('txtSize').value = GetAttribute( oActiveEl, 'size' ) ;
|
||||
GetE('txtMax').value = GetAttribute( oActiveEl, 'maxLength' ) ;
|
||||
GetE('txtType').value = oActiveEl.type ;
|
||||
|
||||
GetE('txtType').disabled = true ;
|
||||
}
|
||||
else
|
||||
oActiveEl = null ;
|
||||
|
||||
window.parent.SetOkButton( true ) ;
|
||||
dialog.SetOkButton( true ) ;
|
||||
dialog.SetAutoSize( true ) ;
|
||||
SelectField( 'txtName' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
@@ -72,15 +73,10 @@ function Ok()
|
||||
return false ;
|
||||
}
|
||||
|
||||
if ( !oActiveEl )
|
||||
{
|
||||
oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
|
||||
oActiveEl.type = GetE('txtType').value ;
|
||||
oEditor.FCKUndo.SaveUndoStep() ;
|
||||
oActiveEl = oEditor.FCK.InsertElement( oActiveEl ) ;
|
||||
}
|
||||
|
||||
oActiveEl.name = GetE('txtName').value ;
|
||||
oActiveEl = CreateNamedElement( oEditor, oActiveEl, 'INPUT', {name: GetE('txtName').value, type: GetE('txtType').value } ) ;
|
||||
|
||||
SetAttribute( oActiveEl, 'value' , GetE('txtValue').value ) ;
|
||||
SetAttribute( oActiveEl, 'size' , GetE('txtSize').value ) ;
|
||||
SetAttribute( oActiveEl, 'maxlength', GetE('txtMax').value ) ;
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
<table border="1">
|
||||
<script type="text/javascript">
|
||||
|
||||
alert(FCK.DTD);
|
||||
|
||||
for ( var p in FCK.DTD )
|
||||
{
|
||||
document.write( '<tr><td><b>' + p + '</b></td><td>' ) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
FCK.DTD = (function()
|
||||
{
|
||||
X = FCKTools.Merge ;
|
||||
var X = FCKTools.Merge ;
|
||||
|
||||
var H,I,J,K,C,L,M,A,B,D,E,G,N,F ;
|
||||
A = {ins:1, del:1, script:1} ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
FCK.DTD = (function()
|
||||
{
|
||||
X = FCKTools.Merge ;
|
||||
var X = FCKTools.Merge ;
|
||||
|
||||
var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I ;
|
||||
A = {isindex:1, fieldset:1} ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!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
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -23,133 +23,420 @@
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<script type="text/javascript">
|
||||
// Domain relaxation logic.
|
||||
(function()
|
||||
{
|
||||
var d = document.domain ;
|
||||
|
||||
// On some Gecko browsers (probably over slow connections) the
|
||||
// "dialogArguments" are not set so we must get it from the opener window.
|
||||
if ( !window.dialogArguments )
|
||||
window.dialogArguments = window.opener.FCKLastDialogInfo ;
|
||||
while ( true )
|
||||
{
|
||||
// Test if we can access a parent property.
|
||||
try
|
||||
{
|
||||
var parentDomain = ( Args().TopWindow || E ).document.domain ;
|
||||
|
||||
if ( document.domain != parentDomain )
|
||||
document.domain = parentDomain ;
|
||||
|
||||
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.
|
||||
|
||||
document.domain = d ;
|
||||
}
|
||||
})() ;
|
||||
|
||||
var E = frameElement._DialogArguments.Editor ;
|
||||
|
||||
// It seems referencing to frameElement._DialogArguments directly would lead to memory leaks in IE.
|
||||
// So let's use functions to access its members instead.
|
||||
function Args()
|
||||
{
|
||||
return frameElement._DialogArguments ;
|
||||
}
|
||||
|
||||
function ParentDialog( dialog )
|
||||
{
|
||||
return dialog ? dialog._ParentDialog : frameElement._ParentDialog ;
|
||||
}
|
||||
|
||||
var FCK = E.FCK ;
|
||||
var FCKTools = E.FCKTools ;
|
||||
var FCKDomTools = E.FCKDomTools ;
|
||||
var FCKDialog = E.FCKDialog ;
|
||||
var FCKBrowserInfo = E.FCKBrowserInfo ;
|
||||
var FCKConfig = E.FCKConfig ;
|
||||
|
||||
// Steal the focus so that the caret would no longer stay in the editor iframe.
|
||||
window.focus() ;
|
||||
|
||||
// Sets the Skin CSS
|
||||
document.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
|
||||
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
|
||||
|
||||
// Sets the language direction.
|
||||
window.document.dir = window.dialogArguments.Editor.FCKLang.Dir ;
|
||||
var langDir = document.documentElement.dir = E.FCKLang.Dir ;
|
||||
|
||||
var sTitle = window.dialogArguments.Title ;
|
||||
document.write( '<title>' + sTitle + '<\/title>' ) ;
|
||||
// For IE6-, the fck_dialog_ie6.js is loaded, used to fix limitations in the browser.
|
||||
if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
|
||||
document.write( '<' + 'script type="text/javascript" src="' + FCKConfig.SkinPath + 'fck_dialog_ie6.js"><' + '\/script>' ) ;
|
||||
|
||||
function LoadInnerDialog()
|
||||
FCKTools.RegisterDollarFunction( window ) ;
|
||||
|
||||
// Resize related functions.
|
||||
var Sizer = function()
|
||||
{
|
||||
if ( window.onresize )
|
||||
window.onresize() ;
|
||||
var bAutoSize = false ;
|
||||
|
||||
// First of all, translate the dialog box contents.
|
||||
window.dialogArguments.Editor.FCKLanguageManager.TranslatePage( document ) ;
|
||||
|
||||
window.frames["frmMain"].document.location.href = window.dialogArguments.Page ;
|
||||
}
|
||||
|
||||
function InnerDialogLoaded()
|
||||
{
|
||||
var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;
|
||||
|
||||
// Set the language direction.
|
||||
oInnerDoc.dir = window.dialogArguments.Editor.FCKLang.Dir ;
|
||||
|
||||
// Sets the Skin CSS.
|
||||
oInnerDoc.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
|
||||
|
||||
SetOnKeyDown( oInnerDoc ) ;
|
||||
DisableContextMenu( oInnerDoc ) ;
|
||||
|
||||
return window.dialogArguments.Editor ;
|
||||
}
|
||||
|
||||
function SetOkButton( showIt )
|
||||
{
|
||||
document.getElementById('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;
|
||||
}
|
||||
|
||||
var bAutoSize = false ;
|
||||
|
||||
function SetAutoSize( autoSize )
|
||||
{
|
||||
var retval = {
|
||||
// Sets whether the dialog should auto-resize according to its content's height.
|
||||
SetAutoSize : function( autoSize )
|
||||
{
|
||||
bAutoSize = autoSize ;
|
||||
RefreshSize() ;
|
||||
}
|
||||
this.RefreshSize() ;
|
||||
},
|
||||
|
||||
function RefreshSize()
|
||||
{
|
||||
// Fit the dialog container's layout to the inner iframe's external size.
|
||||
RefreshContainerSize : function()
|
||||
{
|
||||
var frmMain = $( 'frmMain' ) ;
|
||||
|
||||
if ( frmMain )
|
||||
{
|
||||
// Get the container size.
|
||||
var height = $( 'contents' ).offsetHeight ;
|
||||
|
||||
// Subtract the size of other elements.
|
||||
height -= $( 'TitleArea' ).offsetHeight ;
|
||||
height -= $( 'TabsRow' ).offsetHeight ;
|
||||
height -= $( 'PopupButtons' ).offsetHeight ;
|
||||
|
||||
frmMain.style.height = Math.max( height, 0 ) + 'px' ;
|
||||
}
|
||||
},
|
||||
|
||||
// Resize and re-layout the dialog.
|
||||
// Triggers the onresize event for the layout logic.
|
||||
ResizeDialog : function( width, height )
|
||||
{
|
||||
FCKDomTools.SetElementStyles( window.frameElement,
|
||||
{
|
||||
'width' : width + 'px',
|
||||
'height' : height + 'px'
|
||||
} ) ;
|
||||
|
||||
// If the skin have defined a function for resize fixes, call it now.
|
||||
if ( typeof window.DoResizeFixes == 'function' )
|
||||
window.DoResizeFixes() ;
|
||||
},
|
||||
|
||||
// if bAutoSize is true, automatically fit the dialog size and layout to
|
||||
// accomodate the inner iframe's internal height.
|
||||
// if bAutoSize is false, then only the layout logic for the dialog decorations
|
||||
// is run to accomodate the inner iframe's external height.
|
||||
RefreshSize : function()
|
||||
{
|
||||
if ( bAutoSize )
|
||||
{
|
||||
var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;
|
||||
var frmMain = $( 'frmMain' ) ;
|
||||
var innerDoc = frmMain.contentWindow.document ;
|
||||
var isStrict = FCKTools.IsStrictMode( innerDoc ) ;
|
||||
|
||||
var iFrameHeight ;
|
||||
if ( document.all )
|
||||
iFrameHeight = oInnerDoc.body.offsetHeight ;
|
||||
// Get the size of the frame contents.
|
||||
var innerWidth = isStrict ? innerDoc.documentElement.scrollWidth : innerDoc.body.scrollWidth ;
|
||||
var innerHeight = isStrict ? innerDoc.documentElement.scrollHeight : innerDoc.body.scrollHeight ;
|
||||
|
||||
// Get the current frame size.
|
||||
var frameSize = FCKTools.GetViewPaneSize( frmMain.contentWindow ) ;
|
||||
|
||||
var deltaWidth = innerWidth - frameSize.Width ;
|
||||
var deltaHeight = innerHeight - frameSize.Height ;
|
||||
|
||||
// If the contents fits the current size.
|
||||
if ( deltaWidth <= 0 && deltaHeight <= 0 )
|
||||
return ;
|
||||
|
||||
var dialogWidth = frameElement.offsetWidth + Math.max( deltaWidth, 0 ) ;
|
||||
var dialogHeight = frameElement.offsetHeight + Math.max( deltaHeight, 0 ) ;
|
||||
|
||||
this.ResizeDialog( dialogWidth, dialogHeight ) ;
|
||||
}
|
||||
this.RefreshContainerSize() ;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Safari seems to have a bug with the time when RefreshSize() is executed - it
|
||||
* thinks frmMain's innerHeight is 0 if we query the value too soon after the
|
||||
* page is loaded in some circumstances. (#1316)
|
||||
* TODO : Maybe this is not needed anymore after #35.
|
||||
*/
|
||||
if ( FCKBrowserInfo.IsSafari )
|
||||
{
|
||||
var originalRefreshSize = retval.RefreshSize ;
|
||||
|
||||
retval.RefreshSize = function()
|
||||
{
|
||||
FCKTools.SetTimeout( originalRefreshSize, 1, retval ) ;
|
||||
}
|
||||
}
|
||||
|
||||
window.onresize = function()
|
||||
{
|
||||
retval.RefreshContainerSize() ;
|
||||
}
|
||||
|
||||
window.SetAutoSize = FCKTools.Bind( retval, retval.SetAutoSize ) ;
|
||||
|
||||
return retval ;
|
||||
}() ;
|
||||
|
||||
// Manages the throbber image that appears if the inner part of dialog is taking too long to load.
|
||||
var Throbber = function()
|
||||
{
|
||||
var timer ;
|
||||
|
||||
var updateThrobber = function()
|
||||
{
|
||||
var throbberParent = $( 'throbberBlock' ) ;
|
||||
var throbberBlocks = throbberParent.childNodes ;
|
||||
var lastClass = throbberParent.lastChild.className ;
|
||||
|
||||
// From the last to the second one, copy the class from the previous one.
|
||||
for ( var i = throbberBlocks.length - 1 ; i > 0 ; i-- )
|
||||
throbberBlocks[i].className = throbberBlocks[i-1].className ;
|
||||
|
||||
// For the first one, copy the last class (rotation).
|
||||
throbberBlocks[0].className = lastClass ;
|
||||
}
|
||||
|
||||
return {
|
||||
Show : function( waitMilliseconds )
|
||||
{
|
||||
// Auto-setup the Show function to be called again after the
|
||||
// requested amount of time.
|
||||
if ( waitMilliseconds && waitMilliseconds > 0 )
|
||||
{
|
||||
timer = FCKTools.SetTimeout( this.Show, waitMilliseconds, this, null, window ) ;
|
||||
return ;
|
||||
}
|
||||
|
||||
var throbberParent = $( 'throbberBlock' ) ;
|
||||
|
||||
// Create the throbber blocks.
|
||||
var classIds = [ 1,2,3,4,5,4,3,2 ] ;
|
||||
while ( classIds.length > 0 )
|
||||
throbberParent.appendChild( document.createElement( 'div' ) ).className = ' throbber_' + classIds.shift() ;
|
||||
|
||||
// Center the throbber.
|
||||
var frm = $( 'contents' ) ;
|
||||
var frmCoords = FCKTools.GetDocumentPosition( window, frm ) ;
|
||||
var x = frmCoords.x + ( frm.offsetWidth - throbberParent.offsetWidth ) / 2 ;
|
||||
var y = frmCoords.y + ( frm.offsetHeight - throbberParent.offsetHeight ) / 2 ;
|
||||
throbberParent.style.left = parseInt( x, 10 ) + 'px' ;
|
||||
throbberParent.style.top = parseInt( y, 10 ) + 'px' ;
|
||||
|
||||
// Show it.
|
||||
throbberParent.style.visibility = '' ;
|
||||
|
||||
// Setup the animation interval.
|
||||
timer = setInterval( updateThrobber, 100 ) ;
|
||||
},
|
||||
|
||||
Hide : function()
|
||||
{
|
||||
if ( timer )
|
||||
{
|
||||
clearInterval( timer ) ;
|
||||
timer = null ;
|
||||
}
|
||||
|
||||
var throbberParent = document.getElementById( 'throbberBlock' ) ;
|
||||
if ( throbberParent )
|
||||
FCKDomTools.RemoveNode( throbberParent ) ;
|
||||
}
|
||||
} ;
|
||||
}() ;
|
||||
|
||||
// Drag and drop handlers.
|
||||
var DragAndDrop = function()
|
||||
{
|
||||
var registeredWindows = [] ;
|
||||
var lastCoords ;
|
||||
var currentPos ;
|
||||
|
||||
var cleanUpHandlers = function()
|
||||
{
|
||||
for ( var i = 0 ; i < registeredWindows.length ; i++ )
|
||||
{
|
||||
FCKTools.RemoveEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;
|
||||
FCKTools.RemoveEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;
|
||||
}
|
||||
}
|
||||
|
||||
var dragMouseMoveHandler = function( evt )
|
||||
{
|
||||
if ( !lastCoords )
|
||||
return ;
|
||||
|
||||
if ( !evt )
|
||||
evt = FCKTools.GetElementDocument( this ).parentWindow.event ;
|
||||
|
||||
// Updated the last coordinates.
|
||||
var currentCoords =
|
||||
{
|
||||
x : evt.screenX,
|
||||
y : evt.screenY
|
||||
} ;
|
||||
|
||||
currentPos =
|
||||
{
|
||||
x : currentPos.x + ( currentCoords.x - lastCoords.x ),
|
||||
y : currentPos.y + ( currentCoords.y - lastCoords.y )
|
||||
} ;
|
||||
|
||||
lastCoords = currentCoords ;
|
||||
|
||||
frameElement.style.left = currentPos.x + 'px' ;
|
||||
frameElement.style.top = currentPos.y + 'px' ;
|
||||
|
||||
if ( evt.preventDefault )
|
||||
evt.preventDefault() ;
|
||||
else
|
||||
iFrameHeight = document.getElementById('frmMain').contentWindow.innerHeight ;
|
||||
evt.returnValue = false ;
|
||||
}
|
||||
|
||||
var iInnerHeight = oInnerDoc.body.scrollHeight ;
|
||||
|
||||
var iDiff = iInnerHeight - iFrameHeight ;
|
||||
|
||||
if ( iDiff > 0 )
|
||||
var dragMouseUpHandler = function( evt )
|
||||
{
|
||||
if ( document.all )
|
||||
window.dialogHeight = ( parseInt( window.dialogHeight, 10 ) + iDiff ) + 'px' ;
|
||||
if ( !lastCoords )
|
||||
return ;
|
||||
if ( !evt )
|
||||
evt = FCKTools.GetElementDocument( this ).parentWindow.event ;
|
||||
cleanUpHandlers() ;
|
||||
lastCoords = null ;
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
MouseDownHandler : function( evt )
|
||||
{
|
||||
var view = null ;
|
||||
if ( !evt )
|
||||
{
|
||||
view = FCKTools.GetElementDocument( this ).parentWindow ;
|
||||
evt = view.event ;
|
||||
}
|
||||
else
|
||||
window.resizeBy( 0, iDiff ) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
view = evt.view ;
|
||||
|
||||
// Kludge for #1316: Safari seems to have a bug with the time when RefreshSize() is executed - it thinks frmMain's innerHeight
|
||||
// is 0 if we query the value too soon after the page is loaded in some circumstances.
|
||||
if ( window.dialogArguments.Editor.FCKBrowserInfo.IsSafari )
|
||||
{
|
||||
window.OriginalRefreshSize = RefreshSize ;
|
||||
var target = evt.srcElement || evt.target ;
|
||||
if ( target.id == 'closeButton' || target.className == 'PopupTab' || target.className == 'PopupTabSelected' )
|
||||
return ;
|
||||
|
||||
RefreshSize = function()
|
||||
lastCoords =
|
||||
{
|
||||
window.setTimeout( window.OriginalRefreshSize, 1 );
|
||||
}
|
||||
}
|
||||
x : evt.screenX,
|
||||
y : evt.screenY
|
||||
} ;
|
||||
|
||||
function Ok()
|
||||
{
|
||||
if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )
|
||||
Cancel() ;
|
||||
}
|
||||
|
||||
function Cancel( dontFireChange )
|
||||
{
|
||||
if ( !dontFireChange && !window.dialogArguments.Editor.FCK.EditMode )
|
||||
// Save the current IFRAME position.
|
||||
currentPos =
|
||||
{
|
||||
// All dialog windows, by default, will fire the "OnSelectionChange"
|
||||
// event, no matter the Ok or Cancel button has been pressed.
|
||||
window.dialogArguments.Editor.FCK.Events.FireEvent( 'OnSelectionChange' ) ;
|
||||
x : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'left' ), 10 ),
|
||||
y : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'top' ), 10 )
|
||||
} ;
|
||||
|
||||
for ( var i = 0 ; i < registeredWindows.length ; i++ )
|
||||
{
|
||||
FCKTools.AddEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ;
|
||||
FCKTools.AddEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ;
|
||||
}
|
||||
|
||||
if ( evt.preventDefault )
|
||||
evt.preventDefault() ;
|
||||
else
|
||||
evt.returnValue = false ;
|
||||
},
|
||||
|
||||
RegisterHandlers : function( w )
|
||||
{
|
||||
registeredWindows.push( w ) ;
|
||||
}
|
||||
}
|
||||
}() ;
|
||||
|
||||
// Selection related functions.
|
||||
//(Became simple shortcuts after the fix for #1990)
|
||||
var Selection =
|
||||
{
|
||||
/**
|
||||
* Ensures that the editing area contains an active selection. This is a
|
||||
* requirement for IE, as it looses the selection when the focus moves to other
|
||||
* frames.
|
||||
*/
|
||||
EnsureSelection : function()
|
||||
{
|
||||
FCK.Selection.Restore() ;
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the FCKSelection object for the editor instance.
|
||||
*/
|
||||
GetSelection : function()
|
||||
{
|
||||
return FCK.Selection ;
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the selected element in the editing area (for object selections).
|
||||
*/
|
||||
GetSelectedElement : function()
|
||||
{
|
||||
return FCK.Selection.GetSelectedElement() ;
|
||||
}
|
||||
window.close() ;
|
||||
}
|
||||
|
||||
// Object that holds all available tabs.
|
||||
var oTabs = new Object() ;
|
||||
|
||||
function TabDiv_OnClick()
|
||||
// Tab related functions.
|
||||
var Tabs = function()
|
||||
{
|
||||
SetSelectedTab( this.TabCode ) ;
|
||||
}
|
||||
// Only element ids should be stored here instead of element references since setSelectedTab and TabDiv_OnClick
|
||||
// would build circular references with the element references inside and cause memory leaks in IE6.
|
||||
var oTabs = new Object() ;
|
||||
|
||||
function AddTab( tabCode, tabText, startHidden )
|
||||
{
|
||||
var setSelectedTab = function( tabCode )
|
||||
{
|
||||
for ( var sCode in oTabs )
|
||||
{
|
||||
if ( sCode == tabCode )
|
||||
$( oTabs[sCode] ).className = 'PopupTabSelected' ;
|
||||
else
|
||||
$( oTabs[sCode] ).className = 'PopupTab' ;
|
||||
}
|
||||
|
||||
if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )
|
||||
window.frames["frmMain"].OnDialogTabChange( tabCode ) ;
|
||||
}
|
||||
|
||||
function TabDiv_OnClick()
|
||||
{
|
||||
setSelectedTab( this.TabCode ) ;
|
||||
}
|
||||
|
||||
window.AddTab = function( tabCode, tabText, startHidden )
|
||||
{
|
||||
if ( typeof( oTabs[ tabCode ] ) != 'undefined' )
|
||||
return ;
|
||||
|
||||
var eTabsRow = document.getElementById( 'Tabs' ) ;
|
||||
var eTabsRow = $( 'Tabs' ) ;
|
||||
|
||||
var oCell = eTabsRow.insertCell( eTabsRow.cells.length - 1 ) ;
|
||||
oCell.noWrap = true ;
|
||||
@@ -159,63 +446,71 @@ function AddTab( tabCode, tabText, startHidden )
|
||||
oDiv.innerHTML = tabText ;
|
||||
oDiv.TabCode = tabCode ;
|
||||
oDiv.onclick = TabDiv_OnClick ;
|
||||
oDiv.id = Math.random() ;
|
||||
|
||||
if ( startHidden )
|
||||
oDiv.style.display = 'none' ;
|
||||
|
||||
eTabsRow = document.getElementById( 'TabsRow' ) ;
|
||||
eTabsRow = $( 'TabsRow' ) ;
|
||||
|
||||
oCell.appendChild( oDiv ) ;
|
||||
|
||||
if ( eTabsRow.style.display == 'none' )
|
||||
{
|
||||
var eTitleArea = document.getElementById( 'TitleArea' ) ;
|
||||
var eTitleArea = $( 'TitleArea' ) ;
|
||||
eTitleArea.className = 'PopupTitle' ;
|
||||
|
||||
oDiv.className = 'PopupTabSelected' ;
|
||||
eTabsRow.style.display = '' ;
|
||||
|
||||
if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )
|
||||
if ( window.onresize )
|
||||
window.onresize() ;
|
||||
}
|
||||
|
||||
oTabs[ tabCode ] = oDiv ;
|
||||
}
|
||||
oTabs[ tabCode ] = oDiv.id ;
|
||||
|
||||
function SetSelectedTab( tabCode )
|
||||
{
|
||||
for ( var sCode in oTabs )
|
||||
FCKTools.DisableSelection( oDiv ) ;
|
||||
} ;
|
||||
|
||||
window.SetSelectedTab = setSelectedTab ;
|
||||
|
||||
window.SetTabVisibility = function( tabCode, isVisible )
|
||||
{
|
||||
if ( sCode == tabCode )
|
||||
oTabs[sCode].className = 'PopupTabSelected' ;
|
||||
else
|
||||
oTabs[sCode].className = 'PopupTab' ;
|
||||
}
|
||||
|
||||
if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )
|
||||
window.frames["frmMain"].OnDialogTabChange( tabCode ) ;
|
||||
}
|
||||
|
||||
function SetTabVisibility( tabCode, isVisible )
|
||||
{
|
||||
var oTab = oTabs[ tabCode ] ;
|
||||
var oTab = $( oTabs[ tabCode ] ) ;
|
||||
oTab.style.display = isVisible ? '' : 'none' ;
|
||||
|
||||
if ( ! isVisible && oTab.className == 'PopupTabSelected' )
|
||||
{
|
||||
for ( var sCode in oTabs )
|
||||
{
|
||||
if ( oTabs[sCode].style.display != 'none' )
|
||||
if ( $( oTabs[sCode] ).style.display != 'none' )
|
||||
{
|
||||
SetSelectedTab( sCode ) ;
|
||||
setSelectedTab( sCode ) ;
|
||||
break ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} ;
|
||||
}() ;
|
||||
|
||||
function SetOnKeyDown( targetDocument )
|
||||
// readystatechange handler for registering drag and drop handlers in cover
|
||||
// iframes, defined out here to avoid memory leak.
|
||||
// Do NOT put this function as a private function as it will induce memory leak
|
||||
// in IE and it's not detectable with Drip or sIEve and undetectable leaks are
|
||||
// really nasty (sigh).
|
||||
var onReadyRegister = function()
|
||||
{
|
||||
if ( this.readyState != 'complete' )
|
||||
return ;
|
||||
DragAndDrop.RegisterHandlers( this.contentWindow ) ;
|
||||
} ;
|
||||
|
||||
// The business logic of the dialog, dealing with operational things like
|
||||
// dialog open/dialog close/enable/disable/etc.
|
||||
(function()
|
||||
{
|
||||
var setOnKeyDown = function( targetDocument )
|
||||
{
|
||||
targetDocument.onkeydown = function ( e )
|
||||
{
|
||||
e = e || event || this.parentWindow.event ;
|
||||
@@ -227,110 +522,262 @@ function SetOnKeyDown( targetDocument )
|
||||
return true ;
|
||||
Ok() ;
|
||||
return false ;
|
||||
|
||||
case 27 : // ESC
|
||||
Cancel() ;
|
||||
return false ;
|
||||
break ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
}
|
||||
SetOnKeyDown( document ) ;
|
||||
} ;
|
||||
|
||||
function DisableContextMenu( targetDocument )
|
||||
{
|
||||
if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE ) return ;
|
||||
|
||||
// Disable Right-Click
|
||||
var oOnContextMenu = function( e )
|
||||
var contextMenuBlocker = function( e )
|
||||
{
|
||||
var sTagName = e.target.tagName ;
|
||||
if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) )
|
||||
e.preventDefault() ;
|
||||
}
|
||||
targetDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ;
|
||||
}
|
||||
DisableContextMenu( document ) ;
|
||||
} ;
|
||||
|
||||
if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )
|
||||
{
|
||||
window.onresize = function()
|
||||
var disableContextMenu = function( targetDocument )
|
||||
{
|
||||
var oFrame = document.getElementById("frmMain") ;
|
||||
|
||||
if ( ! oFrame )
|
||||
if ( FCKBrowserInfo.IsIE )
|
||||
return ;
|
||||
|
||||
oFrame.height = 0 ;
|
||||
targetDocument.addEventListener( 'contextmenu', contextMenuBlocker, true ) ;
|
||||
} ;
|
||||
|
||||
var oCell = document.getElementById("FrameCell") ;
|
||||
var iHeight = oCell.offsetHeight ;
|
||||
|
||||
oFrame.height = iHeight - 2 ;
|
||||
}
|
||||
}
|
||||
|
||||
if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE )
|
||||
{
|
||||
function Window_OnBeforeUnload()
|
||||
// Program entry point.
|
||||
window.Init = function()
|
||||
{
|
||||
for ( var t in oTabs )
|
||||
oTabs[t] = null ;
|
||||
// Start the throbber timer.
|
||||
Throbber.Show( 1000 ) ;
|
||||
|
||||
window.dialogArguments.Editor = null ;
|
||||
Sizer.RefreshContainerSize() ;
|
||||
LoadInnerDialog() ;
|
||||
|
||||
FCKTools.DisableSelection( document.body ) ;
|
||||
|
||||
// Make the title area draggable.
|
||||
var titleElement = $( 'header' ) ;
|
||||
titleElement.onmousedown = DragAndDrop.MouseDownHandler ;
|
||||
|
||||
// Connect mousemove and mouseup events from dialog frame and outer window to dialog dragging logic.
|
||||
DragAndDrop.RegisterHandlers( window ) ;
|
||||
DragAndDrop.RegisterHandlers( Args().TopWindow ) ;
|
||||
|
||||
// Disable the previous dialog if it exists.
|
||||
if ( ParentDialog() )
|
||||
{
|
||||
ParentDialog().contentWindow.SetEnabled( false ) ;
|
||||
if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
|
||||
{
|
||||
var currentParent = ParentDialog() ;
|
||||
while ( currentParent )
|
||||
{
|
||||
var blockerFrame = currentParent.contentWindow.$( 'blocker' ) ;
|
||||
if ( blockerFrame.readyState == 'complete' )
|
||||
DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;
|
||||
else
|
||||
blockerFrame.onreadystatechange = onReadyRegister ;
|
||||
currentParent = ParentDialog( currentParent ) ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var currentParent = ParentDialog() ;
|
||||
while ( currentParent )
|
||||
{
|
||||
DragAndDrop.RegisterHandlers( currentParent.contentWindow ) ;
|
||||
currentParent = ParentDialog( currentParent ) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
window.attachEvent( "onbeforeunload", Window_OnBeforeUnload ) ;
|
||||
}
|
||||
|
||||
function Window_OnClose()
|
||||
{
|
||||
window.dialogArguments.Editor.FCKFocusManager.Unlock() ;
|
||||
}
|
||||
// If this is the only dialog on screen, enable the background cover.
|
||||
if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
|
||||
{
|
||||
var blockerFrame = FCKDialog.GetCover().firstChild ;
|
||||
if ( blockerFrame.readyState == 'complete' )
|
||||
DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ;
|
||||
else
|
||||
blockerFrame.onreadystatechange = onReadyRegister;
|
||||
}
|
||||
|
||||
if ( window.addEventListener )
|
||||
window.addEventListener( 'unload', Window_OnClose, false ) ;
|
||||
// Add Enter/Esc hotkeys and disable context menu for the dialog.
|
||||
setOnKeyDown( document ) ;
|
||||
disableContextMenu( document ) ;
|
||||
} ;
|
||||
|
||||
window.LoadInnerDialog = function()
|
||||
{
|
||||
if ( window.onresize )
|
||||
window.onresize() ;
|
||||
|
||||
// First of all, translate the dialog box contents.
|
||||
E.FCKLanguageManager.TranslatePage( document ) ;
|
||||
|
||||
// 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>' ;
|
||||
} ;
|
||||
|
||||
window.InnerDialogLoaded = function()
|
||||
{
|
||||
// If the dialog has been closed before the iframe is loaded, do nothing.
|
||||
if ( !frameElement.parentNode )
|
||||
return null ;
|
||||
|
||||
Throbber.Hide() ;
|
||||
|
||||
var frmMain = $('frmMain') ;
|
||||
var innerWindow = frmMain.contentWindow ;
|
||||
var innerDoc = innerWindow.document ;
|
||||
|
||||
// Show the loaded iframe.
|
||||
frmMain.style.visibility = '' ;
|
||||
|
||||
// Set the language direction.
|
||||
innerDoc.documentElement.dir = langDir ;
|
||||
|
||||
// Sets the Skin CSS.
|
||||
innerDoc.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
|
||||
|
||||
setOnKeyDown( innerDoc ) ;
|
||||
disableContextMenu( innerDoc ) ;
|
||||
|
||||
Sizer.RefreshContainerSize();
|
||||
|
||||
DragAndDrop.RegisterHandlers( innerWindow ) ;
|
||||
|
||||
innerWindow.focus() ;
|
||||
|
||||
return E ;
|
||||
} ;
|
||||
|
||||
window.SetOkButton = function( showIt )
|
||||
{
|
||||
$('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;
|
||||
} ;
|
||||
|
||||
window.Ok = function()
|
||||
{
|
||||
Selection.EnsureSelection() ;
|
||||
|
||||
var frmMain = window.frames["frmMain"] ;
|
||||
|
||||
if ( frmMain.Ok && frmMain.Ok() )
|
||||
CloseDialog() ;
|
||||
else
|
||||
frmMain.focus() ;
|
||||
} ;
|
||||
|
||||
window.Cancel = function( dontFireChange )
|
||||
{
|
||||
Selection.EnsureSelection() ;
|
||||
return CloseDialog( dontFireChange ) ;
|
||||
} ;
|
||||
|
||||
window.CloseDialog = function( dontFireChange )
|
||||
{
|
||||
Throbber.Hide() ;
|
||||
|
||||
// Points the src to a non-existent location to avoid loading errors later, in case the dialog
|
||||
// haven't been completed loaded at this point.
|
||||
if ( $( 'frmMain' ) )
|
||||
$( 'frmMain' ).src = FCKTools.GetVoidUrl() ;
|
||||
|
||||
if ( !dontFireChange && !FCK.EditMode )
|
||||
{
|
||||
// All dialog windows, by default, will fire the "OnSelectionChange"
|
||||
// event, no matter the Ok or Cancel button has been pressed.
|
||||
// It seems that OnSelectionChange may enter on a concurrency state
|
||||
// on some situations (#1965), so we should put the event firing in
|
||||
// the execution queue instead of executing it immediately.
|
||||
setTimeout( function()
|
||||
{
|
||||
FCK.Events.FireEvent( 'OnSelectionChange' ) ;
|
||||
}, 0 ) ;
|
||||
}
|
||||
|
||||
FCKDialog.OnDialogClose( window ) ;
|
||||
} ;
|
||||
|
||||
window.SetEnabled = function( isEnabled )
|
||||
{
|
||||
var cover = $( 'cover' ) ;
|
||||
cover.style.display = isEnabled ? 'none' : '' ;
|
||||
|
||||
if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
|
||||
{
|
||||
if ( !isEnabled )
|
||||
{
|
||||
// Inser the blocker IFRAME before the cover.
|
||||
var blocker = document.createElement( 'iframe' ) ;
|
||||
blocker.src = FCKTools.GetVoidUrl() ;
|
||||
blocker.hideFocus = true ;
|
||||
blocker.frameBorder = 0 ;
|
||||
blocker.id = blocker.className = 'blocker' ;
|
||||
cover.appendChild( blocker ) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
var blocker = $( 'blocker' ) ;
|
||||
if ( blocker && blocker.parentNode )
|
||||
blocker.parentNode.removeChild( blocker ) ;
|
||||
}
|
||||
}
|
||||
} ;
|
||||
})() ;
|
||||
</script>
|
||||
</head>
|
||||
<body onload="LoadInnerDialog();" class="PopupBody">
|
||||
<table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
|
||||
<tr>
|
||||
<td id="TitleArea" class="PopupTitle PopupTitleBorder">
|
||||
<body onload="Init();" class="PopupBody">
|
||||
<div class="contents" id="contents">
|
||||
<div id="header">
|
||||
<div id="TitleArea" class="PopupTitle PopupTitleBorder">
|
||||
<script type="text/javascript">
|
||||
document.write( sTitle ) ;
|
||||
document.write( Args().Title ) ;
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="TabsRow" style="DISPLAY: none">
|
||||
<td class="PopupTabArea">
|
||||
<div id="closeButton" onclick="Cancel();"></div>
|
||||
</div>
|
||||
<div id="TabsRow" class="PopupTabArea" style="display: none">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr id="Tabs" onselectstart="return false;">
|
||||
<tr id="Tabs">
|
||||
<td class="PopupTabEmptyArea"> </td>
|
||||
<td class="PopupTabEmptyArea" width="100%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="FrameCell" height="100%" valign="top">
|
||||
<iframe id="frmMain" src="javascript:void(0)" name="frmMain" frameborder="0" height="100%" width="100%" scrolling="auto">
|
||||
</iframe>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="PopupButtons">
|
||||
</div>
|
||||
</div>
|
||||
<div id="innerContents"></div>
|
||||
<div id="PopupButtons" class="PopupButtons">
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="100%"> </td>
|
||||
<td nowrap="nowrap">
|
||||
<input id="btnOk" style="VISIBILITY: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" />
|
||||
<input id="btnOk" style="visibility: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" />
|
||||
|
||||
<input id="btnCancel" type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tl"></div>
|
||||
<div class="tc"></div>
|
||||
<div class="tr"></div>
|
||||
<div class="ml"></div>
|
||||
<div class="mr"></div>
|
||||
<div class="bl"></div>
|
||||
<div class="bc"></div>
|
||||
<div class="br"></div>
|
||||
<div class="cover" id="cover" style="display:none"></div>
|
||||
<div id="throbberBlock" style="position: absolute; visibility: hidden"></div>
|
||||
<script type="text/javascript">
|
||||
// Set the class name for language direction.
|
||||
document.body.className += ' ' + langDir ;
|
||||
|
||||
var cover = $( 'cover' ) ;
|
||||
cover.style.backgroundColor = FCKConfig.BackgroundBlockerColor ;
|
||||
FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -26,9 +26,49 @@
|
||||
<title>FCKeditor</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Cache-Control" content="public" />
|
||||
<meta http-equiv="Cache-Control" content="public">
|
||||
<script type="text/javascript">
|
||||
|
||||
// Save a reference to the default domain.
|
||||
var FCK_ORIGINAL_DOMAIN ;
|
||||
|
||||
// Automatically detect the correct document.domain (#123).
|
||||
(function()
|
||||
{
|
||||
var d = FCK_ORIGINAL_DOMAIN = document.domain ;
|
||||
|
||||
while ( true )
|
||||
{
|
||||
// Test if we can access a parent property.
|
||||
try
|
||||
{
|
||||
var test = window.parent.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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
|
||||
// Save a reference to the detected runtime domain.
|
||||
var FCK_RUNTIME_DOMAIN = document.domain ;
|
||||
|
||||
var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;
|
||||
|
||||
// Instead of loading scripts and CSSs using inline tags, all scripts are
|
||||
// loaded by code. In this way we can guarantee the correct processing order,
|
||||
// otherwise external scripts and inline scripts could be executed in an
|
||||
@@ -39,11 +79,6 @@ function LoadScript( url )
|
||||
document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;
|
||||
}
|
||||
|
||||
function LoadCss( url )
|
||||
{
|
||||
document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" />' ) ;
|
||||
}
|
||||
|
||||
// Main editor scripts.
|
||||
var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;
|
||||
|
||||
@@ -55,6 +90,10 @@ LoadScript( '../fckconfig.js' ) ;
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
|
||||
// Adobe AIR compatibility file.
|
||||
if ( FCKBrowserInfo.IsAIR )
|
||||
LoadScript( 'js/fckadobeair.js' ) ;
|
||||
|
||||
if ( FCKBrowserInfo.IsIE )
|
||||
{
|
||||
// Remove IE mouse flickering.
|
||||
@@ -95,8 +134,17 @@ FCKConfig_LoadPageConfig() ;
|
||||
|
||||
FCKConfig_PreProcess() ;
|
||||
|
||||
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
|
||||
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_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}' ) ;
|
||||
|
||||
// Popup the debug window if debug mode is set to true. It guarantees that the
|
||||
// first debug message will not be lost.
|
||||
if ( FCKConfig.Debug )
|
||||
FCKDebug._GetWindow() ;
|
||||
|
||||
// Load the active skin CSS.
|
||||
LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;
|
||||
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;
|
||||
|
||||
// Load the language file.
|
||||
FCKLanguageManager.Initialize() ;
|
||||
@@ -178,13 +226,16 @@ function WaitForActive( editorInstance, newStatus )
|
||||
}
|
||||
}
|
||||
|
||||
// Gecko browsers doens't calculate well that IFRAME size so we must
|
||||
// Gecko browsers doesn't calculate well the IFRAME size so we must
|
||||
// recalculate it every time the window size changes.
|
||||
if ( FCKBrowserInfo.IsGecko )
|
||||
if ( FCKBrowserInfo.IsGecko && !FCKBrowserInfo.IsOpera )
|
||||
{
|
||||
function Window_OnResize()
|
||||
window.onresize = function( e )
|
||||
{
|
||||
if ( FCKBrowserInfo.IsOpera )
|
||||
// Running in Chrome makes the window receive the event including subframes.
|
||||
// we care only about this window. Ticket #1642.
|
||||
// #2002: The originalTarget from the event can be the current document, the window, or the editing area.
|
||||
if ( e && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
|
||||
return ;
|
||||
|
||||
var oCell = document.getElementById( 'xEditingArea' ) ;
|
||||
@@ -192,11 +243,10 @@ if ( FCKBrowserInfo.IsGecko )
|
||||
var eInnerElement = oCell.firstChild ;
|
||||
if ( eInnerElement )
|
||||
{
|
||||
eInnerElement.style.height = 0 ;
|
||||
eInnerElement.style.height = oCell.scrollHeight - 2 ;
|
||||
eInnerElement.style.height = '0px' ;
|
||||
eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;
|
||||
}
|
||||
}
|
||||
window.onresize = Window_OnResize ;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -27,10 +27,50 @@
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<!-- @Packager.RemoveLine
|
||||
<meta http-equiv="Cache-Control" content="public" />
|
||||
<meta http-equiv="Cache-Control" content="public">
|
||||
@Packager.RemoveLine -->
|
||||
<script type="text/javascript">
|
||||
|
||||
// Save a reference to the default domain.
|
||||
var FCK_ORIGINAL_DOMAIN ;
|
||||
|
||||
// Automatically detect the correct document.domain (#123).
|
||||
(function()
|
||||
{
|
||||
var d = FCK_ORIGINAL_DOMAIN = document.domain ;
|
||||
|
||||
while ( true )
|
||||
{
|
||||
// Test if we can access a parent property.
|
||||
try
|
||||
{
|
||||
var test = window.parent.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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
|
||||
// Save a reference to the detected runtime domain.
|
||||
var FCK_RUNTIME_DOMAIN = document.domain ;
|
||||
|
||||
var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ;
|
||||
|
||||
// Instead of loading scripts and CSSs using inline tags, all scripts are
|
||||
// loaded by code. In this way we can guarantee the correct processing order,
|
||||
// otherwise external scripts and inline scripts could be executed in an
|
||||
@@ -41,11 +81,6 @@ function LoadScript( url )
|
||||
document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;
|
||||
}
|
||||
|
||||
function LoadCss( url )
|
||||
{
|
||||
document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" />' ) ;
|
||||
}
|
||||
|
||||
// Main editor scripts.
|
||||
var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;
|
||||
|
||||
@@ -141,12 +176,12 @@ LoadScript( '_source/classes/fcktoolbar.js' ) ;
|
||||
LoadScript( '_source/classes/fcktoolbarbreak_' + sSuffix + '.js' ) ;
|
||||
LoadScript( '_source/internals/fcktoolbarset.js' ) ;
|
||||
LoadScript( '_source/internals/fckdialog.js' ) ;
|
||||
LoadScript( '_source/internals/fckdialog_' + sSuffix + '.js' ) ;
|
||||
LoadScript( '_source/classes/fckmenuitem.js' ) ;
|
||||
LoadScript( '_source/classes/fckmenublock.js' ) ;
|
||||
LoadScript( '_source/classes/fckmenublockpanel.js' ) ;
|
||||
LoadScript( '_source/classes/fckcontextmenu.js' ) ;
|
||||
LoadScript( '_source/internals/fck_contextmenu.js' ) ;
|
||||
LoadScript( '_source/classes/fckhtmliterator.js' ) ;
|
||||
LoadScript( '_source/classes/fckplugin.js' ) ;
|
||||
LoadScript( '_source/internals/fckplugins.js' ) ;
|
||||
|
||||
@@ -158,6 +193,10 @@ LoadScript( '../fckconfig.js' ) ;
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
|
||||
// Adobe AIR compatibility file.
|
||||
if ( FCKBrowserInfo.IsAIR )
|
||||
LoadScript( 'js/fckadobeair.js' ) ;
|
||||
|
||||
if ( FCKBrowserInfo.IsIE )
|
||||
{
|
||||
// Remove IE mouse flickering.
|
||||
@@ -198,8 +237,21 @@ FCKConfig_LoadPageConfig() ;
|
||||
|
||||
FCKConfig_PreProcess() ;
|
||||
|
||||
var FCK_InternalCSS = FCKConfig.FullBasePath + 'css/fck_internal.css' ; // @Packager.RemoveLine
|
||||
var FCK_ShowTableBordersCSS = FCKConfig.FullBasePath + 'css/fck_showtableborders_gecko.css' ; // @Packager.RemoveLine
|
||||
/* @Packager.RemoveLine
|
||||
// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
|
||||
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_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}' ) ;
|
||||
@Packager.RemoveLine */
|
||||
|
||||
// Popup the debug window if debug mode is set to true. It guarantees that the
|
||||
// first debug message will not be lost.
|
||||
if ( FCKConfig.Debug )
|
||||
FCKDebug._GetWindow() ;
|
||||
|
||||
// Load the active skin CSS.
|
||||
LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;
|
||||
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;
|
||||
|
||||
// Load the language file.
|
||||
FCKLanguageManager.Initialize() ;
|
||||
@@ -281,13 +333,16 @@ function WaitForActive( editorInstance, newStatus )
|
||||
}
|
||||
}
|
||||
|
||||
// Gecko browsers doens't calculate well that IFRAME size so we must
|
||||
// Gecko browsers doesn't calculate well the IFRAME size so we must
|
||||
// recalculate it every time the window size changes.
|
||||
if ( FCKBrowserInfo.IsGecko )
|
||||
if ( FCKBrowserInfo.IsGecko && !FCKBrowserInfo.IsOpera )
|
||||
{
|
||||
function Window_OnResize()
|
||||
window.onresize = function( e )
|
||||
{
|
||||
if ( FCKBrowserInfo.IsOpera )
|
||||
// Running in Chrome makes the window receive the event including subframes.
|
||||
// we care only about this window. Ticket #1642.
|
||||
// #2002: The originalTarget from the event can be the current document, the window, or the editing area.
|
||||
if ( e && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
|
||||
return ;
|
||||
|
||||
var oCell = document.getElementById( 'xEditingArea' ) ;
|
||||
@@ -295,11 +350,10 @@ if ( FCKBrowserInfo.IsGecko )
|
||||
var eInnerElement = oCell.firstChild ;
|
||||
if ( eInnerElement )
|
||||
{
|
||||
eInnerElement.style.height = 0 ;
|
||||
eInnerElement.style.height = oCell.scrollHeight - 2 ;
|
||||
eInnerElement.style.height = '0px' ;
|
||||
eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ;
|
||||
}
|
||||
}
|
||||
window.onresize = Window_OnResize ;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -24,9 +24,41 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Resources Browser</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="js/fckxml.js"></script>
|
||||
<script language="javascript">
|
||||
// Automatically detect the correct document.domain (#1919).
|
||||
(function()
|
||||
{
|
||||
var d = document.domain ;
|
||||
|
||||
while ( true )
|
||||
{
|
||||
// Test if we can access a parent property.
|
||||
try
|
||||
{
|
||||
var test = window.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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
|
||||
function GetUrlParam( paramName )
|
||||
{
|
||||
@@ -140,6 +172,9 @@ oIcons.GetIcon = function( fileName )
|
||||
|
||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
|
||||
{
|
||||
if (errorNumber == "1")
|
||||
window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg ) ;
|
||||
else
|
||||
window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName ) ;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -23,8 +23,40 @@
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript">
|
||||
// Automatically detect the correct document.domain (#1919).
|
||||
(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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
|
||||
function OnResize()
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -25,6 +25,7 @@
|
||||
<html>
|
||||
<head>
|
||||
<link href="browser.css" type="text/css" rel="stylesheet">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<script language="javascript">
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -24,6 +24,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<link href="browser.css" type="text/css" rel="stylesheet" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -87,7 +88,7 @@ function OpenFolder( folderPath )
|
||||
|
||||
function OpenFile( fileUrl )
|
||||
{
|
||||
window.top.opener.SetUrl( encodeURI( fileUrl ) ) ;
|
||||
window.top.opener.SetUrl( encodeURI( fileUrl ).replace( '#', '%23' ) ) ;
|
||||
window.top.close() ;
|
||||
window.top.opener.focus() ;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -24,6 +24,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>File Upload</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link href="browser.css" type="text/css" rel="stylesheet" />
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -22,6 +22,38 @@
|
||||
* File Browser dialog window.
|
||||
*/
|
||||
|
||||
// Automatically detect the correct document.domain (#1919).
|
||||
(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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
|
||||
function AddSelectOption( selectElement, optionText, optionValue )
|
||||
{
|
||||
var oOption = document.createElement("OPTION") ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -31,8 +31,8 @@ var FCKXml = function()
|
||||
FCKXml.prototype.GetHttpRequest = function()
|
||||
{
|
||||
// Gecko / IE7
|
||||
if ( typeof(XMLHttpRequest) != 'undefined' )
|
||||
return new XMLHttpRequest() ;
|
||||
try { return new XMLHttpRequest(); }
|
||||
catch(e) {}
|
||||
|
||||
// IE6
|
||||
try { return new ActiveXObject( 'Msxml2.XMLHTTP' ) ; }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
@@ -22,7 +22,7 @@
|
||||
%>
|
||||
<%
|
||||
|
||||
' SECURITY: You must explicitelly enable this "connector" (set it to "True").
|
||||
' SECURITY: You must explicitly enable this "connector" (set it to "True").
|
||||
' WARNING: don't just set "ConfigIsEnabled = true", you must be sure that only
|
||||
' authenticated users can access this file or use some kind of session checking.
|
||||
Dim ConfigIsEnabled
|
||||
@@ -34,7 +34,7 @@ ConfigIsEnabled = False
|
||||
Dim ConfigUserFilesPath
|
||||
ConfigUserFilesPath = "/userfiles/"
|
||||
|
||||
' Due to security issues with Apache modules, it is reccomended to leave the
|
||||
' Due to security issues with Apache modules, it is recommended to leave the
|
||||
' following setting enabled.
|
||||
Dim ConfigForceSingleExtension
|
||||
ConfigForceSingleExtension = true
|
||||
@@ -60,7 +60,7 @@ ConfigHtmlExtensions = "html|htm|xml|xsd|txt|js"
|
||||
' - DeniedExtensions: The extensions that won't be allowed.
|
||||
' If it is empty then no restrictions are done here.
|
||||
'
|
||||
' For a file to be uploaded it has to fullfil both the AllowedExtensions
|
||||
' For a file to be uploaded it has to fulfill both the AllowedExtensions
|
||||
' and DeniedExtensions (that's it: not being denied) conditions.
|
||||
'
|
||||
' - FileTypesPath: the virtual folder relative to the document root where
|
||||
@@ -70,7 +70,7 @@ ConfigHtmlExtensions = "html|htm|xml|xsd|txt|js"
|
||||
' - FileTypesAbsolutePath: the physical path to the above folder. It must be
|
||||
' an absolute path.
|
||||
' If it's an empty string then it will be autocalculated.
|
||||
' Usefull if you are using a virtual directory, symbolic link or alias.
|
||||
' Useful if you are using a virtual directory, symbolic link or alias.
|
||||
' Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
||||
' Attention: The above 'FileTypesPath' must point to the same directory.
|
||||
' Attention: It must end with a slash: '/'
|
||||
@@ -83,7 +83,7 @@ ConfigHtmlExtensions = "html|htm|xml|xsd|txt|js"
|
||||
' - QuickUploadAbsolutePath: the physical path to the above folder. It must be
|
||||
' an absolute path.
|
||||
' If it's an empty string then it will be autocalculated.
|
||||
' Usefull if you are using a virtual directory, symbolic link or alias.
|
||||
' Useful if you are using a virtual directory, symbolic link or alias.
|
||||
' Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
||||
' Attention: The above 'QuickUploadPath' must point to the same directory.
|
||||
' Attention: It must end with a slash: '/'
|
||||
@@ -104,14 +104,14 @@ ConfigFileTypesAbsolutePath.Add "File", ""
|
||||
ConfigQuickUploadPath.Add "File", ConfigUserFilesPath
|
||||
ConfigQuickUploadAbsolutePath.Add "File", ""
|
||||
|
||||
ConfigAllowedExtensions.Add "Image", "bmp|gif|jpeg|jpg|png|psd|tif|tiff"
|
||||
ConfigAllowedExtensions.Add "Image", "bmp|gif|jpeg|jpg|png"
|
||||
ConfigDeniedExtensions.Add "Image", ""
|
||||
ConfigFileTypesPath.Add "Image", ConfigUserFilesPath & "image/"
|
||||
ConfigFileTypesAbsolutePath.Add "Image", ""
|
||||
ConfigQuickUploadPath.Add "Image", ConfigUserFilesPath
|
||||
ConfigQuickUploadAbsolutePath.Add "Image", ""
|
||||
|
||||
ConfigAllowedExtensions.Add "Flash", "swf|fla"
|
||||
ConfigAllowedExtensions.Add "Flash", "swf|flv"
|
||||
ConfigDeniedExtensions.Add "Flash", ""
|
||||
ConfigFileTypesPath.Add "Flash", ConfigUserFilesPath & "flash/"
|
||||
ConfigFileTypesAbsolutePath.Add "Flash", ""
|
||||
|
||||
@@ -5,7 +5,7 @@ Response.Buffer = True
|
||||
%>
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
@@ -172,7 +172,7 @@ function GetCurrentFolder()
|
||||
If ( Left( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = "/" & sCurrentFolder
|
||||
|
||||
' Check for invalid folder paths (..)
|
||||
If ( InStr( 1, sCurrentFolder, ".." ) <> 0 ) Then
|
||||
If ( InStr( 1, sCurrentFolder, ".." ) <> 0 OR InStr( 1, sCurrentFolder, "\" ) <> 0) Then
|
||||
SendError 102, ""
|
||||
End If
|
||||
|
||||
@@ -185,8 +185,8 @@ function SanitizeFolderName( sNewFolderName )
|
||||
Set oRegex = New RegExp
|
||||
oRegex.Global = True
|
||||
|
||||
' remove . \ / | : ? * " < >
|
||||
oRegex.Pattern = "(\.|\\|\/|\||:|\?|\*|""|\<|\>)"
|
||||
' remove . \ / | : ? * " < > and control characters
|
||||
oRegex.Pattern = "(\.|\\|\/|\||:|\?|\*|""|\<|\>|[\u0000-\u001F]|\u007F)"
|
||||
SanitizeFolderName = oRegex.Replace( sNewFolderName, "_" )
|
||||
|
||||
Set oRegex = Nothing
|
||||
@@ -203,8 +203,8 @@ function SanitizeFileName( sNewFileName )
|
||||
sNewFileName = oRegex.Replace( sNewFileName, "_" )
|
||||
end if
|
||||
|
||||
' remove \ / | : ? * " < >
|
||||
oRegex.Pattern = "(\\|\/|\||:|\?|\*|""|\<|\>)"
|
||||
' remove \ / | : ? * " < > and control characters
|
||||
oRegex.Pattern = "(\\|\/|\||:|\?|\*|""|\<|\>|[\u0000-\u001F]|\u007F)"
|
||||
SanitizeFileName = oRegex.Replace( sNewFileName, "_" )
|
||||
|
||||
Set oRegex = Nothing
|
||||
@@ -214,6 +214,38 @@ end function
|
||||
Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg )
|
||||
Response.Clear
|
||||
Response.Write "<script type=""text/javascript"">"
|
||||
Response.Write "(function()"
|
||||
Response.Write "{"
|
||||
Response.Write "var d = document.domain ;"
|
||||
|
||||
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 "</script>"
|
||||
Response.End
|
||||
|
||||
@@ -5,7 +5,7 @@ Response.Buffer = True
|
||||
%>
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
@@ -32,6 +32,10 @@ Response.Buffer = True
|
||||
<!--#include file="class_upload.asp"-->
|
||||
<%
|
||||
|
||||
Sub SendError( number, text )
|
||||
SendUploadResults number, "", "", text
|
||||
End Sub
|
||||
|
||||
' Check if this uploader has been enabled.
|
||||
If ( ConfigIsEnabled = False ) Then
|
||||
SendUploadResults "1", "", "", "This file uploader is disabled. Please check the ""editor/filemanager/connectors/asp/config.asp"" file"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%
|
||||
' FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
' Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
' Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
'
|
||||
' == BEGIN LICENSE ==
|
||||
'
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
<%@ Control Language="C#" EnableViewState="false" AutoEventWireup="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Config" %>
|
||||
<%--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2008 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 ==
|
||||
*
|
||||
* Configuration file for the File Browser Connector for ASP.NET.
|
||||
--%>
|
||||
<script runat="server">
|
||||
|
||||
/**
|
||||
* This function must check the user session to be sure that he/she is
|
||||
* authorized to upload and access files in the File Browser.
|
||||
*/
|
||||
private bool CheckAuthentication()
|
||||
{
|
||||
// WARNING : DO NOT simply return "true". By doing so, you are allowing
|
||||
// "anyone" to upload and list the files in your server. You must implement
|
||||
// some kind of session validation here. Even something very simple as...
|
||||
//
|
||||
// return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );
|
||||
//
|
||||
// ... where Session[ "IsAuthorized" ] is set to "true" as soon as the
|
||||
// user logs in your system.
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void SetConfig()
|
||||
{
|
||||
// SECURITY: You must explicitly enable this "connector". (Set it to "true").
|
||||
Enabled = CheckAuthentication();
|
||||
|
||||
// URL path to user files.
|
||||
UserFilesPath = "/userfiles/";
|
||||
|
||||
// The connector tries to resolve the above UserFilesPath automatically.
|
||||
// Use the following setting it you prefer to explicitely specify the
|
||||
// absolute path. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
||||
// Attention: The above 'UserFilesPath' URL must point to the same directory.
|
||||
UserFilesAbsolutePath = "";
|
||||
|
||||
// Due to security issues with Apache modules, it is recommended to leave the
|
||||
// following setting enabled.
|
||||
ForceSingleExtension = true;
|
||||
|
||||
// Allowed Resource Types
|
||||
AllowedTypes = new string[] { "File", "Image", "Flash", "Media" };
|
||||
|
||||
// For security, HTML is allowed in the first Kb of data for files having the
|
||||
// following extensions only.
|
||||
HtmlExtensions = new string[] { "html", "htm", "xml", "xsd", "txt", "js" };
|
||||
|
||||
TypeConfig[ "File" ].AllowedExtensions = new string[] { "7z", "aiff", "asf", "avi", "bmp", "csv", "doc", "fla", "flv", "gif", "gz", "gzip", "jpeg", "jpg", "mid", "mov", "mp3", "mp4", "mpc", "mpeg", "mpg", "ods", "odt", "pdf", "png", "ppt", "pxd", "qt", "ram", "rar", "rm", "rmi", "rmvb", "rtf", "sdc", "sitd", "swf", "sxc", "sxw", "tar", "tgz", "tif", "tiff", "txt", "vsd", "wav", "wma", "wmv", "xls", "xml", "zip" };
|
||||
TypeConfig[ "File" ].DeniedExtensions = new string[] { };
|
||||
TypeConfig[ "File" ].FilesPath = "%UserFilesPath%file/";
|
||||
TypeConfig[ "File" ].FilesAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%file/" );
|
||||
TypeConfig[ "File" ].QuickUploadPath = "%UserFilesPath%";
|
||||
TypeConfig[ "File" ].QuickUploadAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );
|
||||
|
||||
TypeConfig[ "Image" ].AllowedExtensions = new string[] { "bmp", "gif", "jpeg", "jpg", "png" };
|
||||
TypeConfig[ "Image" ].DeniedExtensions = new string[] { };
|
||||
TypeConfig[ "Image" ].FilesPath = "%UserFilesPath%image/";
|
||||
TypeConfig[ "Image" ].FilesAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%image/" );
|
||||
TypeConfig[ "Image" ].QuickUploadPath = "%UserFilesPath%";
|
||||
TypeConfig[ "Image" ].QuickUploadAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );
|
||||
|
||||
TypeConfig[ "Flash" ].AllowedExtensions = new string[] { "swf", "flv" };
|
||||
TypeConfig[ "Flash" ].DeniedExtensions = new string[] { };
|
||||
TypeConfig[ "Flash" ].FilesPath = "%UserFilesPath%flash/";
|
||||
TypeConfig[ "Flash" ].FilesAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%flash/" );
|
||||
TypeConfig[ "Flash" ].QuickUploadPath = "%UserFilesPath%";
|
||||
TypeConfig[ "Flash" ].QuickUploadAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );
|
||||
|
||||
TypeConfig[ "Media" ].AllowedExtensions = new string[] { "aiff", "asf", "avi", "bmp", "fla", "flv", "gif", "jpeg", "jpg", "mid", "mov", "mp3", "mp4", "mpc", "mpeg", "mpg", "png", "qt", "ram", "rm", "rmi", "rmvb", "swf", "tif", "tiff", "wav", "wma", "wmv" };
|
||||
TypeConfig[ "Media" ].DeniedExtensions = new string[] { };
|
||||
TypeConfig[ "Media" ].FilesPath = "%UserFilesPath%media/";
|
||||
TypeConfig[ "Media" ].FilesAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%media/" );
|
||||
TypeConfig[ "Media" ].QuickUploadPath = "%UserFilesPath%";
|
||||
TypeConfig[ "Media" ].QuickUploadAbsolutePath = ( UserFilesAbsolutePath == "" ? "" : "%UserFilesAbsolutePath%" );
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -1,7 +1,8 @@
|
||||
<%@ Page language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" %>
|
||||
<%@ Page Language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Connector" AutoEventWireup="false" %>
|
||||
<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
|
||||
<%--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -28,3 +29,4 @@
|
||||
* To download the FCKeditor.Net package, go to our official web site:
|
||||
* http://www.fckeditor.net
|
||||
--%>
|
||||
<FCKeditor:Config id="Config" runat="server"></FCKeditor:Config>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<%@ Page language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" %>
|
||||
<%@ Page Language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Uploader" AutoEventWireup="false" %>
|
||||
<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
|
||||
<%--
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -28,3 +29,4 @@
|
||||
* To download the FCKeditor.Net package, go to our official web site:
|
||||
* http://www.fckeditor.net
|
||||
--%>
|
||||
<FCKeditor:Config id="Config" runat="server"></FCKeditor:Config>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -129,7 +129,7 @@
|
||||
|
||||
<cfset xmlContent = "<Error number=""1"" text=""This connector is disabled. Please check the 'editor/filemanager/connectors/cfm/config.cfm' file"" />">
|
||||
|
||||
<cfelseif find("..",url.currentFolder)>
|
||||
<cfelseif find("..",url.currentFolder) or find("\",url.currentFolder)>
|
||||
|
||||
<cfset xmlContent = "<Error number=""102"" />">
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -47,6 +47,38 @@
|
||||
function SendUploadResults(errorNumber, fileUrl, fileName, customMsg)
|
||||
{
|
||||
WriteOutput('<script type="text/javascript">');
|
||||
WriteOutput("(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 )"&
|
||||
// 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('</script>');
|
||||
}
|
||||
@@ -67,7 +99,7 @@
|
||||
<cfabort>
|
||||
</cfif>
|
||||
|
||||
<cfif find( "..", url.currentFolder)>
|
||||
<cfif find( "..", url.currentFolder) or find( "\", url.currentFolder)>
|
||||
<cfset SendUploadResults(102)>
|
||||
<cfabort>
|
||||
</cfif>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -32,6 +32,7 @@
|
||||
<cfset var sFilePart = "">
|
||||
<cfset var sFileExt = "">
|
||||
<cfset var sFileUrl = "">
|
||||
<cfset var sTempDir = "">
|
||||
<cfset var sTempFilePath = "">
|
||||
<cfset var errorNumber = 0>
|
||||
<cfset var customMsg = 0>
|
||||
@@ -39,7 +40,16 @@
|
||||
<cfset var destination = "">
|
||||
|
||||
<cftry>
|
||||
<cffile action="UPLOAD" filefield="NewFile" destination="#GetTempDirectory()#" nameconflict="makeunique" mode="0755" />
|
||||
<cfif isDefined( "REQUEST.Config.TempDirectory" )>
|
||||
<cfset sTempDir = REQUEST.Config.TempDirectory>
|
||||
<cfelse>
|
||||
<cfset sTempDir = GetTempDirectory()>
|
||||
</cfif>
|
||||
<cfif NOT DirectoryExists (sTempDir)>
|
||||
<cfthrow message="Invalid temporary directory: #sTempDir#">
|
||||
</cfif>
|
||||
|
||||
<cffile action="UPLOAD" filefield="NewFile" destination="#sTempDir#" nameconflict="makeunique" mode="0755" />
|
||||
<cfset sTempFilePath = CFFILE.ServerDirectory & REQUEST.fs & CFFILE.ServerFile>
|
||||
|
||||
<!--- Map the virtual path to the local server path. --->
|
||||
@@ -92,12 +102,7 @@
|
||||
</cfscript>
|
||||
|
||||
<cfset destination = sServerDir & sFileName>
|
||||
<!---
|
||||
<cfdump var="#sTempFilePath#">
|
||||
<cfoutput ><br /></cfoutput>
|
||||
<cfdump var="#destination#">
|
||||
<cfabort>
|
||||
--->
|
||||
|
||||
<cflock name="#destination#" timeout="30" type="Exclusive">
|
||||
<cftry>
|
||||
<cffile action="move" source="#sTempFilePath#" destination="#destination#" mode="755">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -174,7 +174,7 @@
|
||||
<cfreturn true>
|
||||
</cffunction>
|
||||
|
||||
<cffunction name="GetCurrentFolder" returntype="String" output="false">
|
||||
<cffunction name="GetCurrentFolder" returntype="String" output="true">
|
||||
<cfset var sCurrentFolder = "/">
|
||||
|
||||
<cfif isDefined( "URL.CurrentFolder" )>
|
||||
@@ -193,7 +193,7 @@
|
||||
<!--- Ensure the folder path has no double-slashes, or mkdir may fail on certain platforms --->
|
||||
<cfset sCurrentFolder = rereplace( sCurrentFolder, "//+", "/", "all" )>
|
||||
|
||||
<cfif find( "..", sCurrentFolder)>
|
||||
<cfif find( "..", sCurrentFolder) or find( "\", sCurrentFolder) >
|
||||
<cfset SendError( 102, "" )>
|
||||
</cfif>
|
||||
|
||||
@@ -204,8 +204,8 @@
|
||||
<cfargument name="sNewFolderName" required="true">
|
||||
|
||||
<!--- Do a cleanup of the folder name to avoid possible problems --->
|
||||
<!--- Remove . \ / | : ? * " < > --->
|
||||
<cfset sNewFolderName = rereplace( sNewFolderName, '\.+|\\+|\/+|\|+|\:+|\?+|\*+|"+|<+|>+', "_", "all" )>
|
||||
<!--- Remove . \ / | : ? * " < > and control characters --->
|
||||
<cfset sNewFolderName = rereplace( sNewFolderName, '\.+|\\+|\/+|\|+|\:+|\?+|\*+|"+|<+|>+|[[:cntrl:]]+', "_", "all" )>
|
||||
|
||||
<cfreturn sNewFolderName>
|
||||
</cffunction>
|
||||
@@ -266,7 +266,38 @@
|
||||
<cfargument name="customMsg" required="false" type="String" default="">
|
||||
|
||||
<cfoutput>
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
(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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
|
||||
window.parent.OnUploadCompleted( #errorNumber#, "#JSStringFormat(fileUrl)#", "#JSStringFormat(fileName)#", "#JSStringFormat(customMsg)#" );
|
||||
</script>
|
||||
</cfoutput>
|
||||
@@ -281,8 +312,8 @@
|
||||
</cfif>
|
||||
|
||||
<!--- Do a cleanup of the file name to avoid possible problems --->
|
||||
<!--- Remove \ / | : ? * " < > --->
|
||||
<cfset sNewFileName = rereplace( sNewFileName, '\\[.]+|\\+|\/+|\|+|\:+|\?+|\*+|"+|<+|>+', "_", "all" )>
|
||||
<!--- Remove \ / | : ? * " < > and control characters --->
|
||||
<cfset sNewFileName = rereplace( sNewFileName, '\\[.]+|\\+|\/+|\|+|\:+|\?+|\*+|"+|<+|>+|[[:cntrl:]]+', "_", "all" )>
|
||||
|
||||
<cfreturn sNewFileName>
|
||||
</cffunction>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -33,6 +33,12 @@
|
||||
<cfinclude template="cf_io.cfm">
|
||||
<cfinclude template="cf_commands.cfm">
|
||||
|
||||
<cffunction name="SendError" returntype="void" output="true">
|
||||
<cfargument name="number" required="true" type="Numeric">
|
||||
<cfargument name="text" required="true">
|
||||
<cfreturn SendUploadResults( "#ARGUMENTS.number#", "", "", "ARGUMENTS.text" )>
|
||||
</cffunction>
|
||||
|
||||
<cfset REQUEST.Config = Config>
|
||||
<cfif find( "/", getBaseTemplatePath() ) >
|
||||
<cfset REQUEST.Fs = "/">
|
||||
@@ -64,5 +70,3 @@
|
||||
</cfif>
|
||||
|
||||
<cfset FileUpload( sType, sCurrentFolder, sCommand )>
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -129,4 +129,3 @@ detectionLevel:
|
||||
|
||||
<cfreturn false>
|
||||
</cffunction>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -26,7 +26,8 @@
|
||||
Config = StructNew() ;
|
||||
|
||||
// SECURITY: You must explicitly enable this "connector". (Set enabled to "true")
|
||||
Config.Enabled = true ;
|
||||
Config.Enabled = false ;
|
||||
|
||||
|
||||
// Path to uploaded files relative to the document root.
|
||||
Config.UserFilesPath = "/userfiles/" ;
|
||||
@@ -37,7 +38,7 @@
|
||||
// Example: C:\inetpub\wwwroot\myDocs\
|
||||
Config.ServerPath = "" ;
|
||||
|
||||
// Due to security issues with Apache modules, it is reccomended to leave the
|
||||
// Due to security issues with Apache modules, it is recommended to leave the
|
||||
// following setting enabled.
|
||||
Config.ForceSingleExtension = true ;
|
||||
|
||||
@@ -56,6 +57,11 @@
|
||||
// (This feature works in MX 6.0 and above))
|
||||
Config.HtmlExtensions = "html,htm,xml,xsd,txt,js" ;
|
||||
|
||||
//Due to known issues with GetTempDirectory function, it is
|
||||
//recommended to set this vairiable to a valid directory
|
||||
//instead of using the GetTempDirectory function
|
||||
//(used by MX 6.0 and above)
|
||||
Config.TempDirectory = GetTempDirectory();
|
||||
|
||||
// Configuration settings for each Resource Type
|
||||
//
|
||||
@@ -64,7 +70,7 @@
|
||||
// - DeniedExtensions: The extensions that won't be allowed.
|
||||
// If it is empty then no restrictions are done here.
|
||||
//
|
||||
// For a file to be uploaded it has to fullfil both the AllowedExtensions
|
||||
// For a file to be uploaded it has to fulfill both the AllowedExtensions
|
||||
// and DeniedExtensions (that's it: not being denied) conditions.
|
||||
//
|
||||
// - FileTypesPath: the virtual folder relative to the document root where
|
||||
@@ -107,14 +113,14 @@
|
||||
Config.QuickUploadPath["File"] = Config.FileTypesPath["File"] ;
|
||||
Config.QuickUploadAbsolutePath["File"] = Config.FileTypesAbsolutePath["File"] ;
|
||||
|
||||
Config.AllowedExtensions["Image"] = "bmp,gif,jpeg,jpg,png,psd,tif,tiff" ;
|
||||
Config.AllowedExtensions["Image"] = "bmp,gif,jpeg,jpg,png" ;
|
||||
Config.DeniedExtensions["Image"] = "" ;
|
||||
Config.FileTypesPath["Image"] = Config.UserFilesPath & 'image/' ;
|
||||
Config.FileTypesAbsolutePath["Image"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'image/') ) ;
|
||||
Config.QuickUploadPath["Image"] = Config.FileTypesPath["Image"] ;
|
||||
Config.QuickUploadAbsolutePath["Image"] = Config.FileTypesAbsolutePath["Image"] ;
|
||||
|
||||
Config.AllowedExtensions["Flash"] = "swf,fla" ;
|
||||
Config.AllowedExtensions["Flash"] = "swf,flv" ;
|
||||
Config.DeniedExtensions["Flash"] = "" ;
|
||||
Config.FileTypesPath["Flash"] = Config.UserFilesPath & 'flash/' ;
|
||||
Config.FileTypesAbsolutePath["Flash"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'flash/') ) ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -29,3 +29,4 @@
|
||||
<cfelse>
|
||||
<cfinclude template="cf_connector.cfm">
|
||||
</cfif>
|
||||
<cfabort>
|
||||
|
||||
@@ -1322,4 +1322,3 @@
|
||||
</cffunction>
|
||||
|
||||
</cfcomponent>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<cfsetting enablecfoutputonly="Yes">
|
||||
<!---
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[//lasso
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -51,8 +51,8 @@
|
||||
),
|
||||
'AllowedExtensions' = map(
|
||||
'File' = array('7z','aiff','asf','avi','bmp','csv','doc','fla','flv','gif','gz','gzip','jpeg','jpg','mid','mov','mp3','mp4','mpc','mpeg','mpg','ods','odt','pdf','png','ppt','pxd','qt','ram','rar','rm','rmi','rmvb','rtf','sdc','sitd','swf','sxc','sxw','tar','tgz','tif','tiff','txt','vsd','wav','wma','wmv','xls','xml','zip'),
|
||||
'Image' = array('bmp','gif','jpeg','jpg','png','psd','tif','tiff'),
|
||||
'Flash' = array('swf','fla'),
|
||||
'Image' = array('bmp','gif','jpeg','jpg','png'),
|
||||
'Flash' = array('swf','flv'),
|
||||
'Media' = array('aiff','asf','avi','bmp','fla','flv','gif','jpeg','jpg','mid','mov','mp3','mp4','mpc','mpeg','mpg','png','qt','ram','rm','rmi','rmvb','swf','tif','tiff','wav','wma','wmv')
|
||||
),
|
||||
'DeniedExtensions' = map(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[//lasso
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -55,6 +55,65 @@
|
||||
'uploadResult' = '0'
|
||||
);
|
||||
|
||||
/*.....................................................................
|
||||
Custom tag sets the HTML response.
|
||||
*/
|
||||
|
||||
define_tag(
|
||||
'htmlreply',
|
||||
-namespace='fck_',
|
||||
-priority='replace',
|
||||
-required='uploadResult',
|
||||
-optional='NewFilePath',
|
||||
-type='string',
|
||||
-description='Sets the HTML response for the FCKEditor File Upload feature.'
|
||||
);
|
||||
$__html_reply__ = '\
|
||||
<script type="text/javascript">
|
||||
(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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
';
|
||||
if($uploadResult == '0' || $uploadResult == '201');
|
||||
$__html_reply__ = $__html_reply__ + '\
|
||||
window.parent.OnUploadCompleted(' + $uploadResult + ',\'' + $NewFilePath + '\',\'' + $NewFilePath->split('/')->last + '\');
|
||||
</script>
|
||||
';
|
||||
else;
|
||||
$__html_reply__ = $__html_reply__ + '\
|
||||
window.parent.OnUploadCompleted(' + $uploadResult + ');
|
||||
</script>
|
||||
';
|
||||
/if;
|
||||
/define_tag;
|
||||
|
||||
|
||||
/*.....................................................................
|
||||
Calculate the path to the current folder.
|
||||
@@ -63,9 +122,21 @@
|
||||
|
||||
var('currentFolderURL' = $ServerPath
|
||||
+ $config->find('Subdirectories')->find(action_param('Type'))
|
||||
+ action_param('CurrentFolder')
|
||||
+ $CurrentFolder
|
||||
);
|
||||
|
||||
if($CurrentFolder->(Find: '..') || $CurrentFolder->(Find: '\\'));
|
||||
if($Command == 'FileUpload');
|
||||
$responseType = 'html';
|
||||
$uploadResult = '102';
|
||||
fck_htmlreply(
|
||||
-uploadResult=$uploadResult
|
||||
);
|
||||
else;
|
||||
$errorNumber = 102;
|
||||
$commandData += '<Error number="' + $errorNumber + '" />\n';
|
||||
/if;
|
||||
else;
|
||||
|
||||
/*.....................................................................
|
||||
Build the appropriate response per the 'Command' parameter. Wrap the
|
||||
@@ -110,6 +181,7 @@
|
||||
Create a directory 'NewFolderName' within the 'Current Folder.'
|
||||
*/
|
||||
case('CreateFolder');
|
||||
$NewFolderName = (String_ReplaceRegExp: $NewFolderName, -find='\\.|\\\\|\\/|\\||\\:|\\?|\\*|"|<|>', -replace='_');
|
||||
var('newFolder' = $currentFolderURL + $NewFolderName + '/');
|
||||
file_create($newFolder);
|
||||
|
||||
@@ -148,7 +220,11 @@
|
||||
/*.........................................................
|
||||
Was a file actually uploaded?
|
||||
*/
|
||||
file_uploads->size ? $NewFile = file_uploads->get(1) | $uploadResult = '202';
|
||||
if(file_uploads->size);
|
||||
$NewFile = file_uploads->get(1);
|
||||
else;
|
||||
$uploadResult = '202';
|
||||
/if;
|
||||
|
||||
if($uploadResult == '0');
|
||||
/*.....................................................
|
||||
@@ -157,9 +233,11 @@
|
||||
files. (Test.txt, Test(1).txt, Test(2).txt, etc.)
|
||||
*/
|
||||
$NewFileName = $NewFile->find('OrigName');
|
||||
$NewFileName = (String_ReplaceRegExp: $NewFileName, -find='\\\\|\\/|\\||\\:|\\?|\\*|"|<|>', -replace='_');
|
||||
$OrigFilePath = $currentFolderURL + $NewFileName;
|
||||
$NewFilePath = $OrigFilePath;
|
||||
local('fileExtension') = '.' + $NewFile->find('OrigExtension');
|
||||
#fileExtension = (String_ReplaceRegExp: #fileExtension, -find='\\\\|\\/|\\||\\:|\\?|\\*|"|<|>', -replace='_');
|
||||
local('shortFileName') = $NewFileName->removetrailing(#fileExtension)&;
|
||||
|
||||
|
||||
@@ -191,31 +269,17 @@
|
||||
case(0);
|
||||
$OrigFilePath != $NewFilePath ? $uploadResult = 201;
|
||||
case;
|
||||
$uploadResult = '202';
|
||||
$uploadResult = file_currenterror( -errorcode);
|
||||
/select;
|
||||
/if;
|
||||
/if;
|
||||
|
||||
|
||||
/*.........................................................
|
||||
Set the HTML response.
|
||||
*/
|
||||
if($uploadResult == '0' || $uploadResult == '201');
|
||||
$__html_reply__ = '\
|
||||
<script type="text/javascript">
|
||||
window.parent.frames[\'frmUpload\'].OnUploadCompleted(' + $uploadResult + ',\'' + $NewFilePath + '\',\'' + $NewFilePath->split('/')->last + '\');
|
||||
</script>
|
||||
';
|
||||
else;
|
||||
$__html_reply__ = '\
|
||||
<script type="text/javascript">
|
||||
window.parent.frames[\'frmUpload\'].OnUploadCompleted(' + $uploadResult + ');
|
||||
</script>
|
||||
';
|
||||
/if;
|
||||
fck_htmlreply(
|
||||
-uploadResult=$uploadResult,
|
||||
-NewFilePath=$NewFilePath
|
||||
);
|
||||
/select;
|
||||
/inline;
|
||||
|
||||
/if;
|
||||
|
||||
/*.....................................................................
|
||||
Send a custom header for xml responses.
|
||||
@@ -234,24 +298,25 @@ Keep-Alive: timeout=15, max=98
|
||||
Connection: Keep-Alive
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
[//lasso
|
||||
/header;
|
||||
/header;
|
||||
|
||||
|
||||
/*.................................................................
|
||||
/*
|
||||
Set the content type encoding for Lasso.
|
||||
*/
|
||||
content_type('text/xml; charset=utf-8');
|
||||
|
||||
|
||||
/*.................................................................
|
||||
/*
|
||||
Wrap the response as XML and output.
|
||||
*/
|
||||
$__html_reply__ = '\
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Connector command="' + $Command + '" resourceType="' + $Type + '">
|
||||
<CurrentFolder path="' + $CurrentFolder + '" url="' + $currentFolderURL + '" />
|
||||
' + $commandData + '
|
||||
</Connector>
|
||||
';
|
||||
<Connector command="' + $Command + '" resourceType="' + $Type + '">';
|
||||
|
||||
if($errorNumber != '102');
|
||||
$__html_reply__ += '<CurrentFolder path="' + $CurrentFolder + '" url="' + $currentFolderURL + '" />';
|
||||
/if;
|
||||
|
||||
$__html_reply__ += $commandData + '
|
||||
</Connector>';
|
||||
/if;
|
||||
]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[//lasso
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -56,7 +56,6 @@
|
||||
+ action_param('CurrentFolder')
|
||||
);
|
||||
|
||||
|
||||
/*.....................................................................
|
||||
Custom tag sets the HTML response.
|
||||
*/
|
||||
@@ -77,6 +76,36 @@
|
||||
);
|
||||
$__html_reply__ = '\
|
||||
<script type="text/javascript">
|
||||
(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 ;
|
||||
}
|
||||
}
|
||||
})() ;
|
||||
window.parent.OnUploadCompleted(' + #errorNumber + ',"'
|
||||
+ string_replace(#fileUrl, -find='"', -replace='\\"') + '","'
|
||||
+ string_replace(#fileName, -find='"', -replace='\\"') + '","'
|
||||
@@ -85,6 +114,9 @@
|
||||
';
|
||||
/define_tag;
|
||||
|
||||
if($CurrentFolder->(Find: '..') || $CurrentFolder->(Find: '\\'));
|
||||
$errorNumber = 102;
|
||||
/if;
|
||||
|
||||
if($config->find('Enabled'));
|
||||
/*.................................................................
|
||||
@@ -94,7 +126,9 @@
|
||||
/*.............................................................
|
||||
Was a file actually uploaded?
|
||||
*/
|
||||
if($errorNumber != '102');
|
||||
file_uploads->size ? $NewFile = file_uploads->get(1) | $errorNumber = 202;
|
||||
/if;
|
||||
|
||||
if($errorNumber == 0);
|
||||
/*.........................................................
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#####
|
||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
#
|
||||
# == BEGIN LICENSE ==
|
||||
#
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#####
|
||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
#
|
||||
# == BEGIN LICENSE ==
|
||||
#
|
||||
@@ -91,6 +91,7 @@ sub CreateFolder
|
||||
|
||||
if($FORM{'NewFolderName'} ne "") {
|
||||
$sNewFolderName = $FORM{'NewFolderName'};
|
||||
$sNewFolderName =~ s/\.|\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;
|
||||
# Map the virtual path to the local server path of the current folder.
|
||||
$sServerDir = &ServerMapFolder($resourceType, $currentFolder);
|
||||
if(-w $sServerDir) {
|
||||
@@ -128,6 +129,7 @@ eval("use File::Copy;");
|
||||
|
||||
# Get the uploaded file name.
|
||||
$sFileName = $new_fname;
|
||||
$sFileName =~ s/\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;
|
||||
$sOriginalFileName = $sFileName;
|
||||
|
||||
$iCounter = 0;
|
||||
@@ -140,7 +142,16 @@ eval("use File::Copy;");
|
||||
$sErrorNumber = '201';
|
||||
} else {
|
||||
copy("$img_dir/$new_fname","$sFilePath");
|
||||
if (defined $CHMOD_ON_UPLOAD) {
|
||||
if ($CHMOD_ON_UPLOAD) {
|
||||
umask(000);
|
||||
chmod($CHMOD_ON_UPLOAD,$sFilePath);
|
||||
}
|
||||
}
|
||||
else {
|
||||
umask(000);
|
||||
chmod(0777,$sFilePath);
|
||||
}
|
||||
unlink("$img_dir/$new_fname");
|
||||
last;
|
||||
}
|
||||
@@ -158,8 +169,43 @@ sub SendUploadResults
|
||||
|
||||
local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;
|
||||
|
||||
print "Content-type: text/html\n\n";
|
||||
print '<script type="text/javascript">';
|
||||
print <<EOF;
|
||||
Content-type: text/html
|
||||
|
||||
<script type="text/javascript">
|
||||
// Automatically detect the correct document.domain (#1919).
|
||||
(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
|
||||
print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';
|
||||
print '</script>';
|
||||
exit ;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#####
|
||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
#
|
||||
# == BEGIN LICENSE ==
|
||||
#
|
||||
@@ -101,7 +101,7 @@ sub DoResponse
|
||||
}
|
||||
|
||||
# Check for invalid folder paths (..)
|
||||
if ( $sCurrentFolder =~ /\.\./ ) {
|
||||
if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) {
|
||||
SendError( 102, "" ) ;
|
||||
}
|
||||
|
||||
@@ -134,4 +134,3 @@ _HTML_HEAD_
|
||||
|
||||
exit ;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#####
|
||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
#
|
||||
# == BEGIN LICENSE ==
|
||||
#
|
||||
@@ -87,9 +87,19 @@ sub CreateServerFolder
|
||||
}
|
||||
}
|
||||
if(!(-e $folderPath)) {
|
||||
if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {
|
||||
mkdir("$folderPath");
|
||||
}
|
||||
else {
|
||||
umask(000);
|
||||
if (defined $CHMOD_ON_FOLDER_CREATE) {
|
||||
mkdir("$folderPath",$CHMOD_ON_FOLDER_CREATE);
|
||||
}
|
||||
else {
|
||||
mkdir("$folderPath",0777);
|
||||
chmod(0777,"$folderPath");
|
||||
}
|
||||
}
|
||||
|
||||
return(0);
|
||||
} else {
|
||||
return(1);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#####
|
||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
#
|
||||
# == BEGIN LICENSE ==
|
||||
#
|
||||
@@ -104,7 +104,7 @@ sub DoResponse
|
||||
}
|
||||
|
||||
# Check for invalid folder paths (..)
|
||||
if ( $sCurrentFolder =~ /\.\./ ) {
|
||||
if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) {
|
||||
SendError( 102, "" ) ;
|
||||
}
|
||||
|
||||
@@ -115,4 +115,3 @@ sub DoResponse
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#####
|
||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
#
|
||||
# == BEGIN LICENSE ==
|
||||
#
|
||||
@@ -28,6 +28,16 @@ $img_dir = './temp/';
|
||||
# File size max(unit KB)
|
||||
$MAX_CONTENT_SIZE = 30000;
|
||||
|
||||
# After file is uploaded, sometimes it is required to change its permissions
|
||||
# so that it was possible to access it at the later time.
|
||||
# If possible, it is recommended to set more restrictive permissions, like 0755.
|
||||
# Set to 0 to disable this feature.
|
||||
$CHMOD_ON_UPLOAD = 0777;
|
||||
|
||||
# See comments above.
|
||||
# Used when creating folders that does not exist.
|
||||
$CHMOD_ON_FOLDER_CREATE = 0755;
|
||||
|
||||
# Filelock (1=use,0=not use)
|
||||
$PM{'flock'} = '1';
|
||||
|
||||
@@ -124,9 +134,18 @@ eval("use File::Path;");
|
||||
|
||||
my ($FORM) = @_;
|
||||
|
||||
|
||||
mkdir($img_dir,0777);
|
||||
chmod(0777,$img_dir);
|
||||
if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {
|
||||
mkdir("$img_dir");
|
||||
}
|
||||
else {
|
||||
umask(000);
|
||||
if (defined $CHMOD_ON_FOLDER_CREATE) {
|
||||
mkdir("$img_dir",$CHMOD_ON_FOLDER_CREATE);
|
||||
}
|
||||
else {
|
||||
mkdir("$img_dir",0777);
|
||||
}
|
||||
}
|
||||
|
||||
undef $img_data_exists;
|
||||
undef @NEWFNAMES;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#####
|
||||
# FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
# Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
# Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
#
|
||||
# == BEGIN LICENSE ==
|
||||
#
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -184,7 +184,7 @@ function FileUpload( $resourceType, $currentFolder, $sCommand )
|
||||
|
||||
if ( isset( $Config['SecureImageUploads'] ) )
|
||||
{
|
||||
if ( !IsImageValid( $oFile['tmp_name'], $sExtension ) )
|
||||
if ( ( $isImageValid = IsImageValid( $oFile['tmp_name'], $sExtension ) ) === false )
|
||||
{
|
||||
$sErrorNumber = '202' ;
|
||||
}
|
||||
@@ -192,7 +192,8 @@ function FileUpload( $resourceType, $currentFolder, $sCommand )
|
||||
|
||||
if ( isset( $Config['HtmlExtensions'] ) )
|
||||
{
|
||||
if ( !IsHtmlExtension( $sExtension, $Config['HtmlExtensions'] ) && DetectHtml( $oFile['tmp_name'] ) )
|
||||
if ( !IsHtmlExtension( $sExtension, $Config['HtmlExtensions'] ) &&
|
||||
( $detectHtml = DetectHtml( $oFile['tmp_name'] ) ) === true )
|
||||
{
|
||||
$sErrorNumber = '202' ;
|
||||
}
|
||||
@@ -219,14 +220,41 @@ function FileUpload( $resourceType, $currentFolder, $sCommand )
|
||||
|
||||
if ( is_file( $sFilePath ) )
|
||||
{
|
||||
if ( isset( $Config['ChmodOnUpload'] ) && !$Config['ChmodOnUpload'] )
|
||||
{
|
||||
break ;
|
||||
}
|
||||
|
||||
$permissions = 0777;
|
||||
|
||||
if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] )
|
||||
{
|
||||
$permissions = $Config['ChmodOnUpload'] ;
|
||||
}
|
||||
|
||||
$oldumask = umask(0) ;
|
||||
chmod( $sFilePath, 0777 ) ;
|
||||
chmod( $sFilePath, $permissions ) ;
|
||||
umask( $oldumask ) ;
|
||||
}
|
||||
|
||||
break ;
|
||||
}
|
||||
}
|
||||
|
||||
if ( file_exists( $sFilePath ) )
|
||||
{
|
||||
//previous checks failed, try once again
|
||||
if ( isset( $isImageValid ) && $isImageValid === -1 && IsImageValid( $sFilePath, $sExtension ) === false )
|
||||
{
|
||||
@unlink( $sFilePath ) ;
|
||||
$sErrorNumber = '202' ;
|
||||
}
|
||||
else if ( isset( $detectHtml ) && $detectHtml === -1 && DetectHtml( $sFilePath ) === true )
|
||||
{
|
||||
@unlink( $sFilePath ) ;
|
||||
$sErrorNumber = '202' ;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$sErrorNumber = '202' ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||||
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||||
* Copyright (C) 2003-2008 Frederico Caldeira Knabben
|
||||
*
|
||||
* == BEGIN LICENSE ==
|
||||
*
|
||||
@@ -38,8 +38,8 @@ require_once("../../../../../../../../lib/functions.lib.php");
|
||||
dolibarr_syslog("eee".$conf->fckeditor->dir_output);
|
||||
*/
|
||||
|
||||
// SECURITY: You must explicitelly enable this "connector". (Set it to "true").
|
||||
// WARNING: don't just set "ConfigIsEnabled = true", you must be sure that only
|
||||
// SECURITY: You must explicitly enable this "connector". (Set it to "true").
|
||||
// WARNING: don't just set "$Config['Enabled'] = true ;", you must be sure that only
|
||||
// authenticated users can access this file or use some kind of session checking.
|
||||
$Config['Enabled'] = false ;
|
||||
|
||||
@@ -48,29 +48,40 @@ $Config['Enabled'] = false ;
|
||||
$Config['UserFilesPath'] = DOL_URL_ROOT.'/viewimage.php?modulepart=fckeditor&file=' ;
|
||||
|
||||
// Fill the following value it you prefer to specify the absolute path for the
|
||||
// user files directory. Usefull if you are using a virtual directory, symbolic
|
||||
// user files directory. Useful if you are using a virtual directory, symbolic
|
||||
// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
||||
// Attention: The above 'UserFilesPath' must point to the same directory.
|
||||
$Config['UserFilesAbsolutePath'] = $dolibarr_main_data_root.'/fckeditor/';
|
||||
|
||||
// Due to security issues with Apache modules, it is reccomended to leave the
|
||||
// Due to security issues with Apache modules, it is recommended to leave the
|
||||
// following setting enabled.
|
||||
$Config['ForceSingleExtension'] = true ;
|
||||
|
||||
// Perform additional checks for image files
|
||||
// if set to true, validate image size (using getimagesize)
|
||||
// Perform additional checks for image files.
|
||||
// If set to true, validate image size (using getimagesize).
|
||||
$Config['SecureImageUploads'] = true;
|
||||
|
||||
// What the user can do with this connector
|
||||
// What the user can do with this connector.
|
||||
$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder') ;
|
||||
|
||||
// Allowed Resource Types
|
||||
// Allowed Resource Types.
|
||||
$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media') ;
|
||||
|
||||
// For security, HTML is allowed in the first Kb of data for files having the
|
||||
// following extensions only.
|
||||
$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
|
||||
|
||||
// After file is uploaded, sometimes it is required to change its permissions
|
||||
// so that it was possible to access it at the later time.
|
||||
// If possible, it is recommended to set more restrictive permissions, like 0755.
|
||||
// Set to 0 to disable this feature.
|
||||
// Note: not needed on Windows-based servers.
|
||||
$Config['ChmodOnUpload'] = 0777 ;
|
||||
|
||||
// See comments above.
|
||||
// Used when creating folders that does not exist.
|
||||
$Config['ChmodOnFolderCreate'] = 0777 ;
|
||||
|
||||
/*
|
||||
Configuration settings for each Resource Type
|
||||
|
||||
@@ -79,7 +90,7 @@ $Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
|
||||
- DeniedExtensions: The extensions that won't be allowed.
|
||||
If it is empty then no restrictions are done here.
|
||||
|
||||
For a file to be uploaded it has to fullfil both the AllowedExtensions
|
||||
For a file to be uploaded it has to fulfill both the AllowedExtensions
|
||||
and DeniedExtensions (that's it: not being denied) conditions.
|
||||
|
||||
- FileTypesPath: the virtual folder relative to the document root where
|
||||
@@ -89,7 +100,7 @@ $Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
|
||||
- FileTypesAbsolutePath: the physical path to the above folder. It must be
|
||||
an absolute path.
|
||||
If it's an empty string then it will be autocalculated.
|
||||
Usefull if you are using a virtual directory, symbolic link or alias.
|
||||
Useful if you are using a virtual directory, symbolic link or alias.
|
||||
Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
||||
Attention: The above 'FileTypesPath' must point to the same directory.
|
||||
Attention: It must end with a slash: '/'
|
||||
@@ -102,7 +113,7 @@ $Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
|
||||
- QuickUploadAbsolutePath: the physical path to the above folder. It must be
|
||||
an absolute path.
|
||||
If it's an empty string then it will be autocalculated.
|
||||
Usefull if you are using a virtual directory, symbolic link or alias.
|
||||
Useful if you are using a virtual directory, symbolic link or alias.
|
||||
Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
|
||||
Attention: The above 'QuickUploadPath' must point to the same directory.
|
||||
Attention: It must end with a slash: '/'
|
||||
@@ -110,7 +121,7 @@ $Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
|
||||
NOTE: by default, QuickUploadPath and QuickUploadAbsolutePath point to
|
||||
"userfiles" directory to maintain backwards compatibility with older versions of FCKeditor.
|
||||
This is fine, but you in some cases you will be not able to browse uploaded files using file browser.
|
||||
Example: if you clik on "image button", select "Upload" tab and send image
|
||||
Example: if you click on "image button", select "Upload" tab and send image
|
||||
to the server, image will appear in FCKeditor correctly, but because it is placed
|
||||
directly in /userfiles/ directory, you'll be not able to see it in built-in file browser.
|
||||
The more expected behaviour would be to send images directly to "image" subfolder.
|
||||
@@ -119,7 +130,7 @@ $Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js") ;
|
||||
$Config['QuickUploadAbsolutePath']['Image'] = $Config['UserFilesAbsolutePath'] ;
|
||||
into:
|
||||
$Config['QuickUploadPath']['Image'] = $Config['FileTypesPath']['Image'] ;
|
||||
$Config['QuickUploadAbsolutePath'['Image'] = $Config['FileTypesAbsolutePath']['Image'] ;
|
||||
$Config['QuickUploadAbsolutePath']['Image'] = $Config['FileTypesAbsolutePath']['Image'] ;
|
||||
|
||||
*/
|
||||
|
||||
@@ -130,14 +141,14 @@ $Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '
|
||||
$Config['QuickUploadPath']['File'] = $Config['UserFilesPath'] ;
|
||||
$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;
|
||||
|
||||
$Config['AllowedExtensions']['Image'] = array('bmp','gif','jpeg','jpg','png','psd','tif','tiff') ;
|
||||
$Config['AllowedExtensions']['Image'] = array('bmp','gif','jpeg','jpg','png') ;
|
||||
$Config['DeniedExtensions']['Image'] = array() ;
|
||||
$Config['FileTypesPath']['Image'] = $Config['UserFilesPath'] . 'image/' ;
|
||||
$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;
|
||||
$Config['QuickUploadPath']['Image'] = $Config['UserFilesPath'] ;
|
||||
$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;
|
||||
|
||||
$Config['AllowedExtensions']['Flash'] = array('swf','fla') ;
|
||||
$Config['AllowedExtensions']['Flash'] = array('swf','flv') ;
|
||||
$Config['DeniedExtensions']['Flash'] = array() ;
|
||||
$Config['FileTypesPath']['Flash'] = $Config['UserFilesPath'] . 'flash/' ;
|
||||
$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user