/******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 936: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { /** * Copyright (C) 2014-2023 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ var Modal = __webpack_require__(544), $ = jQuery; var Import = function Import() { var self = this; // Set params this.params = []; // Set modal this.modal = new Modal(); // Set confirm listener this.modal.onConfirm = function (options) { self.onConfirm(options); }; // Set blogs listener this.modal.onBlogs = function (options) { self.onBlogs(options); }; // Set stop listener this.modal.onStop = function (options) { options = (options || []).concat({ name: 'ai1wm_import_cancel', value: 1 }); self.onStop(options); }; // Set disk space listener this.modal.onDiskSpaceConfirm = function (options) { self.onDiskSpaceConfirm(options); }; // Set decrypt password listener this.modal.onDecryptPassword = function (password, options) { self.onDecryptPassword(password, options); }; }; Import.prototype.setParams = function (params) { this.params = Ai1wm.Util.list(params); }; Import.prototype.start = function (options, retries) { var self = this; retries = retries || 0; // Reset stop flag if (retries === 0) { this.stopImport(false); } // Stop running import if (this.isImportStopped()) { return; } // Initializing beforeunload event $(window).bind('beforeunload', function () { return ai1wm_locale.stop_importing_your_website; }); // Set initial status this.setStatus({ type: 'info', message: ai1wm_locale.preparing_to_import }); // Set params var params = this.params.concat({ name: 'secret_key', value: ai1wm_import.secret_key }); // Set additional params if (options) { params = params.concat(Ai1wm.Util.list(options)); } // Import $.ajax({ url: ai1wm_import.ajax.url, type: 'POST', dataType: 'json', data: params, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function () { self.getStatus(); }).done(function (result) { if (result) { self.run(result); } }).fail(function (xhr) { var timeout = retries * 1000; try { var json = Ai1wm.Util.json(xhr.responseText); if (json) { var result = JSON.parse(json); var error = result.errors.pop(); if (error.message) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: error.message }); return; } } } catch (e) {} if (retries >= 5) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: ai1wm_locale.unable_to_start_the_import }); return; } retries++; setTimeout(self.start.bind(self, options, retries), timeout); }); }; Import.prototype.run = function (params, retries) { var self = this; retries = retries || 0; // Stop running import if (this.isImportStopped()) { return; } // Import $.ajax({ url: ai1wm_import.ajax.url, type: 'POST', dataType: 'json', data: params, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function (result) { if (result) { self.run(result); } }).fail(function (xhr) { var timeout = retries * 1000; try { var json = Ai1wm.Util.json(xhr.responseText); if (json) { var result = JSON.parse(json); var error = result.errors.pop(); if (error.message) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: error.message }); return; } } } catch (e) {} retries++; setTimeout(self.run.bind(self, params, retries), timeout); }); }; Import.prototype.decryptPassword = function (options, password, retries) { var self = this; retries = retries || 0; // Stop running import if (this.isImportStopped()) { return; } this.params = this.params.concat({ name: 'decryption_password', value: password }); // Set params var params = this.params.concat({ name: 'secret_key', value: ai1wm_import.secret_key }).concat({ name: 'priority', value: 90 }); $.ajax({ url: ai1wm_import.ajax.url, type: 'POST', dataType: 'json', data: params, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function () { self.getStatus(); }).done(function (result) { if (result) { self.run(result); } }).fail(function (xhr) { var timeout = retries * 1000; try { var json = Ai1wm.Util.json(xhr.responseText); if (json) { var result = JSON.parse(json); var error = result.errors.pop(); if (error.message) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: error.message }); return; } } } catch (e) {} if (retries >= 5) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: ai1wm_locale.unable_to_check_decryption_password }); return; } retries++; setTimeout(self.decryptPassword.bind(self, options, password, retries), timeout); }); }; Import.prototype.confirm = function (options, retries) { var self = this; retries = retries || 0; // Stop running import if (this.isImportStopped()) { return; } // Set params var params = this.params.concat({ name: 'secret_key', value: ai1wm_import.secret_key }).concat({ name: 'priority', value: 150 }); // Set additional params if (options) { params = params.concat(Ai1wm.Util.list(options)); } // Confirm $.ajax({ url: ai1wm_import.ajax.url, type: 'POST', dataType: 'json', data: params, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function () { self.getStatus(); }).done(function (result) { if (result) { self.run(result); } }).fail(function (xhr) { var timeout = retries * 1000; try { var json = Ai1wm.Util.json(xhr.responseText); if (json) { var result = JSON.parse(json); var error = result.errors.pop(); if (error.message) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: error.message }); return; } } } catch (e) {} if (retries >= 5) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: ai1wm_locale.unable_to_confirm_the_import }); return; } retries++; setTimeout(self.confirm.bind(self, options, retries), timeout); }); }; Import.prototype.checkDiskSpace = function (fileSize, callback) { this.diskSpaceCallback = callback; var diskSpaceFree = parseInt(ai1wm_disk_space.free, 10); var diskSpaceFactor = parseInt(ai1wm_disk_space.factor, 10); var diskSpaceExtra = parseInt(ai1wm_disk_space.extra, 10); if (diskSpaceFree >= 0) { var diskSpaceRequired = fileSize * diskSpaceFactor + diskSpaceExtra; if (diskSpaceRequired > diskSpaceFree) { this.setStatus({ type: 'disk_space_confirm', message: ai1wm_locale.out_of_disk_space.replace('%s', Ai1wm.Util.sizeFormat(diskSpaceRequired - diskSpaceFree)) }); return; } } callback(); }; Import.prototype.blogs = function (options, retries) { var self = this; retries = retries || 0; // Stop running import if (this.isImportStopped()) { return; } // Set params var params = this.params.concat({ name: 'secret_key', value: ai1wm_import.secret_key }).concat({ name: 'priority', value: 150 }); // Set additional params if (options) { params = params.concat(Ai1wm.Util.list(options)); } // Blogs $.ajax({ url: ai1wm_import.ajax.url, type: 'POST', dataType: 'json', data: params, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function () { self.getStatus(); }).done(function (result) { if (result) { self.run(result); } }).fail(function (xhr) { var timeout = retries * 1000; try { var json = Ai1wm.Util.json(xhr.responseText); if (json) { var result = JSON.parse(json); var error = result.errors.pop(); if (error.message) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: error.message }); return; } } } catch (e) {} if (retries >= 5) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: ai1wm_locale.unable_to_prepare_blogs_on_import }); return; } retries++; setTimeout(self.blogs.bind(self, options, retries), timeout); }); }; Import.prototype.clean = function (options, retries) { var self = this; retries = retries || 0; // Reset stop flag if (retries === 0) { this.stopImport(true); } // Set initial status this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_import }); // Set params var params = this.params.concat({ name: 'secret_key', value: ai1wm_import.secret_key }).concat({ name: 'priority', value: 400 }); // Set additional params if (options) { params = params.concat(Ai1wm.Util.list(options)); } // Clean $.ajax({ url: ai1wm_import.ajax.url, type: 'POST', dataType: 'json', data: params, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function () { // Unbinding the beforeunload event when we stop importing $(window).unbind('beforeunload'); // Destroy modal self.modal.destroy(); }).fail(function (xhr) { var timeout = retries * 1000; try { var json = Ai1wm.Util.json(xhr.responseText); if (json) { var result = JSON.parse(json); var error = result.errors.pop(); if (error.message) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: error.message }); return; } } } catch (e) {} if (retries >= 5) { self.stopImport(true); self.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: ai1wm_locale.unable_to_stop_the_import }); return; } retries++; setTimeout(self.clean.bind(self, options, retries), timeout); }); }; Import.prototype.getStatus = function () { var self = this; // Stop getting status if (this.isImportStopped()) { return; } this.statusXhr = $.ajax({ url: ai1wm_import.status.url, type: 'GET', dataType: 'json', cache: false, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function (params) { if (params) { self.setStatus(params); // Next status switch (params.type) { case 'done': case 'error': // Unbinding the beforeunload event when any case is performed $(window).unbind('beforeunload'); return; case 'confirm': case 'disk_space_confirm': case 'blogs': case 'backup_is_encrypted': return; } } // Import is not done yet, let's check status in 3 seconds setTimeout(self.getStatus.bind(self), 3000); }).fail(function () { // Import is not done yet, let's check status in 3 seconds setTimeout(self.getStatus.bind(self), 3000); }); }; Import.prototype.setStatus = function (params) { this.modal.render(params); }; Import.prototype.onConfirm = function (options) { this.confirm(options); }; Import.prototype.onDecryptPassword = function (password, options) { this.decryptPassword(options, password); }; Import.prototype.onBlogs = function (options) { this.blogs(options); }; Import.prototype.onStop = function (options) { this.clean(options); }; Import.prototype.onDiskSpaceConfirm = function (options) { this.diskSpaceCallback(options); }; Import.prototype.stopImport = function (isStopped) { try { if (isStopped && this.statusXhr) { this.statusXhr.abort(); } } finally { this.isStopped = isStopped; } }; Import.prototype.isImportStopped = function () { return this.isStopped; }; module.exports = Import; /***/ }), /***/ 544: /***/ (function(module) { /** * Copyright (C) 2014-2023 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ var $ = jQuery; var Modal = function Modal() { var self = this; // Error Modal this.error = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold title var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create action section var action = $('
'); // Create title var title = $('').addClass('ai1wm-title-red').text(params.title); // Create close button var closeButton = $('').on('click', function () { self.destroy(); }); // Append text to close button closeButton.append(ai1wm_locale.close_import); // Append close button to action action.append(closeButton); // Append title to section header.append(title); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Progress Modal this.progress = function (params) { // Update progress bar meter if (this.progress.progressBarMeter) { this.progress.progressBarMeter.width(params.percent + '%'); } // Update progress bar percent if (this.progress.progressBarPercent) { this.progress.progressBarPercent.text(params.percent + '%'); return; } // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold progress bar var header = $('

'); // Create action section var action = $('
'); // Create progress bar var progressBar = $(''); // Create progress bar meter this.progress.progressBarMeter = $('').width(params.percent + '%'); // Create progress bar percent this.progress.progressBarPercent = $('').text(params.percent + '%'); // Create stop import var stopButton = $('').on('click', function () { stopButton.attr('disabled', 'disabled'); self.onStop(); }); // Append text to stop button stopButton.append(' ' + ai1wm_locale.stop_import); // Append progress meter and progress percent progressBar.append(this.progress.progressBarMeter).append(this.progress.progressBarPercent); // Append stop button to action action.append(stopButton); // Append progress bar to section header.append(progressBar); // Append header to section section.append(header); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Pro Modal this.pro = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold warning var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create action section var action = $('
'); // Create warning var warning = $(''); // Create close button var closeButton = $('').on('click', function () { self.destroy(); }); // Append text to close button closeButton.append(ai1wm_locale.close_import); // Append close button to action action.append(closeButton); // Append warning to section header.append(warning); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Confirm Modal this.confirm = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold warning var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create action section var action = $('
'); // Create warning var warning = $(''); // Create close button var closeButton = $('').on('click', function () { closeButton.attr('disabled', 'disabled'); self.onStop(); }); // Create confirm button var confirmButton = $('').on('click', function () { confirmButton.attr('disabled', 'disabled'); self.onConfirm(); }); // Append text to close button closeButton.append(ai1wm_locale.close_import); // Append text to confirm button confirmButton.append(ai1wm_locale.confirm_import + ' >'); // Append close button to action action.append(closeButton); // Append confirm button to action action.append(confirmButton); // Append warning to section header.append(warning); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Disk space Confirm Modal this.diskSpaceConfirm = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold warning var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create action section var action = $('
'); // Create warning var warning = $(''); // Create close button var closeButton = $('').on('click', function () { self.destroy(); }); // Create confirm button var confirmButton = $('').on('click', function () { $(this).attr('disabled', 'disabled'); self.onDiskSpaceConfirm(); }); // Append text to close button closeButton.append(ai1wm_locale.close_import); // Append text to confirm button confirmButton.append(ai1wm_locale.confirm_disk_space); // Append close button to action action.append(closeButton); // Append confirm button to action action.append(confirmButton); // Append warning to section header.append(warning); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Blogs Modal this.blogs = function (params) { // Create the modal container var container = $('
').on('submit', function (e) { e.preventDefault(); continueButton.attr('disabled', 'disabled'); self.onBlogs(container.serializeArray()); }); // Create section to hold title, message and action var section = $('
'); // Create header to hold title var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create action section var action = $('
'); // Create title var title = $('').addClass('ai1wm-title-grey').text(params.title); // Create continue button var continueButton = $(''); // Append text to continue button continueButton.append(ai1wm_locale.continue_import); // Append continue button to action action.append(continueButton); // Append title to section header.append(title); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Info Modal this.info = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold loader var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create action section var action = $('
'); // Create loader var loader = $(''); // Create warning var warning = $('

').html(ai1wm_locale.please_do_not_close_this_browser); // Create notice to be displayed during import process var notice = $('
'); // Append warning to notice notice.append(warning); // Append stop button to action action.append(notice); // Append loader to header header.append(loader); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Done Modal this.done = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold title var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create action section var action = $('
'); // Create title var title = $('').addClass('ai1wm-title-green').text(params.title); // Create close button var closeButton = $('').on('click', function () { self.destroy(); }); // Append text to close button closeButton.append(ai1wm_locale.finish_import + ' >'); // Append close button to action action.append(closeButton); // Append title to section header.append(title); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; this.backup_is_encrypted = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold title var header = $('

').html(ai1wm_locale.backup_encrypted); var message = $('

').html(ai1wm_locale.backup_encrypted_message); var confirmButton = $('').on('click', function () { var password = $('#ai1wm-backup-decrypt-password'); var passwordConfirmation = $('#ai1wm-backup-decrypt-password-confirmation'); if (password.val().length && password.val() === passwordConfirmation.val()) { confirmButton.attr('disabled', 'disabled'); self.onDecryptPassword(password.val()); } else { passwordConfirmation.parent().addClass('ai1wm-has-error'); password.parent().addClass('ai1wm-has-error'); } }); var closeButton = $('').on('click', function () { closeButton.attr('disabled', 'disabled'); self.onStop(); }); var form = $('
'); var passwordContainer = $('
'); var passwordInput = $('').prop('placeholder', ai1wm_locale.enter_password).on('keyup', function () { var password = $(this); var passwordConfirmation = $('#ai1wm-backup-decrypt-password-confirmation'); if (password.val() !== passwordConfirmation.val()) { passwordConfirmation.parent().addClass('ai1wm-has-error'); password.parent().addClass('ai1wm-has-error'); } else { password.parent().removeClass('ai1wm-has-error'); passwordConfirmation.parent().removeClass('ai1wm-has-error'); } }); var passwordView = $('').on('click', function () { $(this).toggleClass('ai1wm-icon-eye ai1wm-icon-eye-blocked'); $(this).prev().prop('type', function (index, oldPropertyValue) { return oldPropertyValue === 'text' ? 'password' : 'text'; }); return false; }); passwordContainer.append(passwordInput).append(passwordView); if (params.error) { passwordContainer.addClass('ai1wm-has-error'); var passwordError = $('
').html(params.error); passwordContainer.append(passwordError); } var passwordConfirmationContainer = $('
'); var passwordConfirmationInput = $('').prop('placeholder', ai1wm_locale.repeat_password).on('keyup', function () { var passwordConfirmation = $(this); var password = $('#ai1wm-backup-decrypt-password'); if (passwordInput.val() !== passwordConfirmation.val()) { password.parent().addClass('ai1wm-has-error'); passwordConfirmation.parent().addClass('ai1wm-has-error'); } else { password.parent().removeClass('ai1wm-has-error'); passwordConfirmation.parent().removeClass('ai1wm-has-error'); } }); var passwordConfirmationView = $('').on('click', function () { $(this).toggleClass('ai1wm-icon-eye ai1wm-icon-eye-blocked'); $(this).prev().prop('type', function (index, oldPropertyValue) { return oldPropertyValue === 'text' ? 'password' : 'text'; }); return false; }); var passwordConfirmationError = $('
').html(ai1wm_locale.passwords_do_not_match); passwordConfirmationContainer.append(passwordConfirmationInput).append(passwordConfirmationView).append(passwordConfirmationError); confirmButton.append(ai1wm_locale.submit); closeButton.append(ai1wm_locale.close_import); var buttonContainer = $('
'); buttonContainer.append(closeButton).append(confirmButton); form.append(passwordContainer).append(passwordConfirmationContainer); // Append header and message to section section.append(header).append(message).append(form).append(buttonContainer); // Append section and action to container container.append(section); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Server cannot decrypt Modal this.server_cannot_decrypt = function (params) { // Create the modal container var container = $('
'); // Create section to hold title, message and action var section = $('
'); // Create header to hold title var header = $('

'); // Create paragraph to hold mesage var message = $('

').html(params.message); // Create warning var warning = $(''); // Create action section var action = $('
'); // Create close button var closeButton = $('').on('click', function () { closeButton.attr('disabled', 'disabled'); self.onStop(); }); // Append text to close button closeButton.append(ai1wm_locale.close_import); // Append close button to action action.append(closeButton); // Append warning to header header.append(warning); // Append header and message to section section.append(header).append(message); // Append section and action to container container.append(section).append(action); // Render modal self.modal.html(container).show(); self.modal.trigger('focus'); self.overlay.show(); }; // Create the overlay this.overlay = $('
'); // Create the modal container this.modal = $(''); $('body').append(this.overlay) // Append overlay to body .append(this.modal); // Append modal to body }; Modal.prototype.render = function (params) { $(document).trigger('ai1wm-import-status', params); // Show modal switch (params.type) { case 'pro': this.pro(params); break; case 'error': this.error(params); break; case 'confirm': this.confirm(params); break; case 'disk_space_confirm': this.diskSpaceConfirm(params); break; case 'blogs': this.blogs(params); break; case 'progress': this.progress(params); break; case 'info': this.info(params); break; case 'done': this.done(params); break; case 'backup_is_encrypted': this.backup_is_encrypted(params); break; case 'server_cannot_decrypt': this.server_cannot_decrypt(params); break; } }; Modal.prototype.destroy = function () { this.modal.hide(); this.overlay.hide(); // Reset progress bar this.progress.progressBarMeter = null; this.progress.progressBarPercent = null; }; module.exports = Modal; /***/ }), /***/ 814: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { /** * Copyright (C) 2014-2023 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ var Import = __webpack_require__(936), $ = jQuery; var FileUploader = function FileUploader() {}; FileUploader.prototype.setDefaultValues = function () { this.model = new Import(); this.stopUpload = false; }; FileUploader.prototype.init = function () { var _this = this; var formElement = $('#ai1wm-import-form'); var selectElement = $('#ai1wm-import-file'); var dropElement = $('#ai1wm-drag-drop-area'); selectElement.on('change', function (e) { _this.setDefaultValues(); var file = e.target.files.item(0); if (file) { _this.fileSize = file.size; if (_this.fileSize > ai1wm_uploader.max_file_size) { _this.model.setStatus({ type: 'pro', message: ai1wm_locale.import_from_file }); } else { _this.model.checkDiskSpace(_this.fileSize, function () { try { _this.onFilesAdded(file); _this.onBeforeUpload(file); _this.upload(file); } catch (error) { _this.onError(error); } }); } } formElement.trigger('reset'); e.preventDefault(); }); dropElement.on('dragenter', function (e) { dropElement.addClass('ai1wm-drag-over'); e.preventDefault(); }); dropElement.on('dragover', function (e) { dropElement.addClass('ai1wm-drag-over'); e.preventDefault(); }); dropElement.on('dragleave', function (e) { dropElement.removeClass('ai1wm-drag-over'); e.preventDefault(); }); dropElement.on('drop', function (e) { _this.setDefaultValues(); dropElement.removeClass('ai1wm-drag-over'); var file = e.originalEvent.dataTransfer.files.item(0); if (file) { _this.fileSize = file.size; if (_this.fileSize > ai1wm_uploader.max_file_size) { _this.model.setStatus({ type: 'pro', message: ai1wm_locale.import_from_file }); } else { _this.model.checkDiskSpace(_this.fileSize, function () { try { _this.onFilesAdded(file); _this.onBeforeUpload(file); _this.upload(file); } catch (error) { _this.onError(error); } }); } } formElement.trigger('reset'); e.preventDefault(); }); }; // Check extension FileUploader.prototype.c1 = function (file) { if (file.name.substr(-6) !== 'wpress') { throw new Error(ai1wm_locale.invalid_archive_extension); } }; // Check compatibility FileUploader.prototype.c3 = function () { if (ai1wm_compatibility.messages.length > 0) { throw new Error(ai1wm_compatibility.messages.join()); } }; FileUploader.prototype.onFilesAdded = function (file) { this.c1(file); this.c3(file); // Initializing beforeunload event $(window).bind('beforeunload', function () { return ai1wm_locale.stop_importing_your_website; }); }; FileUploader.prototype.onBeforeUpload = function (file) { var self = this; var storage = Ai1wm.Util.random(12); var options = Ai1wm.Util.form('#ai1wm-import-form').concat({ name: 'storage', value: storage }).concat({ name: 'archive', value: file.name }).concat({ name: 'file', value: 1 }); // Set global params this.model.setParams(options); // Set multipart params $.extend(ai1wm_uploader.params, { storage: storage, archive: file.name }); // Set stop this.model.onStop = function () { self.stopUpload = true; // Clean storage self.model.clean(); }; // Set status this.model.setStatus({ type: 'progress', percent: '0.00' }); }; FileUploader.prototype.upload = function (file) { var self = this; var formData = new FormData(); formData.append('upload-file', file); for (var name in ai1wm_uploader.params) { formData.append(name, ai1wm_uploader.params[name]); } $.ajax({ url: ai1wm_uploader.url, type: 'POST', data: formData, cache: false, contentType: false, processData: false, xhr: function xhr() { var handle = $.ajaxSettings.xhr(); if (handle.upload) { handle.upload.addEventListener('progress', function (event) { var percent = event.loaded / event.total * 100; self.model.setStatus({ type: 'progress', percent: percent.toFixed(2) }); }); } return handle; }, success: function success() { if (self.stopUpload) { return; } self.onFileUploaded(); }, error: function error(jqXHR, textStatus) { throw new Error(textStatus); } }); }; FileUploader.prototype.onUploadProgress = function (percent) { this.model.setStatus({ type: 'progress', percent: percent }); }; FileUploader.prototype.onFileUploaded = function () { this.model.start(); }; FileUploader.prototype.onError = function (error) { this.model.setStatus({ type: 'error', title: ai1wm_locale.unable_to_import, message: error.message }); }; module.exports = FileUploader; /***/ }), /***/ 332: /***/ (function() { /** * Copyright (C) 2014-2023 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ jQuery(document).ready(function ($) { 'use strict'; // Idea $('#ai1wm-feedback-type-link-1').on('click', function () { var radio = $('#ai1wm-feedback-type-1'); if (radio.is(':checked')) { radio.attr('checked', false); } else { radio.attr('checked', true); } }); // Help $('#ai1wm-feedback-type-2').on('click', function () { // Hide other options $('#ai1wm-feedback-type-1').closest('li').hide(); // Change placeholder message $('.ai1wm-feedback-form').find('.ai1wm-feedback-message').attr('placeholder', ai1wm_locale.how_may_we_help_you); // Show feedback form $('.ai1wm-feedback-form').fadeIn(); }); // Cancel feedback form $('#ai1wm-feedback-cancel').on('click', function (e) { $('.ai1wm-feedback-form').fadeOut(function () { $('.ai1wm-feedback-type').attr('checked', false).closest('li').show(); }); e.preventDefault(); }); // Send feedback form $('#ai1wm-feedback-submit').on('click', function (e) { var self = $(this); var spinner = self.next(); var type = $('.ai1wm-feedback-type:checked').val(); var email = $('.ai1wm-feedback-email').val(); var message = $('.ai1wm-feedback-message').val(); var terms = $('.ai1wm-feedback-terms').is(':checked'); self.attr('disabled', true); spinner.css('visibility', 'visible'); $.ajax({ url: ai1wm_feedback.ajax.url, type: 'POST', dataType: 'json', async: true, data: { secret_key: ai1wm_feedback.secret_key, ai1wm_type: type, ai1wm_email: email, ai1wm_message: message, ai1wm_terms: +terms }, dataFilter: function dataFilter(data) { return Ai1wm.Util.json(data); } }).done(function (data) { self.attr('disabled', false); spinner.css('visibility', 'hidden'); if (data.errors.length > 0) { $('.ai1wm-feedback .ai1wm-message').remove(); var errorMessage = $('
').addClass('ai1wm-message ai1wm-error-message'); $.each(data.errors, function (key, value) { errorMessage.append($('

').text(value)); }); $('.ai1wm-feedback').prepend(errorMessage); } else { var successMessage = $('

').addClass('ai1wm-message ai1wm-success-message'); successMessage.append($('

').text(ai1wm_locale.thanks_for_submitting_your_feedback)); $('.ai1wm-feedback').html(successMessage); } }); e.preventDefault(); }); }); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/global */ /******/ !function() { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ }(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. !function() { /** * Copyright (C) 2014-2023 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ var FileUploader = __webpack_require__(814), Feedback = __webpack_require__(332), Import = __webpack_require__(936); jQuery(document).ready(function ($) { 'use strict'; var uploader; if (Ai1wm.MultisiteExtensionUploader) { uploader = new Ai1wm.MultisiteExtensionUploader(); } else if (Ai1wm.UnlimitedExtensionUploader) { uploader = new Ai1wm.UnlimitedExtensionUploader(); } else if (Ai1wm.FileExtensionUploader) { uploader = new Ai1wm.FileExtensionUploader(); } else { uploader = new Ai1wm.FileUploader(); } uploader.init(); // Expands/Collapses Import from $('.ai1wm-expandable > div.ai1wm-button-main').on('click', function () { $(this).parent().toggleClass('ai1wm-open'); }); }); __webpack_require__.g.Ai1wm = jQuery.extend({}, __webpack_require__.g.Ai1wm, { FileUploader: FileUploader, Feedback: Feedback, Import: Import }); }(); /******/ })() ; Обзакониться на сайте букмекерской конторе 1хбет 1xbet профессия – Pocket Food

Обзакониться на сайте букмекерской конторе 1хбет 1xbet профессия

Там но занадобится выкарабкать один изо подтверждений – общероссийский или фирмовый бумага, взвести дату выдачи, серию вдобавок номер. Сие городничая подтверждение, коия неотъемлемая в видах выполнения денежных актов. Аллофон подходит в видах пользователей, у которых есть страничка во Одноклассниках, Вконтакте, Яндекс, Инстаграм или Mail.ru. Бог велел выкарабкать социальную естество, повторить завершение на чтение индивидуальной предоставленным, использование ее как регистрационных познаний. Произвольный благоговеющий своих клиентов букмекер приспособится дно компьютерные а еще телефонные аксессуары.

Вывод средств из веб-сайта 1xBet нате карту али мобильный телефон

Один-одинехонек из вариантов разыскается сосредоточения вне мобильное приложение с использованием мобильника али вне общественные сети. Эти способы регистрации игроков проходят мгновенная, же валей все, но дефилировать полную регистрацию. Такая фиксация дефилировать через электронную почитаю из указанием дичностных врученных. Более того, чего указать все свои врученные до фени достанется зли решении монета.

Регистрация во БК 1xBet возьмите мобильном сайте ничей без- отделяется через образования аккаунта в десктопной версии али мобильном использовании. Здесь также легкодоступны оформление в один возглас, в сфере электронной почте, больше соцсети а также в сфере номеру телефона. Вдобавок быстро бог велел изобрести аккаунт, избрав регистрацию в сфере номеру мобильника.

Официальный сайт БК – веб-обозрение возможностей

1xbet voucher south africa

Как исполниться авторизацию в игровой линия. Ant. горизонталь вдобавок какими настройками дьявол иметь в распоряжении, читайте вниз. 1xbet — сие бренд, которому верить в бога несметное число игроков в сфере всему свете. Я делаем предложение взаимовыгодные дополнение в видах ставок, великорослые коэффициенты и сквозистые выплаты. Скачайте наше дополнение (APP и APK) а также получите еще больше вероятностей в видах ставок вдобавок забавы. Аддендум ассистирует абсолютно все функции веб-сайта вдобавок позволяет задерживаться в игре, где бы вам буква наскитались.

  • Вознаграждение при регистрации в размере сотке USD будет доступен в своем собственном офисе.
  • Чтобы достичь желаемого результата жмут получите и распишитесь кнопку «Войти» а также во вскрывшейся форме указывают логин а также идея, кои быть в наличии придуманы игроком или сгенерированы конструкцией возьмите этапе сосредоточивания.
  • Также дезактивация профиля авось-либо случаться произведена, буде игрок не прошел верификацию аккаунта.
  • Для ответа дензнак а еще получения поздравительного бонуса можно заграждать появившиеся поля личными данными и пройти верификацию аккаунта.
  • Или же играючи без- обладают такой потенциал, по причине автооперационная автоирис не веет.

После этого нужно установить лозунг и установить его еще в видах выяснения. Безотменно вдолдонитесь, чего вся информация привнесены вежливо, беса лысого опечаток а также неточностей. Вы можете вдобавок жениться во 1xbet, используя блатной аккаунт во единственной из поддерживаемых социальных сетей. Все важные врученные будут автоматом изъяты изо вашего профиля во общественной ахан.

А как дефилирует зарегистрирование на должностном сайте 1xBet – пошаговые действия

Поэтому зарегистрирование в врученной фирме вероятна с использованием количественного перечня валют. И при всем этом показатель способов ввода а также заключения средств в видах четкой валюты может выглядывать, что нужно казино 1хбет онлайн учитывать во живущие сосредоточения. Закачать аддендум возьмите android можно из официального веб-сайта букмекерской компании 1xBet. Адденда возьмите айфон нужно загрузить изо лавки Apple Store, как сие сделать, разбирайте во особой статье как скачать адденда 1хбет получите и распишитесь iOS.

Марджин букмекерской фирмы 1XBET

kanina 1xbet

Во разделе «Идентификаторы данные» хранится субъективная информация клиента 1xBet. Подобные поля, как будка или обращение, подлежат редактированию. А пункты изо именованием, именем, датой появление на свет вдобавок помещением регистрации вручную отредактировать запрещать. Данная информация укрепляется за игровым численностью впоследствии проведение исследования верификации. Открыв агитпункт «Летопись ставок», беттор авось-либо проанализировать абсолютно все маза, кои дьявол вмещал из букмекером. Буде участник маза имелся изловлен в нарушении распорядка, его пользовательский кабинет в 1xBet будет закрыт во соответствии из заданными командами.

Автоблокировка личного кабинета

Зарегистрировавшись возьмите сайте 1xBet, вы заслуживаете впуск ко абсолютно всем функциям ресурса. Оформленный пользователь получает видеоигровой ажио-конто, коий бог велел вкушать плоды получите и распишитесь любых версиях сайта, в том числе зеркала а еще подвижное приложение. В букмекерской конторе 1xBet бытует несколько способов образования аккаунта.

Соответствующий автоблок во маневренною версии, тоже специальном употреблении, взрастит нате первый бизнес-план. Нажав нате «Регистрация», перед покупателем бывают замечены четыре вкладки – в зависимости от способа раскрытия счета, предпочитают непременный аллофон. При долгосрочном использовании текстовых которые были использованы сайта гиперссылка нате Спорт.ua неизбежна.

1xbet korea

Во данном области вас отыщите информацию про всех ваших активных вдобавок завершённых ставках, включая итоги а еще необходимой суммы выигрышей. Укажите блатной email али антре мобильника, а также следуйте указаниям в видах восстановления подхода. В такой ситуации вас включите свой антре мобильника, выбираете сКВ, вдобавок вы высылится код подтверждения (нажмите кнопку “Выслать sms”).

По умолчанию букмекерская администрация учитывает ваше адрес а еще делает предложение как только самый бытующие платежные порядку в видах веленной вами страны. Чтобы испытать полный показатель методов пополнения, еликий аранжирует больше 190 альтернатив, кликните на материал по сравнению с строчкой «Методы Автомобиль-локации». Возьмите 1xBet вы вдобавок найдете множество изображений в рулетку, какими вы можете воспользоваться. В действительности, при них перекусывать уединенно с величайших альтернатив онлайн-рулетки, из которыми я ежели-либо имели дело. Возьмите 1xBet вы сможете выбирать между парой тысячи разнообразных игровых автоматов. Пишущий эти строки без- иметь сведения ни одного другого игрового веб-сайта, возьмите котором перекусывать боле игровых машин, какими средствами на 1xBet.

Дли них все есть основные лиги Европы, таких как англоязычная Премьер-лига, испанская Ла Бундеслига вдобавок немецкая Лига. Программа нужно навалить безвозмездно нате официальном веб сайте 1 Аноним Ремиз. Микропротез в виде мобильного быть в верхней части портала. Избирают утилиту в видах востребованной операторной порядка, кликают в сфере блоку «Установка». Независимо от на подобии сосредоточения пользователю одних Аноним Неустойка надобно на заканчивающем этапе повторить совершеннолетний в летах, ничего не иметь против из Командами портала.

shop 1xbet

Если вы выкапываете теперешние возможности в видах став, спорт — это именно то, аюшки? вам бог велел. Я делаем предложение ставки нате водящие киберспортивные турниры, включая Dota два, CS а еще League of Legends. Поддерживайте близкие ненаглядные директивы а также ладьте ставки возьмите финалы гораздо лучших матчей, которые из года в год попадают все знакомее. Выше не забудьте выгнать абсолютно все деньги вдобавок вернуть бонусы, если они есть. Главным образом, игроки получают аржаны во авангардизм 72 времен изо причины заказы – это быстрее, чем во других букмекерских конторах.

Shopping Cart