Revision 1202
Added by Luisehahne almost 16 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-----MIIH2QYJKoZIhvcNAQcEoIIHyjCCB8YCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYAbYIYvNE50oNSFj8nHIeZ0/T5OzQfY8n+5fliwYQtSYuvHnix6+DAVVKVuRmpV4EnbzXNssyi+sdCZb+Sn7nBH7+KWP5+4L4NMIcA7OkXsoPz6qV/nBwUBnovch1hU7sqREOZJAUc42/SzvEQ5Hn+aMuGUVeLlp8BLlif2wmPkhDELMAkGBSsOAwIaBQAwggFVBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECI9Erh51StqNgIIBMBptZf5Yd10wgcMUGRODhBxYbwKlGL8FUm5S+AftDhUnXUK6IzYorscKgaxI0ks1k+KnIO9QH7L9WwlQjSiDWXtcMjEkY7qMc99MpForo2gobt7U3OK3u00vNUm9krXwLN7S56hpvn9iyXuMi5V+4FbYe8pjn1OA/+tA7wOTgyGDhthQbLiQRQq9zWXiclYUjuhdMdeNfDHbpjeCiIoWb8AasDokSjgM8Xl0ls3nPEH4haiVTJ+uo2D28GfbDnjohaUq1A/ykweP3cBRMqYuXe6aqbciDA6NqRzrHQ7IjaXAMnLaGkV+1PjNWJi/TEAWeHD3p/JP1lAOX3vXW0tDQc0ylcJuy4khtoLjxg9/ZHFzSPfTh0ajUL1IzDremTfetBUelmiVsgZvycuWpIyUzLGgggOHMIIDgzCCAuygAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wHhcNMDQwMjEzMTAxMzE1WhcNMzUwMjEzMTAxMzE1WjCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMFHTt38RMxLXJyO2SmS+Ndl72T7oKJ4u4uw+6awntALWh03PewmIJuzbALScsTS4sZoS1fKciBGoh11gIfHzylvkdNe/hJl66/RGqrj5rFb08sAABNTzDTiqqNpJeBsYs/c2aiGozptX2RlnBktH+SUNpAajW724Nv2Wvhif6sFAgMBAAGjge4wgeswHQYDVR0OBBYEFJaffLvGbxe9WT9S1wob7BDWZJRrMIG7BgNVHSMEgbMwgbCAFJaffLvGbxe9WT9S1wob7BDWZJRroYGUpIGRMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAIFfOlaagFrl71+jq6OKidbWFSE+Q4FqROvdgIONth+8kSK//Y/4ihuE4Ymvzn5ceE3S/iBSQQMjyvb+s2TWbQYDwcp129OPIbD9epdr4tJOUNiSojw7BHwYRiPh58S1xGlFgHFXwrEBb3dgNbMUa+u4qectsMAXpVHnD9wIyfmHMYIBmjCCAZYCAQEwgZQwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tAgEAMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNzA4MzEyMDU2NDhaMCMGCSqGSIb3DQEJBDEWBBQjaqRi8z31g3jdLrk+d0klj24zkjANBgkqhkiG9w0BAQEFAASBgFDK8nFr91urBOkipQBqjhhXY/tTNSVhFV0GsJSMQ3zdsgyMcZP5b4WohD5NLoPCibKL7nihgPd9AFCVyw6fLOg82F1MojGS2Gu6c6bGD2L827VCyg1WRm14svHTEwSnprvxBEbi91cBrQcNP5MZFDOuoucZg9uPGr/S8xzp0+Af-----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