New file |
0,0 → 1,284 |
/* |
* FCKeditor - The text editor for internet |
* Copyright (C) 2003-2006 Frederico Caldeira Knabben |
* |
* Licensed under the terms of the GNU Lesser General Public License: |
* http://www.opensource.org/licenses/lgpl-license.php |
* |
* For further information visit: |
* http://www.fckeditor.net/ |
* |
* "Support Open Source software. What about a donation today?" |
* |
* File Name: fck_flash.js |
* Scripts related to the Flash dialog window (see fck_flash.html). |
* |
* File Authors: |
* Frederico Caldeira Knabben (fredck@fckeditor.net) |
*/ |
|
var oEditor = window.parent.InnerDialogLoaded() ; |
var FCK = oEditor.FCK ; |
var FCKLang = oEditor.FCKLang ; |
var FCKConfig = oEditor.FCKConfig ; |
|
//#### Dialog Tabs |
|
// Set the dialog tabs. |
window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ; |
|
if ( FCKConfig.FlashUpload ) |
window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ; |
|
if ( !FCKConfig.FlashDlgHideAdvanced ) |
window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ; |
|
// Function called when a dialog tag is selected. |
function OnDialogTabChange( tabCode ) |
{ |
ShowE('divInfo' , ( tabCode == 'Info' ) ) ; |
ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; |
ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ; |
} |
|
// Get the selected flash embed (if available). |
var oFakeImage = FCK.Selection.GetSelectedElement() ; |
var oEmbed ; |
|
if ( oFakeImage ) |
{ |
if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') ) |
oEmbed = FCK.GetRealElement( oFakeImage ) ; |
else |
oFakeImage = null ; |
} |
|
window.onload = function() |
{ |
// Translate the dialog box texts. |
oEditor.FCKLanguageManager.TranslatePage(document) ; |
|
// Load the selected element information (if any). |
LoadSelection() ; |
|
// Show/Hide the "Browse Server" button. |
GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ; |
|
// Set the actual uploader URL. |
if ( FCKConfig.FlashUpload ) |
GetE('frmUpload').action = FCKConfig.FlashUploadURL ; |
|
window.parent.SetAutoSize( true ) ; |
|
// Activate the "OK" button. |
window.parent.SetOkButton( true ) ; |
} |
|
function LoadSelection() |
{ |
if ( ! oEmbed ) return ; |
|
var sUrl = GetAttribute( oEmbed, 'src', '' ) ; |
|
GetE('txtUrl').value = GetAttribute( oEmbed, 'src', '' ) ; |
GetE('txtWidth').value = GetAttribute( oEmbed, 'width', '' ) ; |
GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ; |
|
// Get Advances Attributes |
GetE('txtAttId').value = oEmbed.id ; |
GetE('chkAutoPlay').checked = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ; |
GetE('chkLoop').checked = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ; |
GetE('chkMenu').checked = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ; |
GetE('cmbScale').value = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ; |
|
GetE('txtAttTitle').value = oEmbed.title ; |
|
if ( oEditor.FCKBrowserInfo.IsIE ) |
{ |
GetE('txtAttClasses').value = oEmbed.getAttribute('className') || '' ; |
GetE('txtAttStyle').value = oEmbed.style.cssText ; |
} |
else |
{ |
GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ; |
GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) ; |
} |
|
UpdatePreview() ; |
} |
|
//#### The OK button was hit. |
function Ok() |
{ |
if ( GetE('txtUrl').value.length == 0 ) |
{ |
window.parent.SetSelectedTab( 'Info' ) ; |
GetE('txtUrl').focus() ; |
|
alert( oEditor.FCKLang.DlgAlertUrl ) ; |
|
return false ; |
} |
|
if ( !oEmbed ) |
{ |
oEmbed = FCK.EditorDocument.createElement( 'EMBED' ) ; |
oFakeImage = null ; |
} |
UpdateEmbed( oEmbed ) ; |
|
if ( !oFakeImage ) |
{ |
oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ; |
oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ; |
oFakeImage = FCK.InsertElementAndGetIt( oFakeImage ) ; |
} |
else |
oEditor.FCKUndo.SaveUndoStep() ; |
|
oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ; |
|
return true ; |
} |
|
function UpdateEmbed( e ) |
{ |
SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ; |
SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ; |
|
e.src = GetE('txtUrl').value ; |
SetAttribute( e, "width" , GetE('txtWidth').value ) ; |
SetAttribute( e, "height", GetE('txtHeight').value ) ; |
|
// Advances Attributes |
|
SetAttribute( e, 'id' , GetE('txtAttId').value ) ; |
SetAttribute( e, 'scale', GetE('cmbScale').value ) ; |
|
SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ; |
SetAttribute( e, 'loop', GetE('chkLoop').checked ? 'true' : 'false' ) ; |
SetAttribute( e, 'menu', GetE('chkMenu').checked ? 'true' : 'false' ) ; |
|
SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ; |
|
if ( oEditor.FCKBrowserInfo.IsIE ) |
{ |
SetAttribute( e, 'className', GetE('txtAttClasses').value ) ; |
e.style.cssText = GetE('txtAttStyle').value ; |
} |
else |
{ |
SetAttribute( e, 'class', GetE('txtAttClasses').value ) ; |
SetAttribute( e, 'style', GetE('txtAttStyle').value ) ; |
} |
} |
|
var ePreview ; |
|
function SetPreviewElement( previewEl ) |
{ |
ePreview = previewEl ; |
|
if ( GetE('txtUrl').value.length > 0 ) |
UpdatePreview() ; |
} |
|
function UpdatePreview() |
{ |
if ( !ePreview ) |
return ; |
|
while ( ePreview.firstChild ) |
ePreview.removeChild( ePreview.firstChild ) ; |
|
if ( GetE('txtUrl').value.length == 0 ) |
ePreview.innerHTML = ' ' ; |
else |
{ |
var oDoc = ePreview.ownerDocument || ePreview.document ; |
var e = oDoc.createElement( 'EMBED' ) ; |
|
e.src = GetE('txtUrl').value ; |
e.type = 'application/x-shockwave-flash' ; |
e.width = '100%' ; |
e.height = '100%' ; |
|
ePreview.appendChild( e ) ; |
} |
} |
|
// <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"> |
|
function BrowseServer() |
{ |
OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ; |
} |
|
function SetUrl( url, width, height ) |
{ |
GetE('txtUrl').value = url ; |
|
if ( width ) |
GetE('txtWidth').value = width ; |
|
if ( height ) |
GetE('txtHeight').value = height ; |
|
UpdatePreview() ; |
|
window.parent.SetSelectedTab( 'Info' ) ; |
} |
|
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg ) |
{ |
switch ( errorNumber ) |
{ |
case 0 : // No errors |
alert( 'Your file has been successfully uploaded' ) ; |
break ; |
case 1 : // Custom error |
alert( customMsg ) ; |
return ; |
case 101 : // Custom warning |
alert( customMsg ) ; |
break ; |
case 201 : |
alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ; |
break ; |
case 202 : |
alert( 'Invalid file type' ) ; |
return ; |
case 203 : |
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ; |
return ; |
default : |
alert( 'Error on file upload. Error number: ' + errorNumber ) ; |
return ; |
} |
|
SetUrl( fileUrl ) ; |
GetE('frmUpload').reset() ; |
} |
|
var oUploadAllowedExtRegex = new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ; |
var oUploadDeniedExtRegex = new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ; |
|
function CheckUpload() |
{ |
var sFile = GetE('txtUploadFile').value ; |
|
if ( sFile.length == 0 ) |
{ |
alert( 'Please select a file to upload' ) ; |
return false ; |
} |
|
if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) || |
( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) ) |
{ |
OnUploadCompleted( 202 ) ; |
return false ; |
} |
|
return true ; |
} |