HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/zaklada/wp-content/plugins/wpml-translation-management/res/js/set-translation-role.js
/*jshint devel:true */
/*global ajaxurl, _ */

var WPML_TM = WPML_TM || {};

WPML_TM.setTranslationRole = function ( $, content, nonce, role, validStateCallback ) {
	"use strict";

	var self = this;

	var init = function () {
		if ( content ) {
			self.newUserInputs = content.find( '.js-first-name, .js-last-name, .js-email, .js-user-name' );
			self.wpRoleSelect = content.find( '.js-role' );

			self.newUserInputs.on( 'input', inputChange );
		}

	};

	var setTranslationRole = function ( data, success, error ) {
		$.ajax( {
			type: 'POST',
			url: ajaxurl,
			dataType: 'json',
			data: _.extend( data, {
				action: 'wpml_add_translation_' + role,
				nonce: nonce
			} ),
			success: function ( response ) {
				if ( response.success ) {
					success( response.data );
				} else {
					error( response.data );
				}
			}
		} );

	};

	var inputChange = function( e ) {
		validStateCallback( self.isValid() );
	};

	self.setExisting = function ( userId, success, error, extraData ) {
		setTranslationRole(
			_.extend( extraData, { user_id : userId } ),
			success,
			error
		);
	};

	self.addNew = function ( success, error, extraData ) {
		setTranslationRole( _.extend( extraData, {
				first: $( self.newUserInputs[ 0 ] ).val(),
				last: $( self.newUserInputs[ 1 ] ).val(),
				email: $( self.newUserInputs[ 2 ] ).val(),
				user: $( self.newUserInputs[ 3 ] ).val(),
				role: self.wpRoleSelect.val()
			} ),
			success,
			error
		);
	};

	self.isValid = function () {
		return self.getUserName() && self.isEmailValid( self.getEmail() );
	};

	self.isEmailValid = function ( email ) {
		var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
		return re.test( email );
	};

	self.resetInputs = function() {
		self.newUserInputs.val( '' );
	};

	self.getUserName = function() {
		return $( self.newUserInputs[ 3 ] ).val();
	};

	self.getEmail = function() {
		return $( self.newUserInputs[ 2 ] ).val();
	};

	init();

};