403Webshell
Server IP : 38.190.208.107  /  Your IP : 216.73.217.46
Web Server : nginx/1.28.1
System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64
User : root ( 0)
PHP Version : 8.2.28
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/wp.3/wp-content/plugins/woocommerce/assets/js/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/wp.3/wp-content/plugins/woocommerce/assets/js/admin/wc-shipping-providers.js
/* global shippingProvidersLocalizeScript, ajaxurl */
( function( $, data, wp, ajaxurl ) {
	$( function() {
		if (
			! document.getElementById( 'tmpl-wc-shipping-provider-row' ) ||
			! document.getElementById( 'tmpl-wc-shipping-provider-row-blank' )
		) {
			return;
		}

		var $tbody          = $( '.wc-shipping-provider-rows' ),
			$row_template   = wp.template( 'wc-shipping-provider-row' ),
			$blank_template = wp.template( 'wc-shipping-provider-row-blank' ),

			// Backbone model
			ShippingProvider       = Backbone.Model.extend({
				save: function( changes ) {
					var self = this;
					$.ajax({
						url: ajaxurl + ( ajaxurl.indexOf( '?' ) > 0 ? '&' : '?' ) + 'action=woocommerce_shipping_providers_save_changes',
						type: 'POST',
						data: {
							wc_shipping_providers_nonce : data.wc_shipping_providers_nonce,
							changes: changes,
						},
						dataType: 'json'
					}).done( function( response ) {
						if ( response.success ) {
							if ( response.data.error ) {
								window.alert( response.data.error );
							}
							shippingProvider.set( 'providers', response.data.shipping_providers );
							shippingProvider.trigger( 'saved:providers' );
						} else if ( response.data ) {
							window.alert( response.data );
						} else {
							window.alert( data.strings.save_failed );
						}
					}).fail( function() {
						window.alert( data.strings.save_failed );
					}).always( function() {
						shippingProviderView.unblock();
					});
				}
			} ),

			// Backbone view
			ShippingProviderView = Backbone.View.extend({
				rowTemplate: $row_template,
				initialize: function() {
					this.listenTo( this.model, 'saved:providers', this.render );
					$( document.body ).on( 'click', '.wc-shipping-provider-add-new', { view: this }, this.configureNewShippingProvider );
					$( document.body ).on( 'wc_backbone_modal_response', { view: this }, this.onConfigureShippingProviderSubmitted );
					$( document.body ).on( 'wc_backbone_modal_loaded', { view: this }, this.onLoadBackboneModal );
					$( document.body ).on( 'wc_backbone_modal_validation', this.validateFormArguments );
				},
				block: function() {
					$( this.el ).block({
						message: null,
						overlayCSS: {
							background: '#fff',
							opacity: 0.6
						}
					});
				},
				unblock: function() {
					$( this.el ).unblock();
				},
				render: function() {
					var providers = _.indexBy( this.model.get( 'providers' ), 'term_id' ),
						view      = this;

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

					if ( _.size( providers ) ) {
						providers = _.sortBy( providers, function( provider ) {
							return provider.name;
						} );

						$.each( providers, 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 + '"]');

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

					$tr.find( '.view' ).show();
					$tr.find( '.edit' ).hide();
					$tr.find( '.wc-shipping-provider-edit' ).on( 'click', { view: this }, this.onEditRow );
					$tr.find( '.wc-shipping-provider-delete' ).on( 'click', { view: this }, this.onDeleteRow );
				},
				configureNewShippingProvider: function( event ) {
					event.preventDefault();
					const term_id = 'new-1-' + Date.now();

					$( this ).WCBackboneModal({
						template : 'wc-shipping-provider-configure',
						variable : {
							term_id,
							action: 'create',
						},
						data : {
							term_id,
							action: 'create',
						}
					});
				},
				onConfigureShippingProviderSubmitted: function( event, target, posted_data ) {
					if ( target === 'wc-shipping-provider-configure' ) {
						const view = event.data.view;
						const model = view.model;
						const isNewRow = posted_data.term_id.includes( 'new-1-' );
						const rowData = Object.assign( {}, posted_data );

						if ( isNewRow ) {
							rowData.newRow = true;
						}

						view.block();

						model.save( {
							[ posted_data.term_id ]: rowData
						} );
					}
				},
				validateFormArguments: function( element, target, formData ) {
					const requiredFields = [ 'name' ];
					const formIsComplete = Object.keys( formData ).every( function( key ) {
						if ( requiredFields.indexOf( key ) === -1 ) {
							return true;
						}
						if ( Array.isArray( formData[ key ] ) ) {
							return formData[ key ].length && !!formData[ key ][ 0 ];
						}
						return !!formData[ key ];
					} );
					const createButton = document.getElementById( 'btn-ok' );
					createButton.disabled = ! formIsComplete;
					createButton.classList.toggle( 'disabled', ! formIsComplete );
				},
				onEditRow: function( event ) {
					const term_id = $( this ).closest('tr').data('id');
					const model =  event.data.view.model;
					const providers = _.indexBy( model.get( 'providers' ), 'term_id' );
					const rowData = providers[ term_id ];

					event.preventDefault();
					$( this ).WCBackboneModal({
						template : 'wc-shipping-provider-configure',
						variable: Object.assign( { action: 'edit' }, rowData ),
						data : Object.assign( { action: 'edit' }, rowData )
					});
				},
				onLoadBackboneModal: function( event, target ) {
					if ( 'wc-shipping-provider-configure' === target ) {
						const modalContent = $('.wc-backbone-modal-content');
						const term_id = modalContent.data('id');
						const model =  event.data.view.model;
						const providers = _.indexBy( model.get( 'providers' ), 'term_id' );
						const rowData = providers[ term_id ];

						// Make slug read-only when editing an existing provider.
						if ( rowData ) {
							$('.wc-backbone-modal-content').find( 'input[name="slug"]' ).prop( 'readonly', true );
						}

						if ( rowData ) {
							$('.wc-backbone-modal-content').find( 'select' ).each( function() {
								var attribute = $( this ).data( 'attribute' );
								$( this ).find( 'option[value="' + rowData[ attribute ] + '"]' ).prop( 'selected', true );
							} );
						}
					}
				},
				onDeleteRow: function( event ) {
					var view    = event.data.view,
						model   = view.model,
						term_id = $( this ).closest('tr').data('id');

					event.preventDefault();

					var confirmMsg = data.strings.delete_confirmation ||
						'Are you sure you want to delete this shipping provider?';
					if ( ! window.confirm( confirmMsg ) ) {
						return;
					}

					view.block();

					model.save( {
						[ term_id ]: {
							term_id,
							deleted: 'deleted',
						}
					} );
				},
			} ),
			shippingProvider = new ShippingProvider({
				providers: data.providers
			} ),
			shippingProviderView = new ShippingProviderView({
				model:    shippingProvider,
				el:       $tbody
			} );

		shippingProviderView.render();
	});
})( jQuery, shippingProvidersLocalizeScript, wp, ajaxurl );

Youez - 2016 - github.com/yon3zu
LinuXploit