BVB Source Codes

Jie Yang v0.6.3 article system Show fck_image.js Source code

Return Download Jie Yang v0.6.3 article system: download fck_image.js Source code - Download Jie Yang v0.6.3 article system Source code - Type:.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 Image dialog window (see fck_image.html).
  22.  */
  23.  
  24. var dialog              = window.parent ;
  25. var oEditor             = dialog.InnerDialogLoaded() ;
  26. var FCK                 = oEditor.FCK ;
  27. var FCKLang             = oEditor.FCKLang ;
  28. var FCKConfig   = oEditor.FCKConfig ;
  29. var FCKDebug    = oEditor.FCKDebug ;
  30. var FCKTools    = oEditor.FCKTools ;
  31.  
  32. var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;
  33.  
  34. //#### Dialog Tabs
  35.  
  36. // Set the dialog tabs.
  37. dialog.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;
  38.  
  39. if ( !bImageButton && !FCKConfig.ImageDlgHideLink )
  40.         dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;
  41.  
  42. if ( FCKConfig.ImageUpload )
  43.         dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
  44.  
  45. if ( !FCKConfig.ImageDlgHideAdvanced )
  46.         dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
  47.  
  48. // Function called when a dialog tag is selected.
  49. function OnDialogTabChange( tabCode )
  50. {
  51.         ShowE('divInfo'         , ( tabCode == 'Info' ) ) ;
  52.         ShowE('divLink'         , ( tabCode == 'Link' ) ) ;
  53.         ShowE('divUpload'       , ( tabCode == 'Upload' ) ) ;
  54.         ShowE('divAdvanced'     , ( tabCode == 'Advanced' ) ) ;
  55. }
  56.  
  57. // Get the selected image (if available).
  58. var oImage = dialog.Selection.GetSelectedElement() ;
  59.  
  60. if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) )
  61.         oImage = null ;
  62.  
  63. // Get the active link.
  64. var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ;
  65.  
  66. var oImageOriginal ;
  67.  
  68. function UpdateOriginal( resetSize )
  69. {
  70.         if ( !eImgPreview )
  71.                 return ;
  72.  
  73.         if ( GetE('txtUrl').value.length == 0 )
  74.         {
  75.                 oImageOriginal = null ;
  76.                 return ;
  77.         }
  78.  
  79.         oImageOriginal = document.createElement( 'IMG' ) ;      // new Image() ;
  80.  
  81.         if ( resetSize )
  82.         {
  83.                 oImageOriginal.onload = function()
  84.                 {
  85.                         this.onload = null ;
  86.                         ResetSizes() ;
  87.                 }
  88.         }
  89.  
  90.         oImageOriginal.src = eImgPreview.src ;
  91. }
  92.  
  93. var bPreviewInitialized ;
  94.  
  95. window.onload = function()
  96. {
  97.         // Translate the dialog box texts.
  98.         oEditor.FCKLanguageManager.TranslatePage(document) ;
  99.  
  100.         GetE('btnLockSizes').title = FCKLang.DlgImgLockRatio ;
  101.         GetE('btnResetSize').title = FCKLang.DlgBtnResetSize ;
  102.  
  103.         // Load the selected element information (if any).
  104.         LoadSelection() ;
  105.  
  106.         // Show/Hide the "Browse Server" button.
  107.         GetE('tdBrowse').style.display                          = FCKConfig.ImageBrowser        ? '' : 'none' ;
  108.         GetE('divLnkBrowseServer').style.display        = FCKConfig.LinkBrowser         ? '' : 'none' ;
  109.  
  110.         UpdateOriginal() ;
  111.  
  112.         // Set the actual uploader URL.
  113.         if ( FCKConfig.ImageUpload )
  114.                 GetE('frmUpload').action = FCKConfig.ImageUploadURL ;
  115.  
  116.         dialog.SetAutoSize( true ) ;
  117.  
  118.         // Activate the "OK" button.
  119.         dialog.SetOkButton( true ) ;
  120.  
  121.         SelectField( 'txtUrl' ) ;
  122. }
  123.  
  124. function LoadSelection()
  125. {
  126.         if ( ! oImage ) return ;
  127.  
  128.         var sUrl = oImage.getAttribute( '_fcksavedurl' ) ;
  129.         if ( sUrl == null )
  130.                 sUrl = GetAttribute( oImage, 'src', '' ) ;
  131.  
  132.         GetE('txtUrl').value    = sUrl ;
  133.         GetE('txtAlt').value    = GetAttribute( oImage, 'alt', '' ) ;
  134.         GetE('txtVSpace').value = GetAttribute( oImage, 'vspace', '' ) ;
  135.         GetE('txtHSpace').value = GetAttribute( oImage, 'hspace', '' ) ;
  136.         GetE('txtBorder').value = GetAttribute( oImage, 'border', '' ) ;
  137.         GetE('cmbAlign').value  = GetAttribute( oImage, 'align', '' ) ;
  138.  
  139.         var iWidth, iHeight ;
  140.  
  141.         var regexSize = /^\s*(\d+)px\s*$/i ;
  142.  
  143.         if ( oImage.style.width )
  144.         {
  145.                 var aMatchW  = oImage.style.width.match( regexSize ) ;
  146.                 if ( aMatchW )
  147.                 {
  148.                         iWidth = aMatchW[1] ;
  149.                         oImage.style.width = '' ;
  150.                         SetAttribute( oImage, 'width' , iWidth ) ;
  151.                 }
  152.         }
  153.  
  154.         if ( oImage.style.height )
  155.         {
  156.                 var aMatchH  = oImage.style.height.match( regexSize ) ;
  157.                 if ( aMatchH )
  158.                 {
  159.                         iHeight = aMatchH[1] ;
  160.                         oImage.style.height = '' ;
  161.                         SetAttribute( oImage, 'height', iHeight ) ;
  162.                 }
  163.         }
  164.  
  165.         GetE('txtWidth').value  = iWidth ? iWidth : GetAttribute( oImage, "width", '' ) ;
  166.         GetE('txtHeight').value = iHeight ? iHeight : GetAttribute( oImage, "height", '' ) ;
  167.  
  168.         // Get Advances Attributes
  169.         GetE('txtAttId').value                  = oImage.id ;
  170.         GetE('cmbAttLangDir').value             = oImage.dir ;
  171.         GetE('txtAttLangCode').value    = oImage.lang ;
  172.         GetE('txtAttTitle').value               = oImage.title ;
  173.         GetE('txtLongDesc').value               = oImage.longDesc ;
  174.  
  175.         if ( oEditor.FCKBrowserInfo.IsIE )
  176.         {
  177.                 GetE('txtAttClasses').value = oImage.className || '' ;
  178.                 GetE('txtAttStyle').value = oImage.style.cssText ;
  179.         }
  180.         else
  181.         {
  182.                 GetE('txtAttClasses').value = oImage.getAttribute('class',2) || '' ;
  183.                 GetE('txtAttStyle').value = oImage.getAttribute('style',2) ;
  184.         }
  185.  
  186.         if ( oLink )
  187.         {
  188.                 var sLinkUrl = oLink.getAttribute( '_fcksavedurl' ) ;
  189.                 if ( sLinkUrl == null )
  190.                         sLinkUrl = oLink.getAttribute('href',2) ;
  191.  
  192.                 GetE('txtLnkUrl').value         = sLinkUrl ;
  193.                 GetE('cmbLnkTarget').value      = oLink.target ;
  194.         }
  195.  
  196.         UpdatePreview() ;
  197. }
  198.  
  199. //#### The OK button was hit.
  200. function Ok()
  201. {
  202.         if ( GetE('txtUrl').value.length == 0 )
  203.         {
  204.                 dialog.SetSelectedTab( 'Info' ) ;
  205.                 GetE('txtUrl').focus() ;
  206.  
  207.                 alert( FCKLang.DlgImgAlertUrl ) ;
  208.  
  209.                 return false ;
  210.         }
  211.  
  212.         var bHasImage = ( oImage != null ) ;
  213.  
  214.         if ( bHasImage && bImageButton && oImage.tagName == 'IMG' )
  215.         {
  216.                 if ( confirm( 'Do you want to transform the selected image on a image button?' ) )
  217.                         oImage = null ;
  218.         }
  219.         else if ( bHasImage && !bImageButton && oImage.tagName == 'INPUT' )
  220.         {
  221.                 if ( confirm( 'Do you want to transform the selected image button on a simple image?' ) )
  222.                         oImage = null ;
  223.         }
  224.  
  225.         oEditor.FCKUndo.SaveUndoStep() ;
  226.         if ( !bHasImage )
  227.         {
  228.                 if ( bImageButton )
  229.                 {
  230.                         oImage = FCK.EditorDocument.createElement( 'input' ) ;
  231.                         oImage.type = 'image' ;
  232.                         oImage = FCK.InsertElement( oImage ) ;
  233.                 }
  234.                 else
  235.                         oImage = FCK.InsertElement( 'img' ) ;
  236.         }
  237.  
  238.         UpdateImage( oImage ) ;
  239.  
  240.         var sLnkUrl = GetE('txtLnkUrl').value.Trim() ;
  241.  
  242.         if ( sLnkUrl.length == 0 )
  243.         {
  244.                 if ( oLink )
  245.                         FCK.ExecuteNamedCommand( 'Unlink' ) ;
  246.         }
  247.         else
  248.         {
  249.                 if ( oLink )    // Modifying an existent link.
  250.                         oLink.href = sLnkUrl ;
  251.                 else                    // Creating a new link.
  252.                 {
  253.                         if ( !bHasImage )
  254.                                 oEditor.FCKSelection.SelectNode( oImage ) ;
  255.  
  256.                         oLink = oEditor.FCK.CreateLink( sLnkUrl )[0] ;
  257.  
  258.                         if ( !bHasImage )
  259.                         {
  260.                                 oEditor.FCKSelection.SelectNode( oLink ) ;
  261.                                 oEditor.FCKSelection.Collapse( false ) ;
  262.                         }
  263.                 }
  264.  
  265.                 SetAttribute( oLink, '_fcksavedurl', sLnkUrl ) ;
  266.                 SetAttribute( oLink, 'target', GetE('cmbLnkTarget').value ) ;
  267.         }
  268.  
  269.         return true ;
  270. }
  271.  
  272. function UpdateImage( e, skipId )
  273. {
  274.         e.src = GetE('txtUrl').value ;
  275.         SetAttribute( e, "_fcksavedurl", GetE('txtUrl').value ) ;
  276.         SetAttribute( e, "alt"   , GetE('txtAlt').value ) ;
  277.         SetAttribute( e, "width" , GetE('txtWidth').value ) ;
  278.         SetAttribute( e, "height", GetE('txtHeight').value ) ;
  279.         SetAttribute( e, "vspace", GetE('txtVSpace').value ) ;
  280.         SetAttribute( e, "hspace", GetE('txtHSpace').value ) ;
  281.         SetAttribute( e, "border", GetE('txtBorder').value ) ;
  282.         SetAttribute( e, "align" , GetE('cmbAlign').value ) ;
  283.  
  284.         // Advances Attributes
  285.  
  286.         if ( ! skipId )
  287.                 SetAttribute( e, 'id', GetE('txtAttId').value ) ;
  288.  
  289.         SetAttribute( e, 'dir'          , GetE('cmbAttLangDir').value ) ;
  290.         SetAttribute( e, 'lang'         , GetE('txtAttLangCode').value ) ;
  291.         SetAttribute( e, 'title'        , GetE('txtAttTitle').value ) ;
  292.         SetAttribute( e, 'longDesc'     , GetE('txtLongDesc').value ) ;
  293.  
  294.         if ( oEditor.FCKBrowserInfo.IsIE )
  295.         {
  296.                 e.className = GetE('txtAttClasses').value ;
  297.                 e.style.cssText = GetE('txtAttStyle').value ;
  298.         }
  299.         else
  300.         {
  301.                 SetAttribute( e, 'class'        , GetE('txtAttClasses').value ) ;
  302.                 SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
  303.         }
  304. }
  305.  
  306. var eImgPreview ;
  307. var eImgPreviewLink ;
  308.  
  309. function SetPreviewElements( imageElement, linkElement )
  310. {
  311.         eImgPreview = imageElement ;
  312.         eImgPreviewLink = linkElement ;
  313.  
  314.         UpdatePreview() ;
  315.         UpdateOriginal() ;
  316.  
  317.         bPreviewInitialized = true ;
  318. }
  319.  
  320. function UpdatePreview()
  321. {
  322.         if ( !eImgPreview || !eImgPreviewLink )
  323.                 return ;
  324.  
  325.         if ( GetE('txtUrl').value.length == 0 )
  326.                 eImgPreviewLink.style.display = 'none' ;
  327.         else
  328.         {
  329.                 UpdateImage( eImgPreview, true ) ;
  330.  
  331.                 if ( GetE('txtLnkUrl').value.Trim().length > 0 )
  332.                         eImgPreviewLink.href = 'javascript:void(null);' ;
  333.                 else
  334.                         SetAttribute( eImgPreviewLink, 'href', '' ) ;
  335.  
  336.                 eImgPreviewLink.style.display = '' ;
  337.         }
  338. }
  339.  
  340. var bLockRatio = true ;
  341.  
  342. function SwitchLock( lockButton )
  343. {
  344.         bLockRatio = !bLockRatio ;
  345.         lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ;
  346.         lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ;
  347.  
  348.         if ( bLockRatio )
  349.         {
  350.                 if ( GetE('txtWidth').value.length > 0 )
  351.                         OnSizeChanged( 'Width', GetE('txtWidth').value ) ;
  352.                 else
  353.                         OnSizeChanged( 'Height', GetE('txtHeight').value ) ;
  354.         }
  355. }
  356.  
  357. // Fired when the width or height input texts change
  358. function OnSizeChanged( dimension, value )
  359. {
  360.         // Verifies if the aspect ration has to be maintained
  361.         if ( oImageOriginal && bLockRatio )
  362.         {
  363.                 var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ;
  364.  
  365.                 if ( value.length == 0 || isNaN( value ) )
  366.                 {
  367.                         e.value = '' ;
  368.                         return ;
  369.                 }
  370.  
  371.                 if ( dimension == 'Width' )
  372.                         value = value == 0 ? 0 : Math.round( oImageOriginal.height * ( value  / oImageOriginal.width ) ) ;
  373.                 else
  374.                         value = value == 0 ? 0 : Math.round( oImageOriginal.width  * ( value / oImageOriginal.height ) ) ;
  375.  
  376.                 if ( !isNaN( value ) )
  377.                         e.value = value ;
  378.         }
  379.  
  380.         UpdatePreview() ;
  381. }
  382.  
  383. // Fired when the Reset Size button is clicked
  384. function ResetSizes()
  385. {
  386.         if ( ! oImageOriginal ) return ;
  387.         if ( oEditor.FCKBrowserInfo.IsGecko && !oImageOriginal.complete )
  388.         {
  389.                 setTimeout( ResetSizes, 50 ) ;
  390.                 return ;
  391.         }
  392.  
  393.         GetE('txtWidth').value  = oImageOriginal.width ;
  394.         GetE('txtHeight').value = oImageOriginal.height ;
  395.  
  396.         UpdatePreview() ;
  397. }
  398.  
  399. function BrowseServer()
  400. {
  401.         OpenServerBrowser(
  402.                 'Image',
  403.                 FCKConfig.ImageBrowserURL,
  404.                 FCKConfig.ImageBrowserWindowWidth,
  405.                 FCKConfig.ImageBrowserWindowHeight ) ;
  406. }
  407.  
  408. function LnkBrowseServer()
  409. {
  410.         OpenServerBrowser(
  411.                 'Link',
  412.                 FCKConfig.LinkBrowserURL,
  413.                 FCKConfig.LinkBrowserWindowWidth,
  414.                 FCKConfig.LinkBrowserWindowHeight ) ;
  415. }
  416.  
  417. function OpenServerBrowser( type, url, width, height )
  418. {
  419.         sActualBrowser = type ;
  420.         OpenFileBrowser( url, width, height ) ;
  421. }
  422.  
  423. var sActualBrowser ;
  424.  
  425. function SetUrl( url, width, height, alt )
  426. {
  427.         if ( sActualBrowser == 'Link' )
  428.         {
  429.                 GetE('txtLnkUrl').value = url ;
  430.                 UpdatePreview() ;
  431.         }
  432.         else
  433.         {
  434.                 GetE('txtUrl').value = url ;
  435.                 GetE('txtWidth').value = width ? width : '' ;
  436.                 GetE('txtHeight').value = height ? height : '' ;
  437.  
  438.                 if ( alt )
  439.                         GetE('txtAlt').value = alt;
  440.  
  441.                 UpdatePreview() ;
  442.                 UpdateOriginal( true ) ;
  443.         }
  444.  
  445.         dialog.SetSelectedTab( 'Info' ) ;
  446. }
  447.  
  448. function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
  449. {
  450.         switch ( errorNumber )
  451.         {
  452.                 case 0 :        // No errors
  453.                         alert( 'Your file has been successfully uploaded' ) ;
  454.                         break ;
  455.                 case 1 :        // Custom error
  456.                         alert( customMsg ) ;
  457.                         return ;
  458.                 case 101 :      // Custom warning
  459.                         alert( customMsg ) ;
  460.                         break ;
  461.                 case 201 :
  462.                         alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
  463.                         break ;
  464.                 case 202 :
  465.                         alert( 'Invalid file type' ) ;
  466.                         return ;
  467.                 case 203 :
  468.                         alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
  469.                         return ;
  470.                 case 500 :
  471.                         alert( 'The connector is disabled' ) ;
  472.                         break ;
  473.                 default :
  474.                         alert( 'Error on file upload. Error number: ' + errorNumber ) ;
  475.                         return ;
  476.         }
  477.  
  478.         sActualBrowser = '' ;
  479.         SetUrl( fileUrl ) ;
  480.         GetE('frmUpload').reset() ;
  481. }
  482.  
  483. var oUploadAllowedExtRegex      = new RegExp( FCKConfig.ImageUploadAllowedExtensions, 'i' ) ;
  484. var oUploadDeniedExtRegex       = new RegExp( FCKConfig.ImageUploadDeniedExtensions, 'i' ) ;
  485.  
  486. function CheckUpload()
  487. {
  488.         var sFile = GetE('txtUploadFile').value ;
  489.  
  490.         if ( sFile.length == 0 )
  491.         {
  492.                 alert( 'Please select a file to upload' ) ;
  493.                 return false ;
  494.         }
  495.  
  496.         if ( ( FCKConfig.ImageUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
  497.                 ( FCKConfig.ImageUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
  498.         {
  499.                 OnUploadCompleted( 202 ) ;
  500.                 return false ;
  501.         }
  502.  
  503.         return true ;
  504. }
  505.  
downloadfck_image.js Source code - Download Jie Yang v0.6.3 article system Source code
Related Source Codes/Software:
Jilin classification information release system v5.0 trial version - A ready-made classifieds site publishing system, h... 2016-09-21
Linyi CMS v6.5 market classification information - A. supply and demand information function: informa... 2016-09-21
Tesco discount net SQL version - And presentations, faster. 2016-09-21
- electronic enterprise website management system In a fully functional version - Super suitable for enterprise agents build a corpo... 2016-09-21
Rio mesh network hard disk system v3.0 - System functions: 1, increase the progress of Asp... 2016-09-21
Classified information network business in suzhou - Overall module: classification of supply and deman... 2016-09-21
NPOINT virtual host v1.7.0 formal version management system - The system main function is introduced 2016-09-21
IDC sales web site - Beautiful IDC sales web site source code 2016-09-21
Oo 126 CMS movie site system - This procedure ASP + ACC/ASP + SQL, using new kern... 2016-09-21
Pcook CMS bubble guest v3.0 SDCMS version - Developed by Asp+Access, and meet the needs of sma... 2016-09-21
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top