source: trunk/admin/inc/FCKeditor/editor/dialog/fck_flash/fck_flash.js@ 2

Last change on this file since 2 was 2, checked in by root, 15 years ago

importo il progetto

File size: 7.6 KB
Line 
1/*
2 * FCKeditor - The text editor for internet
3 * Copyright (C) 2003-2006 Frederico Caldeira Knabben
4 *
5 * Licensed under the terms of the GNU Lesser General Public License:
6 * http://www.opensource.org/licenses/lgpl-license.php
7 *
8 * For further information visit:
9 * http://www.fckeditor.net/
10 *
11 * "Support Open Source software. What about a donation today?"
12 *
13 * File Name: fck_flash.js
14 * Scripts related to the Flash dialog window (see fck_flash.html).
15 *
16 * File Authors:
17 * Frederico Caldeira Knabben (fredck@fckeditor.net)
18 */
19
20var oEditor = window.parent.InnerDialogLoaded() ;
21var FCK = oEditor.FCK ;
22var FCKLang = oEditor.FCKLang ;
23var FCKConfig = oEditor.FCKConfig ;
24
25//#### Dialog Tabs
26
27// Set the dialog tabs.
28window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
29
30if ( FCKConfig.FlashUpload )
31 window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
32
33if ( !FCKConfig.FlashDlgHideAdvanced )
34 window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
35
36// Function called when a dialog tag is selected.
37function OnDialogTabChange( tabCode )
38{
39 ShowE('divInfo' , ( tabCode == 'Info' ) ) ;
40 ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
41 ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;
42}
43
44// Get the selected flash embed (if available).
45var oFakeImage = FCK.Selection.GetSelectedElement() ;
46var oEmbed ;
47
48if ( oFakeImage )
49{
50 if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )
51 oEmbed = FCK.GetRealElement( oFakeImage ) ;
52 else
53 oFakeImage = null ;
54}
55
56window.onload = function()
57{
58 // Translate the dialog box texts.
59 oEditor.FCKLanguageManager.TranslatePage(document) ;
60
61 // Load the selected element information (if any).
62 LoadSelection() ;
63
64 // Show/Hide the "Browse Server" button.
65 GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ;
66
67 // Set the actual uploader URL.
68 if ( FCKConfig.FlashUpload )
69 GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
70
71 window.parent.SetAutoSize( true ) ;
72
73 // Activate the "OK" button.
74 window.parent.SetOkButton( true ) ;
75}
76
77function LoadSelection()
78{
79 if ( ! oEmbed ) return ;
80
81 var sUrl = GetAttribute( oEmbed, 'src', '' ) ;
82
83 GetE('txtUrl').value = GetAttribute( oEmbed, 'src', '' ) ;
84 GetE('txtWidth').value = GetAttribute( oEmbed, 'width', '' ) ;
85 GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ;
86
87 // Get Advances Attributes
88 GetE('txtAttId').value = oEmbed.id ;
89 GetE('chkAutoPlay').checked = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;
90 GetE('chkLoop').checked = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;
91 GetE('chkMenu').checked = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;
92 GetE('cmbScale').value = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;
93
94 GetE('txtAttTitle').value = oEmbed.title ;
95
96 if ( oEditor.FCKBrowserInfo.IsIE )
97 {
98 GetE('txtAttClasses').value = oEmbed.getAttribute('className') || '' ;
99 GetE('txtAttStyle').value = oEmbed.style.cssText ;
100 }
101 else
102 {
103 GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ;
104 GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) ;
105 }
106
107 UpdatePreview() ;
108}
109
110//#### The OK button was hit.
111function Ok()
112{
113 if ( GetE('txtUrl').value.length == 0 )
114 {
115 window.parent.SetSelectedTab( 'Info' ) ;
116 GetE('txtUrl').focus() ;
117
118 alert( oEditor.FCKLang.DlgAlertUrl ) ;
119
120 return false ;
121 }
122
123 if ( !oEmbed )
124 {
125 oEmbed = FCK.EditorDocument.createElement( 'EMBED' ) ;
126 oFakeImage = null ;
127 }
128 UpdateEmbed( oEmbed ) ;
129
130 if ( !oFakeImage )
131 {
132 oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ;
133 oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;
134 oFakeImage = FCK.InsertElementAndGetIt( oFakeImage ) ;
135 }
136 else
137 oEditor.FCKUndo.SaveUndoStep() ;
138
139 oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;
140
141 return true ;
142}
143
144function UpdateEmbed( e )
145{
146 SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
147 SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;
148
149 e.src = GetE('txtUrl').value ;
150 SetAttribute( e, "width" , GetE('txtWidth').value ) ;
151 SetAttribute( e, "height", GetE('txtHeight').value ) ;
152
153 // Advances Attributes
154
155 SetAttribute( e, 'id' , GetE('txtAttId').value ) ;
156 SetAttribute( e, 'scale', GetE('cmbScale').value ) ;
157
158 SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
159 SetAttribute( e, 'loop', GetE('chkLoop').checked ? 'true' : 'false' ) ;
160 SetAttribute( e, 'menu', GetE('chkMenu').checked ? 'true' : 'false' ) ;
161
162 SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ;
163
164 if ( oEditor.FCKBrowserInfo.IsIE )
165 {
166 SetAttribute( e, 'className', GetE('txtAttClasses').value ) ;
167 e.style.cssText = GetE('txtAttStyle').value ;
168 }
169 else
170 {
171 SetAttribute( e, 'class', GetE('txtAttClasses').value ) ;
172 SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
173 }
174}
175
176var ePreview ;
177
178function SetPreviewElement( previewEl )
179{
180 ePreview = previewEl ;
181
182 if ( GetE('txtUrl').value.length > 0 )
183 UpdatePreview() ;
184}
185
186function UpdatePreview()
187{
188 if ( !ePreview )
189 return ;
190
191 while ( ePreview.firstChild )
192 ePreview.removeChild( ePreview.firstChild ) ;
193
194 if ( GetE('txtUrl').value.length == 0 )
195 ePreview.innerHTML = ' ' ;
196 else
197 {
198 var oDoc = ePreview.ownerDocument || ePreview.document ;
199 var e = oDoc.createElement( 'EMBED' ) ;
200
201 e.src = GetE('txtUrl').value ;
202 e.type = 'application/x-shockwave-flash' ;
203 e.width = '100%' ;
204 e.height = '100%' ;
205
206 ePreview.appendChild( e ) ;
207 }
208}
209
210// <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">
211
212function BrowseServer()
213{
214 OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ;
215}
216
217function SetUrl( url, width, height )
218{
219 GetE('txtUrl').value = url ;
220
221 if ( width )
222 GetE('txtWidth').value = width ;
223
224 if ( height )
225 GetE('txtHeight').value = height ;
226
227 UpdatePreview() ;
228
229 window.parent.SetSelectedTab( 'Info' ) ;
230}
231
232function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
233{
234 switch ( errorNumber )
235 {
236 case 0 : // No errors
237 alert( 'Your file has been successfully uploaded' ) ;
238 break ;
239 case 1 : // Custom error
240 alert( customMsg ) ;
241 return ;
242 case 101 : // Custom warning
243 alert( customMsg ) ;
244 break ;
245 case 201 :
246 alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
247 break ;
248 case 202 :
249 alert( 'Invalid file type' ) ;
250 return ;
251 case 203 :
252 alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
253 return ;
254 default :
255 alert( 'Error on file upload. Error number: ' + errorNumber ) ;
256 return ;
257 }
258
259 SetUrl( fileUrl ) ;
260 GetE('frmUpload').reset() ;
261}
262
263var oUploadAllowedExtRegex = new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ;
264var oUploadDeniedExtRegex = new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ;
265
266function CheckUpload()
267{
268 var sFile = GetE('txtUploadFile').value ;
269
270 if ( sFile.length == 0 )
271 {
272 alert( 'Please select a file to upload' ) ;
273 return false ;
274 }
275
276 if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
277 ( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
278 {
279 OnUploadCompleted( 202 ) ;
280 return false ;
281 }
282
283 return true ;
284}
Note: See TracBrowser for help on using the repository browser.