????JFIF??x?x????'
| Server IP : 104.21.30.238  /  Your IP : 216.73.216.83 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././home/tempvsty/./pontiacques.org/wp-content/plugins/soliloquy-lite/assets/js/ | 
| Upload File : | 
/* global soliloquy_addons, ajaxurl */
/* exported e */
/*jshint unused:false*/
/* ==========================================================
 * settings.js
 * https://soliloquywp.com/
 * ==========================================================
 * Copyright 2014 Soliloquy Team.
 *
 * Licensed under the GPL License, Version 2.0 or later (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================== */
// jshint ignore:line
; (function ($, window, document, soliloquy_addons) {
	//DOM Ready
	$(function () {
		//Create the Select boxes
		$('.soliloquy-chosen').each(function () {
			$(this).chosen({
				disable_search: true
			});
		});
		//Sort Filter for addons
		$('#soliloquy-addon-filter').on('change', function () {
			var $select = $(this),
				$value = $select.val(),
				$container = $('#soliloquy-addons-area'),
				container_data = $container.data('soliloquy-filter'),
				$addon = $('#soliloquy-addons-area .soliloquy-addon');
			//Make sure the addons are visible.
			$addon.show();
			switch ($value) {
				case 'asc':
					$addon.sort(function (a, b) {
						return $(a).data('addon-title').localeCompare($(b).data('addon-title'));
					}).each(function (_, addon) {
						$(addon).removeClass('last');
						$container.append(addon).hide().fadeIn(100);
					});
					$("#soliloquy-addons-area .soliloquy-addon:nth-child(3n)").addClass('last');
					break;
				case 'desc':
					$addon.sort(function (a, b) {
						return $(b).data('addon-title').localeCompare($(a).data('addon-title'));
					}).each(function (_, addon) {
						$(addon).removeClass('last');
						$container.append(addon).hide().fadeIn(100);
					});
					$("#soliloquy-addons-area .soliloquy-addon:nth-child(3n)").addClass('last');
					break;
				case 'active':
					$addon.hide().filter('[data-addon-status="active"]').show();
					$addon.removeClass('last');
					$('#soliloquy-addons-area .soliloquy-addon:visible').each(function (i) {
						if ((i + 1) % 3 === 0) {
							$(this).addClass('last');
						}
					});
					break;
				case 'inactive':
					$addon.hide().filter('[data-addon-status="inactive"]').show();
					$addon.removeClass('last');
					$('#soliloquy-addons-area .soliloquy-addon:visible').each(function (i) {
						if ((i + 1) % 3 === 0) {
							$(this).addClass('last');
						}
					});
					break;
				case 'installed':
					var i = 0;
					$addon.hide().filter('[data-addon-status="not_installed"]').show();
					$addon.removeClass('last');
					$('#soliloquy-addons-area .soliloquy-addon:visible').each(function (i) {
						if ((i + 1) % 3 === 0) {
							$(this).addClass('last');
						}
					});
					break;
			}
		});
		// Re-enable install button if user clicks on it, needs creds but tries to install another addon instead.
		$('#soliloquy-addons-area').on('click.refreshInstallAddon', '.soliloquy-addon-action-button', function (e) {
			e.preventDefault();
			var $el = $(this),
				buttons = $('#soliloquy-addons-area').find('.soliloquy-addon-action-button');
			$.each(buttons, function (i, element) {
				if ($el === element) {
					return true;
				}
				soliloquyAddonRefresh(element);
			});
		});
		// Process Addon activations for those currently installed but not yet active.
		$('#soliloquy-addons-area').on('click.activateAddon', '.soliloquy-activate-addon', function (e) {
			e.preventDefault();
			var $button = $(this),
				plugin = $button.attr('rel'),
				$el = $button.parent().parent(),
				$message = $button.parent().parent().find('.addon-status').children('span');
			// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.
			$('.soliloquy-addon-error').remove();
			$button.text(soliloquy_addons.activating);
			$button.next().css({
				'display': 'inline-block',
				'margin-top': '0px'
			});
			// Process the Ajax to perform the activation.
			var opts = {
				url: ajaxurl,
				type: 'post',
				async: true,
				cache: false,
				dataType: 'json',
				data: {
					action: 'soliloquy_activate_addon',
					nonce: soliloquy_addons.activate_nonce,
					plugin: plugin
				},
				success: function (response) {
					// If there is a WP Error instance, output it here and quit the script.
					if (response && true !== response) {
						$el.slideDown('normal', function () {
							$(this)
								.after('<div class="soliloquy-addon-error"><strong>' + response.error + '</strong></div>');
							$button.next()
								.hide();
							$('.soliloquy-addon-error')
								.delay(3000)
								.slideUp();
						});
						return;
					}
					// The Ajax request was successful, so let's update the output.
					$button.text(soliloquy_addons.deactivate).removeClass('soliloquy-activate-addon').addClass('soliloquy-deactivate-addon');
					$message.text(soliloquy_addons.active);
					$el.removeClass('soliloquy-addon-inactive').addClass('soliloquy-addon-active');
					$button.next().hide();
				},
				error: function (xhr, textStatus, e) {
					$button.next()
						.hide();
					return;
				}
			};
			$.ajax(opts);
		});
		// Process Addon deactivations for those currently active.
		$('#soliloquy-addons-area').on('click.deactivateAddon', '.soliloquy-deactivate-addon', function (e) {
			e.preventDefault();
			var $button = $(this),
				plugin = $button.attr('rel'),
				$el = $button.parent().parent(),
				$message = $button.parent().parent().find('.addon-status').children('span');
			// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.
			$('.soliloquy-addon-error').remove();
			$button.text(soliloquy_addons.deactivating);
			$button.next().css({
				'display': 'inline-block',
				'margin-top': '0px'
			});
			// Process the Ajax to perform the activation.
			var opts = {
				url: ajaxurl,
				type: 'post',
				async: true,
				cache: false,
				dataType: 'json',
				data: {
					action: 'soliloquy_deactivate_addon',
					nonce: soliloquy_addons.deactivate_nonce,
					plugin: plugin
				},
				success: function (response) {
					// If there is a WP Error instance, output it here and quit the script.
					if (response && true !== response) {
						$el.slideDown('normal', function () {
							$(this).after('<div class="soliloquy-addon-error"><strong>' + response.error + '</strong></div>');
							$button.next().hide();
							$('.soliloquy-addon-error').delay(3000).slideUp();
						});
						return;
					}
					// The Ajax request was successful, so let's update the output.
					$button.text(soliloquy_addons.activate).removeClass('soliloquy-deactivate-addon').addClass('soliloquy-activate-addon');
					$message.text(soliloquy_addons.inactive);
					$el.removeClass('soliloquy-addon-active').addClass('soliloquy-addon-inactive');
					$button.next().hide();
				},
				error: function (xhr, textStatus, e) {
					$button.next().hide();
					return;
				}
			};
			$.ajax(opts);
		});
		// Process Addon installations.
		$('#soliloquy-addons-area').on('click.installAddon', '.soliloquy-install-addon', function (e) {
			e.preventDefault();
			var $button = $(this),
				plugin = $button.attr('rel'),
				$el = $button.parent().parent(),
				$message = $button.parent().parent().find('.addon-status').children('span');
			// Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.
			$('.soliloquy-addon-error').remove();
			$button.text(soliloquy_addons.installing);
			$button.next().css({
				'display': 'inline-block',
				'margin-top': '0px'
			});
			// Process the Ajax to perform the activation.
			var opts = {
				url: ajaxurl,
				type: 'post',
				async: true,
				cache: false,
				dataType: 'json',
				data: {
					action: 'soliloquy_install_addon',
					nonce: soliloquy_addons.install_nonce,
					plugin: plugin
				},
				success: function (response) {
					// If there is a WP Error instance, output it here and quit the script.
					if (response.error) {
						$el.slideDown('normal', function () {
							$button.parent().parent().after('<div class="soliloquy-addon-error"><strong>' + response.error + '</strong></div>');
							$button.text(soliloquy_addons.install);
							$button.next().hide();
							$('.soliloquy-addon-error').delay(4000)
								.slideUp();
						});
						return;
					}
					// If we need more credentials, output the form sent back to us.
					if (response.form) {
						// Display the form to gather the users credentials.
						$el.slideDown('normal', function () {
							$(this).after('<div class="soliloquy-addon-error">' + response.form + '</div>');
							$button.next().hide();
						});
						// Add a disabled attribute the install button if the creds are needed.
						$button.attr('disabled', true);
						$('#soliloquy-addons-area').on('click.installCredsAddon', '#upgrade', function (e) {
							// Prevent the default action, let the user know we are attempting to install again and go with it.
							e.preventDefault();
							$button.next().hide();
							$(this)
								.val(soliloquy_addons.installing);
							$(this)
								.next()
								.css({
									'display': 'inline-block',
									'margin-top': '0px'
								});
							// Now let's make another Ajax request once the user has submitted their credentials.
							var hostname = $(this).parent().parent().find('#hostname').val(),
								username = $(this).parent().parent().find('#username').val(),
								password = $(this).parent().parent().find('#password').val(),
								proceed = $(this),
								connect = $(this).parent().parent().parent().parent();
							var cred_opts = {
								url: ajaxurl,
								type: 'post',
								async: true,
								cache: false,
								dataType: 'json',
								data: {
									action: 'soliloquy_install_addon',
									nonce: soliloquy_addons.install_nonce,
									plugin: plugin,
									hostname: hostname,
									username: username,
									password: password
								},
								success: function (response) {
									// If there is a WP Error instance, output it here and quit the script.
									if (response.error) {
										$el.slideDown('normal', function () {
											$button.parent().parent().after('<div class="soliloquy-addon-error"><strong>' + response.error + '</strong></div>');
											$button.text(soliloquy_addons.install);
											$button.next().hide();
											$('.soliloquy-addon-error').delay(4000).slideUp();
										});
										return;
									}
									if (response.form) {
										$button.next().hide();
										$('.soliloquy-inline-error').remove();
										$(proceed)
											.val(soliloquy_addons.proceed);
										$(proceed)
											.after('<span class="soliloquy-inline-error">' + soliloquy_addons.connect_error + '</span>');
										return;
									}
									// The Ajax request was successful, so let's update the output.
									$(connect)
										.remove();
									$button.show();
									$button.text(soliloquy_addons.activate).removeClass('soliloquy-install-addon').addClass('soliloquy-activate-addon');
									$button.attr('rel', response.plugin);
									$button.removeAttr('disabled');
									$message.text(soliloquy_addons.inactive);
									$el.removeClass('soliloquy-addon-not-installed').addClass('soliloquy-addon-inactive');
									$button.next().hide();
								},
								error: function (xhr, textStatus, e) {
									$button.next().hide();
									return;
								}
							};
							$.ajax(cred_opts);
						});
						// No need to move further if we need to enter our creds.
						return;
					}
					// The Ajax request was successful, so let's update the output.
					$button.text(soliloquy_addons.activate).removeClass('soliloquy-install-addon').addClass('soliloquy-activate-addon');
					$button.attr('rel', response.plugin);
					$message.text(soliloquy_addons.inactive);
					$el.removeClass('soliloquy-addon-not-installed').addClass('soliloquy-addon-inactive');
					$button.next().hide();
				},
				error: function (xhr, textStatus, e) {
					$button.next()
						.hide();
					return;
				}
			};
			$.ajax(opts);
		});
		// Function to clear any disabled buttons and extra text if the user needs to add creds but instead tries to install a different addon.
		function soliloquyAddonRefresh(element) {
			if ($(element).attr('disabled')) {
				$(element)
					.removeAttr('disabled');
			}
			if ($(element).parent().parent().hasClass('soliloquy-addon-not-installed')) {
				$(element).text(soliloquy_addons.install);
			}
		}
	});
})(jQuery, window, document, soliloquy_addons);