Project

General

Profile

« Previous | Next » 

Revision 1202

Added by Dietmar over 14 years ago

added missing swobject plugin in FCKeditor
bug fixed in flvplayer

View differences:

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">&nbsp; <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>&nbsp;</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>&nbsp;&nbsp;&nbsp; &nbsp;
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>&nbsp;&nbsp;</td>
129
								<td><input id="chkLoop" type="checkbox" checked></td>
130
								<td><label for="chkLoop" nowrap fckLang="DlgFlashChkLoop">Loop</label>&nbsp;&nbsp;</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
						&nbsp;&nbsp;&nbsp;
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
			&nbsp;
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>&nbsp;&nbsp;</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>&nbsp;&nbsp;</td>
176
					<td vAlign="top" nowrap width="50%" for="txtAttTitle">&nbsp;<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 = '&nbsp;' ;
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 ) : '&nbsp;' ;
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, '&amp;' ) ;
481
	text = text.replace( /</g, '&lt;' ) ;
482
	text = text.replace( />/g, '&gt;' ) ;
483

  
484
	return text ;
485
}
486

  
487

  
488
function HTMLDecode( text )
489
{
490
	if ( !text )
491
		return '' ;
492

  
493
	text = text.replace( /&gt;/g, '>' ) ;
494
	text = text.replace( /&lt;/g, '<' ) ;
495
	text = text.replace( /&amp;/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 &lt;embed&gt;) with <a href="http://code.google.com/p/swfobject/">SWFObject 2</a> (with the dynamic publishing method, &lt;script&gt;)</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&iacute;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>&lt;object width="425" height="344"&gt;
92
&lt;param name="movie" value="http://www.youtube.com/v/nj2hewPBQh0&hl=es&fs=1"&gt;&lt;/param&gt;
93
&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;
94
&lt;embed src="http://www.youtube.com/v/nj2hewPBQh0&hl=es&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;
95
&lt;/object&gt;
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 &copy; FredCK.com</p>
111
<p>The SWFObject is Copyright &copy; 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
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff