Revision 1202
Added by Dietmar almost 15 years ago
branches/2.8.x/CHANGELOG | ||
---|---|---|
12 | 12 |
|
13 | 13 |
------------------------------------- 2.8.1 ------------------------------------- |
14 | 14 |
29-Nov-2009 Dietmar Woellbrink (Luisehahne) |
15 |
! added missing swobject plugin in FCKeditor |
|
16 |
! bug fixed in flvplayer |
|
17 |
29-Nov-2009 Dietmar Woellbrink (Luisehahne) |
|
15 | 18 |
! stop working plugin flvplayer in FCKeditor until fixed |
16 | 19 |
29-Nov-2009 Dietmar Woellbrink (Luisehahne) |
17 | 20 |
! fixed an undefined index in settings.php |
branches/2.8.x/wb/modules/fckeditor/info.php | ||
---|---|---|
131 | 131 |
*/ |
132 | 132 |
|
133 | 133 |
$module_directory = 'fckeditor'; |
134 |
$module_name = 'FCKeditor 2.6.5 WB Version 2.9.1';
|
|
134 |
$module_name = 'FCKeditor'; |
|
135 | 135 |
$module_function = 'WYSIWYG'; |
136 | 136 |
$module_version = '2.9.3'; |
137 | 137 |
$module_guid = 'ED3B82C1-DB1E-447A-A0FD-E952AFC5F3B9'; |
branches/2.8.x/wb/modules/fckeditor/fckeditor/fckconfig.js | ||
---|---|---|
55 | 55 |
FCKConfig.AutoGrowMax = 400 ; |
56 | 56 |
|
57 | 57 |
// FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ; // ASP style server side code <%...%> |
58 |
// FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ; // ASP.Net style tags <asp:control> |
|
58 | 59 |
// FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ; // PHP style server side code |
59 |
// FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ; // ASP.Net style tags <asp:control>
|
|
60 |
// FCKConfig.ProtectedSource.Add( /<object[\s|\S]+?<\/object>/gi ) ;
|
|
60 | 61 |
|
61 | 62 |
FCKConfig.AutoDetectLanguage = true ; |
62 | 63 |
FCKConfig.DefaultLanguage = 'en' ; |
... | ... | |
295 | 296 |
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ; |
296 | 297 |
FCKConfig.FlashBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; //70% ; |
297 | 298 |
FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; //70% ; |
299 |
// Added for flv support. |
|
300 |
FCKConfig.MediaBrowser = true ; |
|
301 |
FCKConfig.MediaBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Media&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ; |
|
302 |
FCKConfig.MediaBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; //70% ; |
|
303 |
FCKConfig.MediaBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; //70% ; |
|
298 | 304 |
|
299 | 305 |
FCKConfig.LinkUpload = true ; |
300 | 306 |
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ; |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.html | ||
---|---|---|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
|
2 |
<!-- |
|
3 |
* FCKeditor - The text editor for Internet - http://www.fckeditor.net |
|
4 |
* Copyright (C) 2003-2008 Frederico Caldeira Knabben |
|
5 |
* |
|
6 |
* == BEGIN LICENSE == |
|
7 |
* |
|
8 |
* Licensed under the terms of any of the following licenses at your |
|
9 |
* choice: |
|
10 |
* |
|
11 |
* - GNU General Public License Version 2 or later (the "GPL") |
|
12 |
* http://www.gnu.org/licenses/gpl.html |
|
13 |
* |
|
14 |
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL") |
|
15 |
* http://www.gnu.org/licenses/lgpl.html |
|
16 |
* |
|
17 |
* - Mozilla Public License Version 1.1 or later (the "MPL") |
|
18 |
* http://www.mozilla.org/MPL/MPL-1.1.html |
|
19 |
* |
|
20 |
* == END LICENSE == |
|
21 |
* |
|
22 |
* Flash Properties dialog window. |
|
23 |
--> |
|
24 |
<html> |
|
25 |
<head> |
|
26 |
<title>Flash Properties</title> |
|
27 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
28 |
<meta content="noindex, nofollow" name="robots"> |
|
29 |
<script src="fck_flash.js" type="text/javascript"></script> |
|
30 |
<script type="text/javascript"> |
|
31 |
|
|
32 |
// Set the Skin CSS. |
|
33 |
if (FCKTools.GetStyleHtml) |
|
34 |
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( FCKConfig.FullBasePath + 'dialog/' ) ) ) ; |
|
35 |
else |
|
36 |
document.write( '<link href="' + oEditor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; |
|
37 |
|
|
38 |
</script> |
|
39 |
</head> |
|
40 |
<body scroll="no" style="OVERFLOW: hidden"> |
|
41 |
<div id="divInfo"> |
|
42 |
<table cellSpacing="1" cellPadding="1" width="100%" border="0"> |
|
43 |
<tr> |
|
44 |
<td> |
|
45 |
<table cellSpacing="0" cellPadding="0" width="100%" border="0"> |
|
46 |
<tr> |
|
47 |
<td width="100%"><label for="txtUrl" fckLang="DlgImgURL">URL</label> |
|
48 |
</td> |
|
49 |
<td id="tdBrowse" style="DISPLAY: none" noWrap rowSpan="2"> <input id="btnBrowse" onclick="BrowseServer();" type="button" value="Browse Server" fckLang="DlgBtnBrowseServer"> |
|
50 |
</td> |
|
51 |
</tr> |
|
52 |
<tr> |
|
53 |
<td vAlign="top"><input id="txtUrl" onblur="UpdatePreview();" style="WIDTH: 100%" type="text"> |
|
54 |
</td> |
|
55 |
</tr> |
|
56 |
</table> |
|
57 |
</td> |
|
58 |
</tr> |
|
59 |
<TR> |
|
60 |
<TD> |
|
61 |
<table cellSpacing="0" cellPadding="0" border="0"> |
|
62 |
<TR> |
|
63 |
<TD nowrap> |
|
64 |
<label for="txtWidth" fckLang="DlgImgWidth">Width</label><br> |
|
65 |
<input id="txtWidth" onkeypress="return IsDigit(event);" type="text" size="3"> |
|
66 |
</TD> |
|
67 |
<TD> </TD> |
|
68 |
<TD> |
|
69 |
<label for="txtHeight" fckLang="DlgImgHeight">Height</label><br> |
|
70 |
<input id="txtHeight" onkeypress="return IsDigit(event);" type="text" size="3"> |
|
71 |
</TD> |
|
72 |
</TR> |
|
73 |
</table> |
|
74 |
</TD> |
|
75 |
</TR> |
|
76 |
<tr> |
|
77 |
<td vAlign="top"> |
|
78 |
<table cellSpacing="0" cellPadding="0" width="100%" border="0"> |
|
79 |
<tr> |
|
80 |
<td valign="top" width="100%"> |
|
81 |
<table cellSpacing="0" cellPadding="0" width="100%"> |
|
82 |
<tr> |
|
83 |
<td><span fckLang="DlgImgPreview">Preview</span></td> |
|
84 |
</tr> |
|
85 |
<tr> |
|
86 |
<td id="ePreviewCell" valign="top" class="FlashPreviewArea"><iframe src="fck_flash_preview.html" frameborder="0" marginheight="0" marginwidth="0"></iframe></td> |
|
87 |
</tr> |
|
88 |
</table> |
|
89 |
</td> |
|
90 |
</tr> |
|
91 |
</table> |
|
92 |
</td> |
|
93 |
</tr> |
|
94 |
</table> |
|
95 |
</div> |
|
96 |
<div id="divUpload" style="DISPLAY: none"> |
|
97 |
<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();"> |
|
98 |
<span fckLang="DlgLnkUpload">Upload</span><br /> |
|
99 |
<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br /> |
|
100 |
<br /> |
|
101 |
<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" /> |
|
102 |
<script type="text/javascript"> |
|
103 |
var voidUrl = 'javascript:void(0)' ; |
|
104 |
if (typeof FCKTools.GetVoidUrl == 'function') |
|
105 |
voidUrl = FCKTools.GetVoidUrl(); |
|
106 |
|
|
107 |
document.write( '<iframe name="UploadWindow" style="DISPLAY: none" src="' + voidUrl + '"><\/iframe>' ) ; |
|
108 |
</script> |
|
109 |
</form> |
|
110 |
</div> |
|
111 |
<div id="divAdvanced" style="DISPLAY: none"> |
|
112 |
<TABLE cellSpacing="0" cellPadding="0" border="0"> |
|
113 |
<TR> |
|
114 |
<TD nowrap> |
|
115 |
<label fckLang="DlgFlashScale" for="cmbScale">Scale</label><BR> |
|
116 |
<select id="cmbScale"> |
|
117 |
<option value="" selected></option> |
|
118 |
<option value="showall" fckLang="DlgFlashScaleAll">Show all</option> |
|
119 |
<option value="noborder" fckLang="DlgFlashScaleNoBorder">No Border</option> |
|
120 |
<option value="exactfit" fckLang="DlgFlashScaleFit">Exact Fit</option> |
|
121 |
</select></TD> |
|
122 |
<TD> |
|
123 |
</TD> |
|
124 |
<td valign="bottom"> |
|
125 |
<table> |
|
126 |
<tr> |
|
127 |
<td><input id="chkAutoPlay" type="checkbox" checked></td> |
|
128 |
<td><label for="chkAutoPlay" nowrap fckLang="DlgFlashChkPlay">Auto Play</label> </td> |
|
129 |
<td><input id="chkLoop" type="checkbox" checked></td> |
|
130 |
<td><label for="chkLoop" nowrap fckLang="DlgFlashChkLoop">Loop</label> </td> |
|
131 |
<td><input id="chkMenu" type="checkbox" checked></td> |
|
132 |
<td><label for="chkMenu" nowrap fckLang="DlgFlashChkMenu">Enable Flash Menu</label></td> |
|
133 |
</tr> |
|
134 |
</table> |
|
135 |
</td> |
|
136 |
</TR> |
|
137 |
<tr> |
|
138 |
<td> |
|
139 |
<label for="allowscriptaccess" fckLang="DlgFlashScriptaccess">Script access</label><br> |
|
140 |
<select id="allowscriptaccess"> |
|
141 |
<option value=""></option> |
|
142 |
<option value="always" fckLang="DlgFlashAlways">Always</option> |
|
143 |
<option value="sameDomain" fckLang="DlgFlashSameDomain">Same Domain</option> |
|
144 |
<option value="never" fckLang="DlgFlashNever">Never</option> |
|
145 |
</select> |
|
146 |
</td> |
|
147 |
<td></td> |
|
148 |
<td> |
|
149 |
<label for="wmode" fckLang="DlgFlashWindowMode">Window mode</label><br> |
|
150 |
<select id="wmode"> |
|
151 |
<option value=""></option> |
|
152 |
<option value="window" fckLang="DlgFlashWindow">Window</option> |
|
153 |
<option value="opaque" fckLang="DlgFlashOpaque">Opaque</option> |
|
154 |
<option value="transparent" fckLang="DlgFlashTransparent">Transparent</option> |
|
155 |
</select> |
|
156 |
|
|
157 |
<input id="allowfullscreen" type="checkbox"> |
|
158 |
<label for="allowfullscreen" nowrap fckLang="DlgFlashAllowfullscreen">Allow Full Screen</label> |
|
159 |
|
|
160 |
</td> |
|
161 |
</tr> |
|
162 |
</TABLE> |
|
163 |
|
|
164 |
<br> |
|
165 |
|
|
166 |
<table cellSpacing="0" cellPadding="0" width="100%" align="center" border="0"> |
|
167 |
<tr> |
|
168 |
<td vAlign="top" width="50%"><label fckLang="DlgGenId" for="txtAttId">Id</label><br> |
|
169 |
<input id="txtAttId" style="WIDTH: 100%" type="text"> |
|
170 |
</td> |
|
171 |
<td> </td> |
|
172 |
<td vAlign="top" nowrap><label fckLang="DlgGenClass" for="txtAttClasses">Stylesheet Classes</label><br> |
|
173 |
<input id="txtAttClasses" style="WIDTH: 100%" type="text"> |
|
174 |
</td> |
|
175 |
<td> </td> |
|
176 |
<td vAlign="top" nowrap width="50%" for="txtAttTitle"> <label fckLang="DlgGenTitle">Advisory Title</label><br> |
|
177 |
<input id="txtAttTitle" style="WIDTH: 100%" type="text"> |
|
178 |
</td> |
|
179 |
</tr> |
|
180 |
</table> |
|
181 |
<label fckLang="DlgGenStyle" for="txtAttStyle">Style</label><br> |
|
182 |
<input id="txtAttStyle" style="WIDTH: 100%" type="text"> |
|
183 |
</div> |
|
184 |
|
|
185 |
<div id="divFlashvars" style="DISPLAY: none"> |
|
186 |
<table width="100%"> |
|
187 |
<tr> |
|
188 |
<td width="50%"><span fckLang="DlgSelectOpText">Text</span><br> |
|
189 |
<input id="txtText" style="WIDTH: 100%" type="text"> |
|
190 |
</td> |
|
191 |
<td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br> |
|
192 |
<input id="txtValue" style="WIDTH: 100%" type="text"> |
|
193 |
</td> |
|
194 |
<td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td> |
|
195 |
<td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td> |
|
196 |
</tr> |
|
197 |
<tr> |
|
198 |
<td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);" |
|
199 |
size="5"></select> |
|
200 |
</td> |
|
201 |
<td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);" |
|
202 |
size="5"></select> |
|
203 |
</td> |
|
204 |
<td vAlign="top" colSpan="2"> |
|
205 |
</td> |
|
206 |
</tr> |
|
207 |
<TR> |
|
208 |
<TD vAlign="bottom" colSpan="4"> |
|
209 |
<input onclick="Delete();" type="button" fckLang="DlgSelectBtnDelete" value="Delete"></TD> |
|
210 |
</TR> |
|
211 |
</table> |
|
212 |
</div> |
|
213 |
</body> |
|
214 |
</html> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash_preview.html | ||
---|---|---|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
|
2 |
<!-- |
|
3 |
* FCKeditor - The text editor for Internet - http://www.fckeditor.net |
|
4 |
* Copyright (C) 2003-2008 Frederico Caldeira Knabben |
|
5 |
* |
|
6 |
* == BEGIN LICENSE == |
|
7 |
* |
|
8 |
* Licensed under the terms of any of the following licenses at your |
|
9 |
* choice: |
|
10 |
* |
|
11 |
* - GNU General Public License Version 2 or later (the "GPL") |
|
12 |
* http://www.gnu.org/licenses/gpl.html |
|
13 |
* |
|
14 |
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL") |
|
15 |
* http://www.gnu.org/licenses/lgpl.html |
|
16 |
* |
|
17 |
* - Mozilla Public License Version 1.1 or later (the "MPL") |
|
18 |
* http://www.mozilla.org/MPL/MPL-1.1.html |
|
19 |
* |
|
20 |
* == END LICENSE == |
|
21 |
* |
|
22 |
* Preview page for the Flash dialog window. |
|
23 |
--> |
|
24 |
<html> |
|
25 |
<head> |
|
26 |
<title></title> |
|
27 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
28 |
<meta name="robots" content="noindex, nofollow"> |
|
29 |
<script type="text/javascript"> |
|
30 |
|
|
31 |
var FCKTools = window.parent.FCKTools ; |
|
32 |
var FCKConfig = window.parent.FCKConfig ; |
|
33 |
|
|
34 |
function Import(aSrc) { |
|
35 |
document.write('<scr'+'ipt type="text/javascript" src="' + aSrc + '"></sc' + 'ript>'); |
|
36 |
} |
|
37 |
|
|
38 |
Import(FCKConfig.FullBasePath + 'dialog/common/fck_dialog_common.js'); |
|
39 |
|
|
40 |
</script> |
|
41 |
<script type="text/javascript"> |
|
42 |
// Set the Skin CSS. |
|
43 |
if (FCKTools.GetStyleHtml) |
|
44 |
{ |
|
45 |
document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( FCKConfig.FullBasePath + 'dialog/' ) ) ) ; |
|
46 |
document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ; |
|
47 |
} |
|
48 |
else |
|
49 |
{ |
|
50 |
document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ; |
|
51 |
document.write( '<link href="' + window.parent.FCKConfig.BasePath + 'dialog/common/fck_dialog_common.css" type="text/css" rel="stylesheet">' ) ; |
|
52 |
} |
|
53 |
|
|
54 |
if ( window.parent.FCKConfig.BaseHref.length > 0 ) |
|
55 |
document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ; |
|
56 |
|
|
57 |
window.onload = function() |
|
58 |
{ |
|
59 |
window.parent.SetPreviewElement( document.body ) ; |
|
60 |
} |
|
61 |
|
|
62 |
</script> |
|
63 |
</head> |
|
64 |
<body style="COLOR: #000000; BACKGROUND-COLOR: #ffffff"></body> |
|
65 |
</html> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/fck_flash.js | ||
---|---|---|
1 |
/* |
|
2 |
* FCKeditor - The text editor for Internet - http://www.fckeditor.net |
|
3 |
* Copyright (C) 2003-2008 Frederico Caldeira Knabben |
|
4 |
* |
|
5 |
* == BEGIN LICENSE == |
|
6 |
* |
|
7 |
* Licensed under the terms of any of the following licenses at your |
|
8 |
* choice: |
|
9 |
* |
|
10 |
* - GNU General Public License Version 2 or later (the "GPL") |
|
11 |
* http://www.gnu.org/licenses/gpl.html |
|
12 |
* |
|
13 |
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL") |
|
14 |
* http://www.gnu.org/licenses/lgpl.html |
|
15 |
* |
|
16 |
* - Mozilla Public License Version 1.1 or later (the "MPL") |
|
17 |
* http://www.mozilla.org/MPL/MPL-1.1.html |
|
18 |
* |
|
19 |
* == END LICENSE == |
|
20 |
* |
|
21 |
* Scripts related to the Flash dialog window (see fck_flash.html). |
|
22 |
*/ |
|
23 |
function Import(aSrc) { |
|
24 |
document.write('<scr'+'ipt type="text/javascript" src="' + aSrc + '"></sc' + 'ript>'); |
|
25 |
} |
|
26 |
|
|
27 |
var dialog = window.parent ; |
|
28 |
var oEditor = dialog.InnerDialogLoaded() ; |
|
29 |
var FCK = oEditor.FCK ; |
|
30 |
var FCKLang = oEditor.FCKLang ; |
|
31 |
var FCKConfig = oEditor.FCKConfig ; |
|
32 |
var FCKTools = oEditor.FCKTools ; |
|
33 |
|
|
34 |
Import(FCKConfig.FullBasePath + 'dialog/common/fck_dialog_common.js'); |
|
35 |
|
|
36 |
var oListText ; |
|
37 |
var oListValue ; |
|
38 |
|
|
39 |
//#### Dialog Tabs |
|
40 |
|
|
41 |
// Set the dialog tabs. |
|
42 |
dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ; |
|
43 |
|
|
44 |
if ( FCKConfig.FlashUpload ) |
|
45 |
dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ; |
|
46 |
|
|
47 |
if ( !FCKConfig.FlashDlgHideAdvanced ) |
|
48 |
{ |
|
49 |
dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ; |
|
50 |
dialog.AddTab( 'Flashvars', oEditor.FCKLang.DlgFlashvars ) ; |
|
51 |
} |
|
52 |
|
|
53 |
// Function called when a dialog tag is selected. |
|
54 |
function OnDialogTabChange( tabCode ) |
|
55 |
{ |
|
56 |
ShowE('divInfo' , ( tabCode == 'Info' ) ) ; |
|
57 |
ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; |
|
58 |
ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ; |
|
59 |
ShowE('divFlashvars' , ( tabCode == 'Flashvars' ) ) ; |
|
60 |
} |
|
61 |
|
|
62 |
// Get the selected flash embed (if available). |
|
63 |
var oFakeImage = FCK.Selection.GetSelectedElement() ; |
|
64 |
var oParsedFlash ; |
|
65 |
var oEmbed; |
|
66 |
|
|
67 |
if ( oFakeImage ) |
|
68 |
{ |
|
69 |
if ( oFakeImage.getAttribute( 'SwfObjectNumber' ) ) |
|
70 |
{ |
|
71 |
oParsedFlash = FCK.SwfobjectHandler.getItem( oFakeImage.getAttribute( 'SwfObjectNumber' ) ); |
|
72 |
oParsedFlash.updateDimensions( oFakeImage ); |
|
73 |
} |
|
74 |
else |
|
75 |
{ |
|
76 |
if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') ) |
|
77 |
oEmbed = FCK.GetRealElement( oFakeImage ) ; |
|
78 |
|
|
79 |
oFakeImage = null ; |
|
80 |
} |
|
81 |
} |
|
82 |
if ( !oParsedFlash ) |
|
83 |
oParsedFlash = FCK.SwfobjectHandler.createNew() ; |
|
84 |
|
|
85 |
window.onload = function() |
|
86 |
{ |
|
87 |
// Translate the dialog box texts. |
|
88 |
oEditor.FCKLanguageManager.TranslatePage(document) ; |
|
89 |
|
|
90 |
oListText = document.getElementById( 'cmbText' ) ; |
|
91 |
oListValue = document.getElementById( 'cmbValue' ) ; |
|
92 |
|
|
93 |
// Fix the lists widths. (Bug #970) |
|
94 |
oListText.style.width = "120px"; //oListText.offsetWidth ; |
|
95 |
oListValue.style.width = "120px"; //oListValue.offsetWidth ; |
|
96 |
|
|
97 |
// Load the selected element information (if any). |
|
98 |
LoadSelection() ; |
|
99 |
|
|
100 |
// Show/Hide the "Browse Server" button. |
|
101 |
GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ; |
|
102 |
|
|
103 |
// Set the actual uploader URL. |
|
104 |
if ( FCKConfig.FlashUpload ) |
|
105 |
GetE('frmUpload').action = FCKConfig.FlashUploadURL ; |
|
106 |
|
|
107 |
dialog.SetAutoSize( true ) ; |
|
108 |
|
|
109 |
// Activate the "OK" button. |
|
110 |
dialog.SetOkButton( true ) ; |
|
111 |
|
|
112 |
if (typeof SelectField == 'function') SelectField( 'txtUrl' ) ; |
|
113 |
} |
|
114 |
|
|
115 |
function LoadSelection() |
|
116 |
{ |
|
117 |
// parse old embeds |
|
118 |
if (oEmbed) |
|
119 |
{ |
|
120 |
oParsedFlash.file = GetAttribute( oEmbed, 'src', '' ) ; |
|
121 |
oParsedFlash.width = GetAttribute( oEmbed, 'width', '' ) ; |
|
122 |
oParsedFlash.height = GetAttribute( oEmbed, 'height', '' ) ; |
|
123 |
|
|
124 |
// Get Advances Attributes |
|
125 |
oParsedFlash.attributes.id = oEmbed.id ; |
|
126 |
oParsedFlash.attributes.title = oEmbed.title ; |
|
127 |
|
|
128 |
if ( oEditor.FCKBrowserInfo.IsIE ) |
|
129 |
{ |
|
130 |
oParsedFlash.attributes['class'] = oEmbed.getAttribute('className') || '' ; |
|
131 |
oParsedFlash.attributes.style = oEmbed.style.cssText ; |
|
132 |
} |
|
133 |
else |
|
134 |
{ |
|
135 |
oParsedFlash.attributes['class'] = oEmbed.getAttribute('class',2) || '' ; |
|
136 |
oParsedFlash.attributes.style = oEmbed.getAttribute('style',2) || '' ; |
|
137 |
} |
|
138 |
|
|
139 |
oParsedFlash.params.play = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ; |
|
140 |
oParsedFlash.params.loop = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ; |
|
141 |
oParsedFlash.params.menu = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ; |
|
142 |
oParsedFlash.params.scale = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ; |
|
143 |
} |
|
144 |
|
|
145 |
GetE('txtUrl').value = oParsedFlash.file ; |
|
146 |
GetE('txtWidth').value = oParsedFlash.width ; |
|
147 |
GetE('txtHeight').value = oParsedFlash.height ; |
|
148 |
|
|
149 |
// Get Advances Attributes |
|
150 |
GetE('txtAttId').value = oParsedFlash.attributes.id || '' ; |
|
151 |
GetE('txtAttTitle').value = oParsedFlash.attributes.title || '' ; |
|
152 |
GetE('txtAttClasses').value = oParsedFlash.attributes['class'] || '' ; |
|
153 |
GetE('txtAttStyle').value = oParsedFlash.attributes.style ; |
|
154 |
|
|
155 |
GetE('chkAutoPlay').checked = oParsedFlash.params.play ; |
|
156 |
GetE('chkLoop').checked = oParsedFlash.params.loop ; |
|
157 |
GetE('chkMenu').checked = oParsedFlash.params.menu ; |
|
158 |
GetE('cmbScale').value = oParsedFlash.params.scale || '' ; |
|
159 |
|
|
160 |
GetE('allowscriptaccess').value = oParsedFlash.params.allowscriptaccess || '' ; |
|
161 |
GetE('wmode').value = oParsedFlash.params.wmode || '' ; |
|
162 |
GetE('allowfullscreen').checked = oParsedFlash.params.allowfullscreen ; |
|
163 |
|
|
164 |
// flashvars |
|
165 |
var opts = oParsedFlash.flashvars ; |
|
166 |
for ( var v in opts ) |
|
167 |
{ |
|
168 |
var sText = v ; |
|
169 |
var sValue = opts[v] ; |
|
170 |
|
|
171 |
AddComboOption( oListText, sText, sText ) ; |
|
172 |
AddComboOption( oListValue, sValue, sValue ) ; |
|
173 |
} |
|
174 |
|
|
175 |
UpdatePreview() ; |
|
176 |
} |
|
177 |
|
|
178 |
//#### The OK button was hit. |
|
179 |
function Ok() |
|
180 |
{ |
|
181 |
if ( GetE('txtUrl').value.length == 0 ) |
|
182 |
{ |
|
183 |
dialog.SetSelectedTab( 'Info' ) ; |
|
184 |
GetE('txtUrl').focus() ; |
|
185 |
|
|
186 |
alert( oEditor.FCKLang.DlgAlertUrl ) ; |
|
187 |
|
|
188 |
return false ; |
|
189 |
} |
|
190 |
|
|
191 |
oEditor.FCKUndo.SaveUndoStep() ; |
|
192 |
|
|
193 |
updateObject(oParsedFlash) ; |
|
194 |
|
|
195 |
if ( !oFakeImage ) |
|
196 |
oFakeImage = oParsedFlash.createHtmlElement() ; |
|
197 |
|
|
198 |
oParsedFlash.updateHTMLElement(oFakeImage); |
|
199 |
|
|
200 |
return true ; |
|
201 |
} |
|
202 |
|
|
203 |
function updateObject( e ) |
|
204 |
{ |
|
205 |
e.file = GetE('txtUrl').value; |
|
206 |
e.width = GetE('txtWidth').value; |
|
207 |
e.height = GetE('txtHeight').value; |
|
208 |
if (e.width=='') e.width = '100'; |
|
209 |
if (e.height=='') e.height = '100'; |
|
210 |
|
|
211 |
// Advances Attributes |
|
212 |
e.attributes.id = GetE('txtAttId').value; |
|
213 |
e.attributes['class'] = GetE('txtAttClasses').value; |
|
214 |
e.attributes.style = GetE('txtAttStyle').value; |
|
215 |
e.attributes.title = GetE('txtAttTitle').value; |
|
216 |
|
|
217 |
e.params.scale = GetE('cmbScale').value; |
|
218 |
e.params.play = GetE('chkAutoPlay').checked; |
|
219 |
e.params.loop = GetE('chkLoop').checked; |
|
220 |
e.params.menu = GetE('chkMenu').checked; |
|
221 |
|
|
222 |
e.params.allowscriptaccess = GetE('allowscriptaccess').value; |
|
223 |
e.params.wmode = GetE('wmode').value; |
|
224 |
e.params.allowfullscreen = GetE('allowfullscreen').checked; |
|
225 |
|
|
226 |
// Add all available options. |
|
227 |
var vars = {}; |
|
228 |
for ( var i = 0 ; i < oListText.options.length ; i++ ) |
|
229 |
{ |
|
230 |
var sText = oListText.options[i].value ; |
|
231 |
var sValue = oListValue.options[i].value ; |
|
232 |
if ( sValue.length == 0 ) sValue = sText ; |
|
233 |
vars[sText] = sValue ; |
|
234 |
} |
|
235 |
e.flashvars = vars; |
|
236 |
} |
|
237 |
|
|
238 |
var ePreview ; |
|
239 |
|
|
240 |
function SetPreviewElement( previewEl ) |
|
241 |
{ |
|
242 |
ePreview = previewEl ; |
|
243 |
|
|
244 |
if ( GetE('txtUrl').value.length > 0 ) |
|
245 |
UpdatePreview() ; |
|
246 |
} |
|
247 |
|
|
248 |
function UpdatePreview() |
|
249 |
{ |
|
250 |
if ( !ePreview ) |
|
251 |
return ; |
|
252 |
|
|
253 |
while ( ePreview.firstChild ) |
|
254 |
ePreview.removeChild( ePreview.firstChild ) ; |
|
255 |
|
|
256 |
if ( GetE('txtUrl').value.length == 0 ) |
|
257 |
ePreview.innerHTML = ' ' ; |
|
258 |
else |
|
259 |
{ |
|
260 |
// Skip reloading the swf if it's the current preview |
|
261 |
var url = GetE('txtUrl').value ; |
|
262 |
if (ePreview.dataUrl == url) |
|
263 |
return ; |
|
264 |
|
|
265 |
// check if it isn't a swf file or some mix of html or an embedding page: |
|
266 |
var oData = oWebVideo.ParseHtml(url, GetE('txtWidth').value, GetE('txtHeight').value ); |
|
267 |
GetE('txtUrl').value = oData.url ; |
|
268 |
GetE('txtWidth').value = oData.width ; |
|
269 |
GetE('txtHeight').value = oData.height ; |
|
270 |
ePreview.dataUrl = oData.url ; |
|
271 |
|
|
272 |
var oDoc = ePreview.ownerDocument || ePreview.document ; |
|
273 |
var e = oDoc.createElement( 'EMBED' ) ; |
|
274 |
|
|
275 |
SetAttribute( e, 'src', GetE('txtUrl').value ) ; |
|
276 |
SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ; |
|
277 |
SetAttribute( e, 'width', '100%' ) ; |
|
278 |
SetAttribute( e, 'height', '100%' ) ; |
|
279 |
|
|
280 |
ePreview.appendChild( e ) ; |
|
281 |
} |
|
282 |
} |
|
283 |
|
|
284 |
// <embed id="ePreview" src="fck_flash/claims.swf" width="100%" height="100%" style="visibility:hidden" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> |
|
285 |
|
|
286 |
function BrowseServer() |
|
287 |
{ |
|
288 |
OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ; |
|
289 |
} |
|
290 |
|
|
291 |
function SetUrl( url, width, height ) |
|
292 |
{ |
|
293 |
GetE('txtUrl').value = url ; |
|
294 |
|
|
295 |
if ( width ) |
|
296 |
GetE('txtWidth').value = width ; |
|
297 |
|
|
298 |
if ( height ) |
|
299 |
GetE('txtHeight').value = height ; |
|
300 |
|
|
301 |
UpdatePreview() ; |
|
302 |
|
|
303 |
dialog.SetSelectedTab( 'Info' ) ; |
|
304 |
} |
|
305 |
|
|
306 |
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg ) |
|
307 |
{ |
|
308 |
// Remove animation |
|
309 |
window.parent.Throbber.Hide() ; |
|
310 |
GetE( 'divUpload' ).style.display = '' ; |
|
311 |
|
|
312 |
switch ( errorNumber ) |
|
313 |
{ |
|
314 |
case 0 : // No errors |
|
315 |
alert( 'Your file has been successfully uploaded' ) ; |
|
316 |
break ; |
|
317 |
case 1 : // Custom error |
|
318 |
alert( customMsg ) ; |
|
319 |
return ; |
|
320 |
case 101 : // Custom warning |
|
321 |
alert( customMsg ) ; |
|
322 |
break ; |
|
323 |
case 201 : |
|
324 |
alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ; |
|
325 |
break ; |
|
326 |
case 202 : |
|
327 |
alert( 'Invalid file type' ) ; |
|
328 |
return ; |
|
329 |
case 203 : |
|
330 |
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ; |
|
331 |
return ; |
|
332 |
case 500 : |
|
333 |
alert( 'The connector is disabled' ) ; |
|
334 |
break ; |
|
335 |
default : |
|
336 |
alert( 'Error on file upload. Error number: ' + errorNumber ) ; |
|
337 |
return ; |
|
338 |
} |
|
339 |
|
|
340 |
SetUrl( fileUrl ) ; |
|
341 |
GetE('frmUpload').reset() ; |
|
342 |
} |
|
343 |
|
|
344 |
var oUploadAllowedExtRegex = new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ; |
|
345 |
var oUploadDeniedExtRegex = new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ; |
|
346 |
|
|
347 |
function CheckUpload() |
|
348 |
{ |
|
349 |
var sFile = GetE('txtUploadFile').value ; |
|
350 |
|
|
351 |
if ( sFile.length == 0 ) |
|
352 |
{ |
|
353 |
alert( 'Please select a file to upload' ) ; |
|
354 |
return false ; |
|
355 |
} |
|
356 |
|
|
357 |
if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) || |
|
358 |
( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) ) |
|
359 |
{ |
|
360 |
OnUploadCompleted( 202 ) ; |
|
361 |
return false ; |
|
362 |
} |
|
363 |
|
|
364 |
// Show animation |
|
365 |
window.parent.Throbber.Show( 100 ) ; |
|
366 |
GetE( 'divUpload' ).style.display = 'none' ; |
|
367 |
|
|
368 |
return true ; |
|
369 |
} |
|
370 |
|
|
371 |
|
|
372 |
/* flashvars selects*/ |
|
373 |
|
|
374 |
function Select( combo ) |
|
375 |
{ |
|
376 |
var iIndex = combo.selectedIndex ; |
|
377 |
|
|
378 |
oListText.selectedIndex = iIndex ; |
|
379 |
oListValue.selectedIndex = iIndex ; |
|
380 |
|
|
381 |
var oTxtText = document.getElementById( "txtText" ) ; |
|
382 |
var oTxtValue = document.getElementById( "txtValue" ) ; |
|
383 |
|
|
384 |
oTxtText.value = oListText.value ; |
|
385 |
oTxtValue.value = oListValue.value ; |
|
386 |
} |
|
387 |
|
|
388 |
function Add() |
|
389 |
{ |
|
390 |
var oTxtText = document.getElementById( "txtText" ) ; |
|
391 |
var oTxtValue = document.getElementById( "txtValue" ) ; |
|
392 |
|
|
393 |
AddComboOption( oListText, oTxtText.value, oTxtText.value ) ; |
|
394 |
AddComboOption( oListValue, oTxtValue.value, oTxtValue.value ) ; |
|
395 |
|
|
396 |
oListText.selectedIndex = oListText.options.length - 1 ; |
|
397 |
oListValue.selectedIndex = oListValue.options.length - 1 ; |
|
398 |
|
|
399 |
oTxtText.value = '' ; |
|
400 |
oTxtValue.value = '' ; |
|
401 |
|
|
402 |
oTxtText.focus() ; |
|
403 |
} |
|
404 |
|
|
405 |
function Modify() |
|
406 |
{ |
|
407 |
var iIndex = oListText.selectedIndex ; |
|
408 |
|
|
409 |
if ( iIndex < 0 ) return ; |
|
410 |
|
|
411 |
var oTxtText = document.getElementById( "txtText" ) ; |
|
412 |
var oTxtValue = document.getElementById( "txtValue" ) ; |
|
413 |
|
|
414 |
oListText.options[ iIndex ].innerHTML = HTMLEncode( oTxtText.value ) ; |
|
415 |
oListText.options[ iIndex ].value = oTxtText.value ; |
|
416 |
|
|
417 |
oListValue.options[ iIndex ].innerHTML = HTMLEncode( oTxtValue.value ) ; |
|
418 |
oListValue.options[ iIndex ].value = oTxtValue.value ; |
|
419 |
|
|
420 |
oTxtText.value = '' ; |
|
421 |
oTxtValue.value = '' ; |
|
422 |
|
|
423 |
oTxtText.focus() ; |
|
424 |
} |
|
425 |
|
|
426 |
function Delete() |
|
427 |
{ |
|
428 |
RemoveSelectedOptions( oListText ) ; |
|
429 |
RemoveSelectedOptions( oListValue ) ; |
|
430 |
} |
|
431 |
|
|
432 |
// Remove all selected options from a SELECT object |
|
433 |
function RemoveSelectedOptions(combo) |
|
434 |
{ |
|
435 |
// Save the selected index |
|
436 |
var iSelectedIndex = combo.selectedIndex ; |
|
437 |
|
|
438 |
var oOptions = combo.options ; |
|
439 |
|
|
440 |
// Remove all selected options |
|
441 |
for ( var i = oOptions.length - 1 ; i >= 0 ; i-- ) |
|
442 |
{ |
|
443 |
if (oOptions[i].selected) combo.remove(i) ; |
|
444 |
} |
|
445 |
|
|
446 |
// Reset the selection based on the original selected index |
|
447 |
if ( combo.options.length > 0 ) |
|
448 |
{ |
|
449 |
if ( iSelectedIndex >= combo.options.length ) iSelectedIndex = combo.options.length - 1 ; |
|
450 |
combo.selectedIndex = iSelectedIndex ; |
|
451 |
} |
|
452 |
} |
|
453 |
|
|
454 |
// Add a new option to a SELECT object (combo or list) |
|
455 |
function AddComboOption( combo, optionText, optionValue, documentObject, index ) |
|
456 |
{ |
|
457 |
var oOption ; |
|
458 |
|
|
459 |
if ( documentObject ) |
|
460 |
oOption = documentObject.createElement("OPTION") ; |
|
461 |
else |
|
462 |
oOption = document.createElement("OPTION") ; |
|
463 |
|
|
464 |
if ( index != null ) |
|
465 |
combo.options.add( oOption, index ) ; |
|
466 |
else |
|
467 |
combo.options.add( oOption ) ; |
|
468 |
|
|
469 |
oOption.innerHTML = optionText.length > 0 ? HTMLEncode( optionText ) : ' ' ; |
|
470 |
oOption.value = optionValue ; |
|
471 |
|
|
472 |
return oOption ; |
|
473 |
} |
|
474 |
|
|
475 |
function HTMLEncode( text ) |
|
476 |
{ |
|
477 |
if ( !text ) |
|
478 |
return '' ; |
|
479 |
|
|
480 |
text = text.replace( /&/g, '&' ) ; |
|
481 |
text = text.replace( /</g, '<' ) ; |
|
482 |
text = text.replace( />/g, '>' ) ; |
|
483 |
|
|
484 |
return text ; |
|
485 |
} |
|
486 |
|
|
487 |
|
|
488 |
function HTMLDecode( text ) |
|
489 |
{ |
|
490 |
if ( !text ) |
|
491 |
return '' ; |
|
492 |
|
|
493 |
text = text.replace( />/g, '>' ) ; |
|
494 |
text = text.replace( /</g, '<' ) ; |
|
495 |
text = text.replace( /&/g, '&' ) ; |
|
496 |
|
|
497 |
return text ; |
|
498 |
} |
|
499 |
|
|
500 |
|
|
501 |
|
|
502 |
|
|
503 |
// The object used for all Web Video operations. |
|
504 |
var oWebVideo = { |
|
505 |
Objects : [ "<object width=\"(?<width>\\d+)\" height=\"(?<height>\\d+)\".* name=\"movie\"\\s+value=\"(?<url>[^\"]*)\".*<\\/object>" , |
|
506 |
// youtube style only embed |
|
507 |
"<embed src=\"(?<url>[^\"]*)\".* width=\"(?<width>\\d+)\" height=\"(?<height>\\d+)\".*<\\/embed>" , |
|
508 |
// google video |
|
509 |
"<embed .*width:(?<width>\\d+)px.*height:(?<height>\\d+)px.* src=\"(?<url>[^\"]*)\".*<\\/embed>" , |
|
510 |
// invalid syntax but anyway... |
|
511 |
"<embed src=\"(?<url>[^\"]*)\".* width=\"(?<width>\\d+)px\" height=\"(?<height>\\d+)px\".*<\\/embed>" |
|
512 |
] , |
|
513 |
|
|
514 |
webPages : [{re:/http:\/\/www\.youtube\.com\/watch\?v=([^&]*)(&.*|$)/, url:'http://www.youtube.com/v/$1', width:425, height:344} , |
|
515 |
{re:/http:\/\/video\.google\.(.*)\/videoplay\?docid=([^&]*)(&.*|$)/, url:'http://video.google.$1/googleplayer.swf?docid=$2', width:400, height:326}, |
|
516 |
{re:/http:\/\/www\.mtvmusic\.com\/video\/\?id=([^&]*)(&.*|$)/, url:'http://media.mtvnservices.com/mgid:uma:video:mtvmusic.com:$1', width:320, height:271} , |
|
517 |
{re:/http:\/\/www\.metacafe\.com\/watch\/(.*?)\/(.*?)(\/.*|$)/, url:'http://www.metacafe.com/fplayer/$1/$2.swf', width:400, height:345} |
|
518 |
], |
|
519 |
|
|
520 |
// Parses the suplied HTML and returns an object with the url of the video, its width and height |
|
521 |
ParseHtml : function( html, width, height ) |
|
522 |
{ |
|
523 |
// Check if it's a valid swf and skip the tests |
|
524 |
var swfFile = new RegExp(".*\.swf$", i) ; |
|
525 |
if ( swfFile.test(html) ) |
|
526 |
return {url: html, width: width, height: height } ; |
|
527 |
|
|
528 |
// Generic system to work with any proposed embed by the site (as long as it matches the previous regexps |
|
529 |
for(var i=0; i< this.Objects.length; i++) |
|
530 |
{ |
|
531 |
// Using XRegExp to work with named captures: http://stevenlevithan.com/regex/xregexp/ |
|
532 |
var re = new XRegExp( this.Objects[i] ) ; |
|
533 |
var parts = re.exec( html ) ; |
|
534 |
if (parts) |
|
535 |
return {url: parts.url, width: parts.width, height: parts.height }; |
|
536 |
} |
|
537 |
|
|
538 |
// Ability to paste the url of the web site and extract the correct info. It needs to be adjusted for every site. |
|
539 |
for(var i=0; i< this.webPages.length; i++) |
|
540 |
{ |
|
541 |
var page = this.webPages[i] ; |
|
542 |
var oMatch = html.match( page.re ) ; |
|
543 |
if (oMatch) |
|
544 |
{ |
|
545 |
return {url: html.replace(page.re, page.url), width: page.width, height: page.height}; |
|
546 |
} |
|
547 |
} |
|
548 |
|
|
549 |
return {url: html, width: width, height: height } ; |
|
550 |
} |
|
551 |
}; |
|
552 |
|
|
553 |
|
|
554 |
|
|
555 |
|
|
556 |
|
|
557 |
// XRegExp 0.5.1, <stevenlevithan.com>, MIT License |
|
558 |
if(!window.XRegExp){(function(){var D={exec:RegExp.prototype.exec,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},C={part:/(?:[^\\([#\s.]+|\\(?!k<[\w$]+>)[\S\s]?|\((?=\?(?!#|<[\w$]+>)))+|(\()(?:\?(?:(#)[^)]*\)|<([$\w]+)>))?|\\k<([\w$]+)>|(\[\^?)|([\S\s])/g,replaceVar:/(?:[^$]+|\$(?![1-9$&`']|{[$\w]+}))+|\$(?:([1-9]\d*|[$&`'])|{([$\w]+)})/g,extended:/^(?:\s+|#.*)+/,quantifier:/^(?:[?*+]|{\d+(?:,\d*)?})/,classLeft:/&&\[\^?/g,classRight:/]/g},A=function(H,F,G){for(var E=G||0;E<H.length;E++){if(H[E]===F){return E}}return -1},B=/()??/.exec("")[1]!==undefined;XRegExp=function(N,H){if(N instanceof RegExp){if(H!==undefined){throw TypeError("can't supply flags when constructing one RegExp from another")}return N.addFlags()}var H=H||"",E=H.indexOf("s")>-1,J=H.indexOf("x")>-1,O=false,Q=[],G=[],F=C.part,K,I,M,L,P;F.lastIndex=0;while(K=D.exec.call(F,N)){if(K[2]){if(!C.quantifier.test(N.slice(F.lastIndex))){G.push("(?:)")}}else{if(K[1]){Q.push(K[3]||null);if(K[3]){O=true}G.push("(")}else{if(K[4]){L=A(Q,K[4]);G.push(L>-1?"\\"+(L+1)+(isNaN(N.charAt(F.lastIndex))?"":"(?:)"):K[0])}else{if(K[5]){if(N.charAt(F.lastIndex)==="]"){G.push(K[5]==="["?"(?!)":"[\\S\\s]");F.lastIndex++}else{I=XRegExp.matchRecursive("&&"+N.slice(K.index),C.classLeft,C.classRight,"",{escapeChar:"\\"})[0];G.push(K[5]+I+"]");F.lastIndex+=I.length+1}}else{if(K[6]){if(E&&K[6]==="."){G.push("[\\S\\s]")}else{if(J&&C.extended.test(K[6])){M=D.exec.call(C.extended,N.slice(F.lastIndex-1))[0].length;if(!C.quantifier.test(N.slice(F.lastIndex-1+M))){G.push("(?:)")}F.lastIndex+=M-1}else{G.push(K[6])}}}else{G.push(K[0])}}}}}}P=RegExp(G.join(""),D.replace.call(H,/[sx]+/g,""));P._x={source:N,captureNames:O?Q:null};return P};RegExp.prototype.exec=function(I){var G=D.exec.call(this,I),F,H,E;if(G){if(B&&G.length>1){E=new RegExp("^"+this.source+"$(?!\\s)",this.getNativeFlags());D.replace.call(G[0],E,function(){for(H=1;H<arguments.length-2;H++){if(arguments[H]===undefined){G[H]=undefined}}})}if(this._x&&this._x.captureNames){for(H=1;H<G.length;H++){F=this._x.captureNames[H-1];if(F){G[F]=G[H]}}}if(this.global&&this.lastIndex>(G.index+G[0].length)){this.lastIndex--}}return G};String.prototype.match=function(E){if(!(E instanceof RegExp)){E=new XRegExp(E)}if(E.global){return D.match.call(this,E)}return E.exec(this)};String.prototype.replace=function(F,G){var E=(F._x||{}).captureNames;if(!(F instanceof RegExp&&E)){return D.replace.apply(this,arguments)}if(typeof G==="function"){return D.replace.call(this,F,function(){arguments[0]=new String(arguments[0]);for(var H=0;H<E.length;H++){if(E[H]){arguments[0][E[H]]=arguments[H+1]}}return G.apply(window,arguments)})}else{return D.replace.call(this,F,function(){var H=arguments;return D.replace.call(G,C.replaceVar,function(J,I,M){if(I){switch(I){case"$":return"$";case"&":return H[0];case"`":return H[H.length-1].slice(0,H[H.length-2]);case"'":return H[H.length-1].slice(H[H.length-2]+H[0].length);default:var K="";I=+I;while(I>E.length){K=D.split.call(I,"").pop()+K;I=Math.floor(I/10)}return(I?H[I]:"$")+K}}else{if(M){var L=A(E,M);return L>-1?H[L+1]:J}else{return J}}})})}};String.prototype.split=function(J,F){if(!(J instanceof RegExp)){return D.split.apply(this,arguments)}var G=[],E=J.lastIndex,K=0,I=0,H;if(F===undefined||+F<0){F=false}else{F=Math.floor(+F);if(!F){return[]}}if(!J.global){J=J.addFlags("g")}else{J.lastIndex=0}while((!F||I++<=F)&&(H=J.exec(this))){if(J.lastIndex>K){G=G.concat(this.slice(K,H.index),(H.index===this.length?[]:H.slice(1)));K=J.lastIndex}if(!H[0].length){J.lastIndex++}}G=K===this.length?(J.test("")?G:G.concat("")):(F?G:G.concat(this.slice(K)));J.lastIndex=E;return G}})()}RegExp.prototype.getNativeFlags=function(){return(this.global?"g":"")+(this.ignoreCase?"i":"")+(this.multiline?"m":"")+(this.extended?"x":"")+(this.sticky?"y":"")};RegExp.prototype.addFlags=function(A){var B=new XRegExp(this.source,(A||"")+this.getNativeFlags());if(this._x){B._x={source:this._x.source,captureNames:this._x.captureNames?this._x.captureNames.slice(0):null}}return B};RegExp.prototype.call=function(A,B){return this.exec(B)};RegExp.prototype.apply=function(B,A){return this.exec(A[0])};XRegExp.cache=function(C,A){var B="/"+C+"/"+(A||"");return XRegExp.cache[B]||(XRegExp.cache[B]=new XRegExp(C,A))};XRegExp.escape=function(A){return A.replace(/[-[\]{}()*+?.\\^$|,#\s]/g,"\\$&")};XRegExp.matchRecursive=function(P,D,S,F,B){var B=B||{},V=B.escapeChar,K=B.valueNames,F=F||"",Q=F.indexOf("g")>-1,C=F.indexOf("i")>-1,H=F.indexOf("m")>-1,U=F.indexOf("y")>-1,F=F.replace(/y/g,""),D=D instanceof RegExp?(D.global?D:D.addFlags("g")):new XRegExp(D,"g"+F),S=S instanceof RegExp?(S.global?S:S.addFlags("g")):new XRegExp(S,"g"+F),I=[],A=0,J=0,N=0,L=0,M,E,O,R,G,T;if(V){if(V.length>1){throw SyntaxError("can't supply more than one escape character")}if(H){throw TypeError("can't supply escape character when using the multiline flag")}G=XRegExp.escape(V);T=new RegExp("^(?:"+G+"[\\S\\s]|(?:(?!"+D.source+"|"+S.source+")[^"+G+"])+)+",C?"i":"")}while(true){D.lastIndex=S.lastIndex=N+(V?(T.exec(P.slice(N))||[""])[0].length:0);O=D.exec(P);R=S.exec(P);if(O&&R){if(O.index<=R.index){R=null}else{O=null}}if(O||R){J=(O||R).index;N=(O?D:S).lastIndex}else{if(!A){break}}if(U&&!A&&J>L){break}if(O){if(!A++){M=J;E=N}}else{if(R&&A){if(!--A){if(K){if(K[0]&&M>L){I.push([K[0],P.slice(L,M),L,M])}if(K[1]){I.push([K[1],P.slice(M,E),M,E])}if(K[2]){I.push([K[2],P.slice(E,J),E,J])}if(K[3]){I.push([K[3],P.slice(J,N),J,N])}L=N}else{I.push(P.slice(E,J))}if(!Q){break}}}else{D.lastIndex=S.lastIndex=0;throw Error("subject data contains unbalanced delimiters")}}if(J===N){N++}}if(Q&&!U&&K&&K[0]&&P.length>L){I.push([K[0],P.slice(L),L,P.length])}D.lastIndex=S.lastIndex=0;return I}; |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/dialog/index.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
// $Id: index.php 1161 2009-10-11 16:45:19Z Luisehahne $ |
|
4 |
|
|
5 |
/* |
|
6 |
|
|
7 |
Website Baker Project <http://www.websitebaker.org/> |
|
8 |
Copyright (C) 2004-2009, Ryan Djurovich |
|
9 |
|
|
10 |
Website Baker is free software; you can redistribute it and/or modify |
|
11 |
it under the terms of the GNU General Public License as published by |
|
12 |
the Free Software Foundation; either version 2 of the License, or |
|
13 |
(at your option) any later version. |
|
14 |
|
|
15 |
Website Baker is distributed in the hope that it will be useful, |
|
16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
18 |
GNU General Public License for more details. |
|
19 |
|
|
20 |
You should have received a copy of the GNU General Public License |
|
21 |
along with Website Baker; if not, write to the Free Software |
|
22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
|
|
24 |
*/ |
|
25 |
|
|
26 |
header('Location: ../index.php'); |
|
27 |
|
|
28 |
?> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/readme.html | ||
---|---|---|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
|
2 |
"http://www.w3.org/TR/html4/loose.dtd"> |
|
3 |
<html> |
|
4 |
<head> |
|
5 |
<title>googlemaps plugin index</title> |
|
6 |
<META http-equiv="refresh" content="0;URL=docs/install.html"> |
|
7 |
</head> |
|
8 |
<body> |
|
9 |
<p>You should have been redirected <a href="docs/install.html">to the documentation</a></p> |
|
10 |
</body> |
|
11 |
</html> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/es.js | ||
---|---|---|
1 |
FCKLang.DlgFlashvars = 'Flashvars'; |
|
2 |
|
|
3 |
FCKLang.DlgFlashScriptaccess = 'Acceso de Scripts'; |
|
4 |
FCKLang.DlgFlashAlways = 'Siempre'; |
|
5 |
FCKLang.DlgFlashSameDomain = 'El mismo dominio'; |
|
6 |
FCKLang.DlgFlashNever = 'Nunca'; |
|
7 |
FCKLang.DlgFlashWindowMode = 'Wmode'; |
|
8 |
FCKLang.DlgFlashWindow = 'Ventana'; |
|
9 |
FCKLang.DlgFlashOpaque = 'Opaco'; |
|
10 |
FCKLang.DlgFlashTransparent = 'Transparente'; |
|
11 |
FCKLang.DlgFlashAllowfullscreen = 'Permitir ventana completa'; |
|
12 |
|
|
13 |
// para que quede en una linea |
|
14 |
FCKLang.DlgFlashChkMenu = 'Menú Flash'; |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/en.js | ||
---|---|---|
1 |
FCKLang.DlgFlashvars = 'Flashvars'; |
|
2 |
|
|
3 |
FCKLang.DlgFlashScriptaccess = 'Script Access'; |
|
4 |
FCKLang.DlgFlashAlways = 'Always'; |
|
5 |
FCKLang.DlgFlashSameDomain = 'Same Domain'; |
|
6 |
FCKLang.DlgFlashNever = 'Never'; |
|
7 |
FCKLang.DlgFlashWindowMode = 'Window Mode'; |
|
8 |
FCKLang.DlgFlashWindow = 'Window'; |
|
9 |
FCKLang.DlgFlashOpaque = 'Opaque'; |
|
10 |
FCKLang.DlgFlashTransparent = 'Transparent'; |
|
11 |
FCKLang.DlgFlashAllowfullscreen = 'Allow Fullscreen'; |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/lang/index.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
// $Id: index.php 1161 2009-10-11 16:45:19Z Luisehahne $ |
|
4 |
|
|
5 |
/* |
|
6 |
|
|
7 |
Website Baker Project <http://www.websitebaker.org/> |
|
8 |
Copyright (C) 2004-2009, Ryan Djurovich |
|
9 |
|
|
10 |
Website Baker is free software; you can redistribute it and/or modify |
|
11 |
it under the terms of the GNU General Public License as published by |
|
12 |
the Free Software Foundation; either version 2 of the License, or |
|
13 |
(at your option) any later version. |
|
14 |
|
|
15 |
Website Baker is distributed in the hope that it will be useful, |
|
16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
18 |
GNU General Public License for more details. |
|
19 |
|
|
20 |
You should have received a copy of the GNU General Public License |
|
21 |
along with Website Baker; if not, write to the Free Software |
|
22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
|
|
24 |
*/ |
|
25 |
|
|
26 |
header('Location: ../index.php'); |
|
27 |
|
|
28 |
?> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/images/index.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
// $Id: index.php 1161 2009-10-11 16:45:19Z Luisehahne $ |
|
4 |
|
|
5 |
/* |
|
6 |
|
|
7 |
Website Baker Project <http://www.websitebaker.org/> |
|
8 |
Copyright (C) 2004-2009, Ryan Djurovich |
|
9 |
|
|
10 |
Website Baker is free software; you can redistribute it and/or modify |
|
11 |
it under the terms of the GNU General Public License as published by |
|
12 |
the Free Software Foundation; either version 2 of the License, or |
|
13 |
(at your option) any later version. |
|
14 |
|
|
15 |
Website Baker is distributed in the hope that it will be useful, |
|
16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
18 |
GNU General Public License for more details. |
|
19 |
|
|
20 |
You should have received a copy of the GNU General Public License |
|
21 |
along with Website Baker; if not, write to the Free Software |
|
22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
|
|
24 |
*/ |
|
25 |
|
|
26 |
header('Location: ../index.php'); |
|
27 |
|
|
28 |
?> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/install.html | ||
---|---|---|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
|
2 |
"http://www.w3.org/TR/html4/loose.dtd"> |
|
3 |
<html lang="en"> |
|
4 |
<head> |
|
5 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
6 |
<title>SWFObject plugin</title> |
|
7 |
<link href="styles.css" rel="stylesheet" type="text/css"> |
|
8 |
</head> |
|
9 |
|
|
10 |
<body> |
|
11 |
<h1>SWFObject Plugin for FCKeditor</h1> |
|
12 |
<!-- |
|
13 |
<div id="languages"> Change your language |
|
14 |
<ul> |
|
15 |
<li><a href="install_es.html" lang="es"><img src="es.png" alt="Español" width="23" height="15" border="0"></a></li> |
|
16 |
</ul> |
|
17 |
</div> |
|
18 |
--> |
|
19 |
<h2>Introduction</h2> |
|
20 |
<p>This is a dialog-based plugin to replace the default flash insertion in <a href="http://www.fckeditor.net">FCKeditor</a> (using <embed>) with <a href="http://code.google.com/p/swfobject/">SWFObject 2</a> (with the dynamic publishing method, <script>)</p> |
|
21 |
<p>Besides generating the code with SWFObject, the insertion dialog allows to set the allowscriptaccess, wmode and allowfullscreen Flash parameters, and the posibility to add any flashvars that you need.</p> |
|
22 |
<h3 id="contact">Author:</h3> |
|
23 |
<p><a href="mailto:amla70@gmail.com">Alfonso Martínez de Lizarrondo</a></p> |
|
24 |
<h3>Sponsored by:</h3> |
|
25 |
<p><a href="http://www.incontrolsolutions.com">InControl Solutions</a></p> |
|
26 |
<p><a href="http://www.uritec.net">Uritec</a></p> |
|
27 |
<h3>Version history: </h3> |
|
28 |
<ol> |
|
29 |
<li>1.0: 14/09/2008. Based on standard flash dialog.</li> |
|
30 |
<li>1.1: 15/09/2008. Fixes, add flashvars editor, fullscreen, allowscriptaccess, wmode</li> |
|
31 |
<li>1.2: 21/09/2008. Fixes for IE, added the swfobject_WrapperClass option. Included the FCKCommentsProcessor code. Change behavior according to the swfObjectPath value.</li> |
|
32 |
<li>1.3: 26/09/2008. More fixes for IE. It should work also in FCKeditor 2.5.</li> |
|
33 |
<li>1.4: 26/10/2008. Automatic parsing of embedding code pasted in the url field. Added the swfObject_FlashVersion and swfObject_ExpressInstall configuration options.</li> |
|
34 |
<li>1.5: 26/11/2008. Use by default a library hosted by Google, so no extra steps required to install. Added CDATA coments for the generated script.</li> |
|
35 |
<li>1.6: 06/08/2009. Updated the default linked library to <a href="http://code.google.com/p/swfobject/wiki/whats_new">SWFObject 2.2</a>.</li> |
|
36 |
</ol> |
|
37 |
<p><a href="http://martinezdelizarrondo.com/swfobject/">Get the latest version and/or updated info</a> </p> |
|
38 |
|
|
39 |
<h2>Installation</h2> |
|
40 |
<h3>1. Copying the files</h3> |
|
41 |
<p>Extract the contents of the zip in you plugins directory, so it ends up like |
|
42 |
this<br> |
|
43 |
<img src="installation.png" alt="Screenshot of installation" width="311" height="346" longdesc="#install"></p> |
|
44 |
<pre id="install"> |
|
45 |
editor\ |
|
46 |
... |
|
47 |
js\ |
|
48 |
lang\ |
|
49 |
plugins\ |
|
50 |
... |
|
51 |
swfobject |
|
52 |
fckplugin.js |
|
53 |
readme.html |
|
54 |
dialog\ |
|
55 |
docs\ |
|
56 |
images\ |
|
57 |
lang\ |
|
58 |
... |
|
59 |
skins\ |
|
60 |
</pre> |
|
61 |
<h3>2. Adding it to FCKeditor</h3> |
|
62 |
<p>Now add in your <em>fckconfig.js</em> or custom js configuration |
|
63 |
file the following line: |
|
64 |
<code>FCKConfig.Plugins.Add( 'swfobject', 'en,es') ;</code> |
|
65 |
</p> |
|
66 |
<h3>3. Adding it to the toolbarset</h3> |
|
67 |
<p>This plugin replaces the default flash dialog, just use the normal 'Flash' button. |
|
68 |
</p> |
|
69 |
<h3 id="configure">4. Configure the plugin</h3> |
|
70 |
<p>These are the possible config values:</p> |
|
71 |
<ul> |
|
72 |
<li id="swfObjectPath">FCKConfig.<strong>swfObjectPath</strong>: It's the path to the version of the SwfObject script<br> |
|
73 |
Since 1.5, if this entry is missing then it will default to use a <a href="http://code.google.com/p/swfobject/wiki/hosted_library">version hosted by Google</a>. If you want to use a script hosted in your server, then go to the <a href="http://code.google.com/p/swfobject/">SWFObject page</a> and download it, extract it in some place in your server, and then put the path to the swfobject.js file in this entry.<br> |
|
74 |
Note: if you leave an empty string (FCKConfig.swfObjectPath = "") then the plugin won't generate the code to include the SWFObject plugin, it's assumed that you have already included it in your page. |
|
75 |
</li> |
|
76 |
<li id="WrapperClass">FCKConfig.<strong>swfobject_WrapperClass</strong>: If this entry contains a non-empty value then a div |
|
77 |
will be generated with this class wrapping the flash object<br> |
|
78 |
Important: in the preview inside the editor, the class will be applied to an image, not a div!</li> |
|
79 |
<li id="FlashVersion">FCKConfig.<strong>swfobject_FlashVersion</strong>: It represents the version of the flash player that your movie |
|
80 |
was published for. If this entry doesn't exist it defaults to "7.0.0". </li> |
|
81 |
<li id="ExpressInstall">FCKConfig.<strong>swfObject_ExpressInstall</strong>: It can contain the path to a swf movie to activate the Express install feature. It's the parameter explained in the third point of <a href="http://code.google.com/p/swfobject/wiki/documentation#STEP_3:_Register_your_Flash_content_with_the_SWFObject_library_a">the SWFObject documentation</a></li> |
|
82 |
</ul> |
|
83 |
|
|
84 |
<p>All these values can be set in the <em>fckconfig.js</em> file, a custom js configuration |
|
85 |
file, or at the moment of the <a href="http://alfonsoml.blogspot.com/2008/02/adding-configuration-entries-when.html">creation of the FCKeditor instance using any |
|
86 |
language</a>.</p> |
|
87 |
<h3>5. Use it</h3> |
|
88 |
<p align="right">Now empty the cache of your browser and reload the editor, the new Flash dialog will be shown.</p> |
|
89 |
<p>Besides generating the code with SWFObject, the insertion dialog allows to set the allowscriptaccess, wmode and allowfullscreen Flash parameters, and the posibility to add any flashvars that you need.</p> |
|
90 |
<p>Since version 1.4, pasting embedding code generated by external sites as YouTube |
|
91 |
<code><object width="425" height="344"> |
|
92 |
<param name="movie" value="http://www.youtube.com/v/nj2hewPBQh0&hl=es&fs=1"></param> |
|
93 |
<param name="allowFullScreen" value="true"></param> |
|
94 |
<embed src="http://www.youtube.com/v/nj2hewPBQh0&hl=es&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed> |
|
95 |
</object> |
|
96 |
</code> does generate the proper code in FCKeditor</p> |
|
97 |
<h2>Final notes</h2> |
|
98 |
<p>If you find this plugin useful, consider making a donation so it can be further |
|
99 |
improved, any amount can help to keep the development running.</p> |
|
100 |
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> |
|
101 |
<input type="hidden" name="cmd" value="_s-xclick"> |
|
102 |
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"> |
|
103 |
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> |
|
104 |
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7----- |
|
105 |
"> |
|
106 |
</form> |
|
107 |
<p>If you need some special feature for this plugin, or if you need any other kind of plugin |
|
108 |
for FCKeditor then <a href="#contact">contact me</a> and we can discuss it</p> |
|
109 |
<h2>Disclaimers</h2> |
|
110 |
<p>FCKeditor is © FredCK.com</p> |
|
111 |
<p>The SWFObject is Copyright © 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis</p> |
|
112 |
</body> |
|
113 |
</html> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.html | ||
---|---|---|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
|
2 |
"http://www.w3.org/TR/html4/loose.dtd"> |
|
3 |
<html> |
|
4 |
<head> |
|
5 |
<title>googlemaps plugin index</title> |
|
6 |
<META http-equiv="refresh" content="0;URL=install.html"> |
|
7 |
</head> |
|
8 |
<body> |
|
9 |
<p>You should have been redirected <a href="install.html">to the documentation</a></p> |
|
10 |
</body> |
|
11 |
</html> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/styles.css | ||
---|---|---|
1 |
body { |
|
2 |
font-family: Arial, Helvetica, sans-serif; |
|
3 |
font-size: 90%; |
|
4 |
} |
|
5 |
h1 { |
|
6 |
text-align:center; |
|
7 |
font-size:180%; |
|
8 |
} |
|
9 |
h2 { |
|
10 |
border-bottom:2px solid #CCC; |
|
11 |
margin:1em 0 0.4em 0; |
|
12 |
} |
|
13 |
h3 { |
|
14 |
margin-bottom:0.4em; |
|
15 |
} |
|
16 |
p { |
|
17 |
margin:0 0 1em 1em; |
|
18 |
text-align:justify; |
|
19 |
} |
|
20 |
ol { |
|
21 |
margin:0 0 1.2em 1em; |
|
22 |
padding:0; |
|
23 |
list-style-type:none; |
|
24 |
} |
|
25 |
ol li { |
|
26 |
margin:0.2em 0; |
|
27 |
} |
|
28 |
pre, code { |
|
29 |
font-size:100%; |
|
30 |
font-family:"Courier New", Courier, mono; |
|
31 |
background-color: #CCCCCC; |
|
32 |
border:1px solid #999; |
|
33 |
padding:0.2em 1em; |
|
34 |
margin: 0.4em 0; |
|
35 |
display:block; |
|
36 |
white-space: pre; |
|
37 |
overflow: auto; |
|
38 |
} |
|
39 |
form { |
|
40 |
margin:0 0 0 1em; |
|
41 |
} |
|
42 |
span.key { |
|
43 |
color: #006600; |
|
44 |
} |
|
45 |
#install { |
|
46 |
display:none |
|
47 |
} |
|
48 |
#languages ul { |
|
49 |
display:inline; |
|
50 |
list-style-type:none; |
|
51 |
margin:0; |
|
52 |
padding:0; |
|
53 |
} |
|
54 |
#languages li { |
|
55 |
display:inline; |
|
56 |
margin:0; |
|
57 |
padding:0; |
|
58 |
vertical-align:bottom; |
|
59 |
} |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/docs/index.php | ||
---|---|---|
1 |
<?php |
|
2 |
|
|
3 |
// $Id: index.php 1161 2009-10-11 16:45:19Z Luisehahne $ |
|
4 |
|
|
5 |
/* |
|
6 |
|
|
7 |
Website Baker Project <http://www.websitebaker.org/> |
|
8 |
Copyright (C) 2004-2009, Ryan Djurovich |
|
9 |
|
|
10 |
Website Baker is free software; you can redistribute it and/or modify |
|
11 |
it under the terms of the GNU General Public License as published by |
|
12 |
the Free Software Foundation; either version 2 of the License, or |
|
13 |
(at your option) any later version. |
|
14 |
|
|
15 |
Website Baker is distributed in the hope that it will be useful, |
|
16 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
17 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
18 |
GNU General Public License for more details. |
|
19 |
|
|
20 |
You should have received a copy of the GNU General Public License |
|
21 |
along with Website Baker; if not, write to the Free Software |
|
22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
|
|
24 |
*/ |
|
25 |
|
|
26 |
header('Location: ../index.php'); |
|
27 |
|
|
28 |
?> |
branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/plugins/swfobject/fckplugin.js | ||
---|---|---|
1 |
/* |
|
2 |
* |
|
3 |
* File Name: fckplugin.js |
|
4 |
* Plugin to add flash files using SwfObject 2 |
|
5 |
* |
|
6 |
* File Authors: |
|
7 |
* Alfonso Martínez de Lizarrondo |
|
8 |
* |
|
9 |
* Developed for InControlSolutions |
|
10 |
* |
|
11 |
* Version: 1.5 |
|
12 |
*/ |
|
13 |
|
|
14 |
|
|
15 |
/** |
|
16 |
FCKCommentsProcessor |
|
17 |
--------------------------- |
|
18 |
It's run after a document has been loaded, it detects all the protected source elements |
|
19 |
|
|
20 |
In order to use it, you add your comment parser with |
|
21 |
FCKCommentsProcessor.AddParser( function ) |
|
22 |
*/ |
|
23 |
if (typeof FCKCommentsProcessor === 'undefined') |
|
24 |
{ |
|
25 |
var FCKCommentsProcessor = FCKDocumentProcessor.AppendNew() ; |
|
26 |
FCKCommentsProcessor.ProcessDocument = function( oDoc ) |
|
27 |
{ |
|
28 |
if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG ) |
|
29 |
return ; |
|
30 |
|
|
31 |
if ( !oDoc ) |
|
32 |
return ; |
|
33 |
|
|
34 |
//Find all the comments: <!--{PS..0}--> |
|
35 |
//try to choose the best approach according to the browser: |
|
36 |
if ( oDoc.evaluate ) |
|
37 |
this.findCommentsXPath( oDoc ); |
|
38 |
else |
|
39 |
{ |
|
40 |
if (oDoc.all) |
|
41 |
this.findCommentsIE( oDoc.body ) ; |
|
42 |
else |
|
43 |
this.findComments( oDoc.body ) ; |
|
44 |
} |
|
45 |
|
|
46 |
} |
|
47 |
|
|
48 |
FCKCommentsProcessor.findCommentsXPath = function(oDoc) { |
|
49 |
var nodesSnapshot = oDoc.evaluate('//body//comment()', oDoc.body, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); |
|
50 |
|
|
51 |
for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ ) |
|
52 |
{ |
|
53 |
this.parseComment( nodesSnapshot.snapshotItem(i) ) ; |
|
54 |
} |
|
55 |
} |
|
56 |
|
|
57 |
FCKCommentsProcessor.findCommentsIE = function(oNode) { |
|
58 |
var aComments = oNode.getElementsByTagName( '!' ); |
|
59 |
for(var i=aComments.length-1; i >=0 ; i--) |
|
60 |
{ |
|
61 |
var comment = aComments[i] ; |
|
62 |
if (comment.nodeType == 8 ) // oNode.COMMENT_NODE) |
|
63 |
this.parseComment( comment ) ; |
|
64 |
} |
|
65 |
} |
|
66 |
|
|
67 |
// Fallback function, iterate all the nodes and its children searching for comments. |
|
68 |
FCKCommentsProcessor.findComments = function( oNode ) |
|
69 |
{ |
|
70 |
if (oNode.nodeType == 8 ) // oNode.COMMENT_NODE) |
|
71 |
{ |
|
72 |
this.parseComment( oNode ) ; |
|
73 |
} |
|
74 |
else |
|
75 |
{ |
|
76 |
if (oNode.hasChildNodes()) |
|
77 |
{ |
|
78 |
var children = oNode.childNodes ; |
|
79 |
for (var i = children.length-1; i >=0 ; i--) |
|
80 |
this.findComments( children[ i ] ); |
|
81 |
} |
|
82 |
} |
|
83 |
} |
|
84 |
|
|
85 |
// We get a comment node |
|
86 |
// Check that it's one that we are interested on: |
|
87 |
FCKCommentsProcessor.parseComment = function( oNode ) |
|
88 |
{ |
|
89 |
var value = oNode.nodeValue ; |
|
90 |
|
|
91 |
// Difference between 2.4.3 and 2.5 |
|
92 |
var prefix = ( FCKConfig.ProtectedSource._CodeTag || 'PS\\.\\.' ) ; |
|
93 |
|
|
94 |
var regex = new RegExp( "\\{" + prefix + "(\\d+)\\}", "g" ) ; |
|
95 |
|
|
96 |
if ( regex.test( value ) ) |
|
97 |
{ |
|
98 |
var index = RegExp.$1 ; |
|
99 |
var content = FCKTempBin.Elements[ index ] ; |
|
100 |
|
|
101 |
// Now call the registered parser handlers. |
|
102 |
var oCalls = this.ParserHandlers ; |
|
103 |
if ( oCalls ) |
|
104 |
{ |
|
105 |
for ( var i = 0 ; i < oCalls.length ; i++ ) |
|
106 |
oCalls[ i ]( oNode, content, index ) ; |
|
107 |
|
|
108 |
} |
|
109 |
|
|
110 |
} |
|
111 |
} |
|
112 |
|
|
113 |
/** |
|
114 |
The users of the object will add a parser here, the callback function gets two parameters: |
|
115 |
oNode: it's the node in the editorDocument that holds the position of our content |
|
116 |
oContent: it's the node (removed from the document) that holds the original contents |
|
117 |
index: the reference in the FCKTempBin of our content |
|
118 |
*/ |
|
119 |
FCKCommentsProcessor.AddParser = function( handlerFunction ) |
|
120 |
{ |
|
121 |
if ( !this.ParserHandlers ) |
|
122 |
this.ParserHandlers = [ handlerFunction ] ; |
|
123 |
else |
|
124 |
{ |
|
125 |
// Check that the event handler isn't already registered with the same listener |
|
126 |
// It doesn't detect function pointers belonging to an object (at least in Gecko) |
|
127 |
if ( this.ParserHandlers.IndexOf( handlerFunction ) == -1 ) |
|
128 |
this.ParserHandlers.push( handlerFunction ) ; |
|
129 |
} |
|
130 |
} |
|
131 |
} |
|
132 |
/** |
|
133 |
END of FCKCommentsProcessor |
|
134 |
--------------------------- |
|
135 |
*/ |
|
136 |
|
|
137 |
/** |
|
138 |
@desc inject the function |
|
139 |
@author Aimingoo&Riceball |
|
140 |
*/ |
|
141 |
function Inject( aOrgFunc, aBeforeExec, aAtferExec ) { |
|
142 |
return function() { |
|
143 |
if (typeof(aBeforeExec) == 'function') arguments = aBeforeExec.apply(this, arguments) || arguments; |
|
144 |
//convert arguments object to array |
|
145 |
var Result, args = [].slice.call(arguments); |
|
146 |
args.push(aOrgFunc.apply(this, args)); |
|
147 |
if (typeof(aAtferExec) == 'function') Result = aAtferExec.apply(this, args); |
|
148 |
return (typeof(Result) != 'undefined')?Result:args.pop(); |
|
149 |
} ; |
|
150 |
} |
|
151 |
|
|
152 |
// If it hasn't been set, then use a version hosted by Google. |
|
153 |
if (typeof FCKConfig.swfObjectPath === 'undefined') |
|
154 |
FCKConfig.swfObjectPath = "http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" ; |
|
155 |
|
|
156 |
|
|
157 |
// Replace the default flash dialog: |
|
158 |
FCKCommands.LoadedCommands[ 'Flash' ] = new FCKDialogCommand( 'Flash', FCKLang.DlgFlashTitle, FCKPlugins.Items['swfobject'].Path + 'dialog/fck_flash.html', 450, 390 ) ; |
|
159 |
|
|
160 |
// Check if the comment it's one of our scripts: |
|
161 |
FCKCommentsProcessor.AddParser( function( oNode, oContent, index) |
|
162 |
{ |
|
163 |
if ( FCK.SwfobjectHandler.detectScript( oContent ) ) |
|
164 |
{ |
|
165 |
var oSWF = FCK.SwfobjectHandler.createNew() ; |
|
166 |
oSWF.parse( oContent ) ; |
|
167 |
oSWF.createHtmlElement( oNode, index ) ; |
|
168 |
} |
|
169 |
else |
|
170 |
{ |
|
171 |
if ( FCK.SwfobjectHandler.detectSwfObjectScript( oContent ) ) |
|
172 |
oNode.parentNode.removeChild( oNode ); |
|
173 |
} |
|
174 |
} ); |
|
175 |
|
|
176 |
// Context menu |
|
177 |
FCK.ContextMenu.RegisterListener( { |
|
178 |
AddItems : function( menu, tag, tagName ) |
|
179 |
{ |
|
180 |
// under what circumstances do we display this option |
Also available in: Unified diff
added missing swobject plugin in FCKeditor
bug fixed in flvplayer