fck_flash.js
上传用户:ah_jiwei
上传日期:2022-07-24
资源大小:54044k
文件大小:8k
源码类别:

数据库编程

开发平台:

Visual C++

  1. /*
  2.  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
  3.  * Copyright (C) 2003-2007 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. var oEditor = window.parent.InnerDialogLoaded() ;
  24. var FCK = oEditor.FCK ;
  25. var FCKLang = oEditor.FCKLang ;
  26. var FCKConfig = oEditor.FCKConfig ;
  27. //#### Dialog Tabs
  28. // Set the dialog tabs.
  29. window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
  30. if ( FCKConfig.FlashUpload )
  31. window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
  32. if ( !FCKConfig.FlashDlgHideAdvanced )
  33. window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
  34. // Function called when a dialog tag is selected.
  35. function OnDialogTabChange( tabCode )
  36. {
  37. ShowE('divInfo' , ( tabCode == 'Info' ) ) ;
  38. ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
  39. ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;
  40. }
  41. // Get the selected flash embed (if available).
  42. var oFakeImage = FCK.Selection.GetSelectedElement() ;
  43. var oEmbed ;
  44. if ( oFakeImage )
  45. {
  46. if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )
  47. oEmbed = FCK.GetRealElement( oFakeImage ) ;
  48. else
  49. oFakeImage = null ;
  50. }
  51. window.onload = function()
  52. {
  53. // Translate the dialog box texts.
  54. oEditor.FCKLanguageManager.TranslatePage(document) ;
  55. // Load the selected element information (if any).
  56. LoadSelection() ;
  57. // Show/Hide the "Browse Server" button.
  58. GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ;
  59. // Set the actual uploader URL.
  60. if ( FCKConfig.FlashUpload )
  61. GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
  62. window.parent.SetAutoSize( true ) ;
  63. // Activate the "OK" button.
  64. window.parent.SetOkButton( true ) ;
  65. }
  66. function LoadSelection()
  67. {
  68. if ( ! oEmbed ) return ;
  69. GetE('txtUrl').value    = GetAttribute( oEmbed, 'src', '' ) ;
  70. GetE('txtWidth').value  = GetAttribute( oEmbed, 'width', '' ) ;
  71. GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ;
  72. // Get Advances Attributes
  73. GetE('txtAttId').value = oEmbed.id ;
  74. GetE('chkAutoPlay').checked = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;
  75. GetE('chkLoop').checked = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;
  76. GetE('chkMenu').checked = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;
  77. GetE('cmbScale').value = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;
  78. GetE('txtAttTitle').value = oEmbed.title ;
  79. if ( oEditor.FCKBrowserInfo.IsIE )
  80. {
  81. GetE('txtAttClasses').value = oEmbed.getAttribute('className') || '' ;
  82. GetE('txtAttStyle').value = oEmbed.style.cssText ;
  83. }
  84. else
  85. {
  86. GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ;
  87. GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) || '' ;
  88. }
  89. UpdatePreview() ;
  90. }
  91. //#### The OK button was hit.
  92. function Ok()
  93. {
  94. if ( GetE('txtUrl').value.length == 0 )
  95. {
  96. window.parent.SetSelectedTab( 'Info' ) ;
  97. GetE('txtUrl').focus() ;
  98. alert( oEditor.FCKLang.DlgAlertUrl ) ;
  99. return false ;
  100. }
  101. oEditor.FCKUndo.SaveUndoStep() ;
  102. if ( !oEmbed )
  103. {
  104. oEmbed = FCK.EditorDocument.createElement( 'EMBED' ) ;
  105. oFakeImage  = null ;
  106. }
  107. UpdateEmbed( oEmbed ) ;
  108. if ( !oFakeImage )
  109. {
  110. oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ;
  111. oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;
  112. oFakeImage = FCK.InsertElement( oFakeImage ) ;
  113. }
  114. oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;
  115. return true ;
  116. }
  117. function UpdateEmbed( e )
  118. {
  119. SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
  120. SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;
  121. SetAttribute( e, 'src', GetE('txtUrl').value ) ;
  122. SetAttribute( e, "width" , GetE('txtWidth').value ) ;
  123. SetAttribute( e, "height", GetE('txtHeight').value ) ;
  124. // Advances Attributes
  125. SetAttribute( e, 'id' , GetE('txtAttId').value ) ;
  126. SetAttribute( e, 'scale', GetE('cmbScale').value ) ;
  127. SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;
  128. SetAttribute( e, 'loop', GetE('chkLoop').checked ? 'true' : 'false' ) ;
  129. SetAttribute( e, 'menu', GetE('chkMenu').checked ? 'true' : 'false' ) ;
  130. SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ;
  131. if ( oEditor.FCKBrowserInfo.IsIE )
  132. {
  133. SetAttribute( e, 'className', GetE('txtAttClasses').value ) ;
  134. e.style.cssText = GetE('txtAttStyle').value ;
  135. }
  136. else
  137. {
  138. SetAttribute( e, 'class', GetE('txtAttClasses').value ) ;
  139. SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
  140. }
  141. }
  142. var ePreview ;
  143. function SetPreviewElement( previewEl )
  144. {
  145. ePreview = previewEl ;
  146. if ( GetE('txtUrl').value.length > 0 )
  147. UpdatePreview() ;
  148. }
  149. function UpdatePreview()
  150. {
  151. if ( !ePreview )
  152. return ;
  153. while ( ePreview.firstChild )
  154. ePreview.removeChild( ePreview.firstChild ) ;
  155. if ( GetE('txtUrl').value.length == 0 )
  156. ePreview.innerHTML = ' ' ;
  157. else
  158. {
  159. var oDoc = ePreview.ownerDocument || ePreview.document ;
  160. var e = oDoc.createElement( 'EMBED' ) ;
  161. SetAttribute( e, 'src', GetE('txtUrl').value ) ;
  162. SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
  163. SetAttribute( e, 'width', '100%' ) ;
  164. SetAttribute( e, 'height', '100%' ) ;
  165. ePreview.appendChild( e ) ;
  166. }
  167. }
  168. // <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">
  169. function BrowseServer()
  170. {
  171. OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ;
  172. }
  173. function SetUrl( url, width, height )
  174. {
  175. GetE('txtUrl').value = url ;
  176. if ( width )
  177. GetE('txtWidth').value = width ;
  178. if ( height )
  179. GetE('txtHeight').value = height ;
  180. UpdatePreview() ;
  181. window.parent.SetSelectedTab( 'Info' ) ;
  182. }
  183. function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
  184. {
  185. switch ( errorNumber )
  186. {
  187. case 0 : // No errors
  188. alert( 'Your file has been successfully uploaded' ) ;
  189. break ;
  190. case 1 : // Custom error
  191. alert( customMsg ) ;
  192. return ;
  193. case 101 : // Custom warning
  194. alert( customMsg ) ;
  195. break ;
  196. case 201 :
  197. alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
  198. break ;
  199. case 202 :
  200. alert( 'Invalid file type' ) ;
  201. return ;
  202. case 203 :
  203. alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
  204. return ;
  205. default :
  206. alert( 'Error on file upload. Error number: ' + errorNumber ) ;
  207. return ;
  208. }
  209. SetUrl( fileUrl ) ;
  210. GetE('frmUpload').reset() ;
  211. }
  212. var oUploadAllowedExtRegex = new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ;
  213. var oUploadDeniedExtRegex = new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ;
  214. function CheckUpload()
  215. {
  216. var sFile = GetE('txtUploadFile').value ;
  217. if ( sFile.length == 0 )
  218. {
  219. alert( 'Please select a file to upload' ) ;
  220. return false ;
  221. }
  222. if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
  223. ( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
  224. {
  225. OnUploadCompleted( 202 ) ;
  226. return false ;
  227. }
  228. return true ;
  229. }