PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/mytube.pm/wp-content/plugins/wp-mail-smtp/assets/js/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/mytube.pm/wp-content/plugins/wp-mail-smtp/assets/js/smtp-admin.js |
/* globals wp_mail_smtp, jconfirm, ajaxurl */ 'use strict'; var WPMailSMTP = window.WPMailSMTP || {}; WPMailSMTP.Admin = WPMailSMTP.Admin || {}; /** * WP Mail SMTP Admin area module. * * @since 1.6.0 */ WPMailSMTP.Admin.Settings = WPMailSMTP.Admin.Settings || ( function( document, window, $ ) { /** * Public functions and properties. * * @since 1.6.0 * * @type {object} */ var app = { /** * State attribute showing if one of the plugin settings * changed and was not yet saved. * * @since 1.9.0 * * @type {boolean} */ pluginSettingsChanged: false, /** * Start the engine. DOM is not ready yet, use only to init something. * * @since 1.6.0 */ init: function() { // Do that when DOM is ready. $( app.ready ); }, /** * DOM is fully loaded. * * @since 1.6.0 */ ready: function() { app.pageHolder = $( '.wp-mail-smtp-tab-settings' ); // If there are screen options we have to move them. $( '#screen-meta-links, #screen-meta' ).prependTo( '#wp-mail-smtp-header-temp' ).show(); app.bindActions(); app.setJQueryConfirmDefaults(); // Flyout Menu. app.initFlyoutMenu(); }, /** * Process all generic actions/events, mostly custom that were fired by our API. * * @since 1.6.0 */ bindActions: function() { // Mailer selection. $( '.wp-mail-smtp-mailer-image', app.pageHolder ).on( 'click', function() { $( this ).parents( '.wp-mail-smtp-mailer' ).find( 'input' ).trigger( 'click' ); } ); $( '.wp-mail-smtp-mailer input', app.pageHolder ).on( 'click', function() { var $input = $( this ); if ( $input.prop( 'disabled' ) ) { // Educational Popup. if ( $input.hasClass( 'educate' ) ) { app.education.upgradeMailer( $input ); } return false; } // Deselect the current mailer. $( '.wp-mail-smtp-mailer', app.pageHolder ).removeClass( 'active' ); // Select the correct one. $( this ).parents( '.wp-mail-smtp-mailer' ).addClass( 'active' ); // Hide all mailers options and display for a currently clicked one. $( '.wp-mail-smtp-mailer-option', app.pageHolder ).addClass( 'hidden' ).removeClass( 'active' ); $( '.wp-mail-smtp-mailer-option-' + $( this ).val(), app.pageHolder ).addClass( 'active' ).removeClass( 'hidden' ); } ); app.mailers.smtp.bindActions(); // Dismiss Pro banner at the bottom of the page. $( '#wp-mail-smtp-pro-banner-dismiss', app.pageHolder ).on( 'click', function() { $.ajax( { url: ajaxurl, dataType: 'json', type: 'POST', data: { action: 'wp_mail_smtp_ajax', task: 'pro_banner_dismiss' } } ) .always( function() { $( '#wp-mail-smtp-pro-banner', app.pageHolder ).fadeOut( 'fast' ); } ); } ); // Dissmis educational notices for certain mailers. $( '.js-wp-mail-smtp-mailer-notice-dismiss', app.pageHolder ).on( 'click', function( e ) { e.preventDefault(); var $btn = $( this ), $notice = $btn.parents( '.inline-notice' ); if ( $btn.hasClass( 'disabled' ) ) { return false; } $.ajax( { url: ajaxurl, dataType: 'json', type: 'POST', data: { action: 'wp_mail_smtp_ajax', task: 'notice_dismiss', notice: $notice.data( 'notice' ), mailer: $notice.data( 'mailer' ) }, beforeSend: function() { $btn.addClass( 'disabled' ); } } ) .always( function() { $notice.fadeOut( 'fast', function() { $btn.removeClass( 'disabled' ); } ); } ); } ); // Show/hide debug output. $( '#wp-mail-smtp-debug .error-log-toggle' ).on( 'click', function( e ) { e.preventDefault(); $( '#wp-mail-smtp-debug .error-log' ).slideToggle(); } ); // Copy debug output to clipboard. $( '#wp-mail-smtp-debug .error-log-copy' ).on( 'click', function( e ) { e.preventDefault(); var $self = $( this ); // Get error log. var $content = $( '#wp-mail-smtp-debug .error-log' ); // Copy to clipboard. if ( ! $content.is( ':visible' ) ) { $content.addClass( 'error-log-selection' ); } var range = document.createRange(); range.selectNode( $content[0] ); window.getSelection().removeAllRanges(); window.getSelection().addRange( range ); document.execCommand( 'Copy' ); window.getSelection().removeAllRanges(); $content.removeClass( 'error-log-selection' ); $self.addClass( 'error-log-copy-copied' ); setTimeout( function() { $self.removeClass( 'error-log-copy-copied' ); }, 1500 ); } ); // Remove mailer connection. $( '.js-wp-mail-smtp-provider-remove', app.pageHolder ).on( 'click', function() { return confirm( wp_mail_smtp.text_provider_remove ); } ); // Copy input text to clipboard. $( '.wp-mail-smtp-setting-copy', app.pageHolder ).on( 'click', function( e ) { e.preventDefault(); var target = $( '#' + $( this ).data( 'source_id' ) ).get( 0 ); target.select(); document.execCommand( 'Copy' ); var $buttonIcon = $( this ).find( '.dashicons' ); $buttonIcon .removeClass( 'dashicons-admin-page' ) .addClass( 'dashicons-yes-alt wp-mail-smtp-success wp-mail-smtp-animate' ); setTimeout( function() { $buttonIcon .removeClass( 'dashicons-yes-alt wp-mail-smtp-success wp-mail-smtp-animate' ) .addClass( 'dashicons-admin-page' ); }, 1000 ); } ); // Notice bar: click on the dissmiss button. $( '#wp-mail-smtp-notice-bar' ).on( 'click', '.dismiss', function() { var $notice = $( this ).closest( '#wp-mail-smtp-notice-bar' ); $notice.addClass( 'out' ); setTimeout( function() { $notice.remove(); }, 300 ); $.post( ajaxurl, { action: 'wp_mail_smtp_notice_bar_dismiss', nonce: wp_mail_smtp.nonce, } ); } ); app.triggerExitNotice(); app.beforeSaveChecks(); // Register change event to show/hide plugin supported settings for currently selected mailer. $( '.js-wp-mail-smtp-setting-mailer-radio-input', app.pageHolder ).on( 'change', this.processMailerSettingsOnChange ); // Disable multiple click on the Email Test tab submit button and display a loader icon. $( '.wp-mail-smtp-tab-tools-test #email-test-form' ).on( 'submit', function() { var $button = $( this ).find( '.wp-mail-smtp-btn' ); $button.attr( 'disabled', true ); $button.find( 'span' ).hide(); $button.find( '.wp-mail-smtp-loading' ).show(); } ); }, education: { upgradeMailer: function( $input ) { $.alert( { backgroundDismiss: true, escapeKey: true, animationBounce: 1, type: 'blue', closeIcon: true, title: wp_mail_smtp.education.upgrade_title.replace( /%name%/g, $input.siblings( 'label' ).text().trim() ), icon: '"></i>' + wp_mail_smtp.education.upgrade_icon_lock + '<i class="', content: $( '.wp-mail-smtp-mailer-options .wp-mail-smtp-mailer-option-' + $input.val() + ' .wp-mail-smtp-setting-field' ).html(), boxWidth: '550px', onOpenBefore: function() { this.$btnc.after( '<div class="discount-note">' + wp_mail_smtp.education.upgrade_bonus + wp_mail_smtp.education.upgrade_doc + '</div>' ); this.$body.addClass( 'wp-mail-smtp-upgrade-mailer-education-modal' ); }, buttons: { confirm: { text: wp_mail_smtp.education.upgrade_button, btnClass: 'btn-confirm', keys: [ 'enter' ], action: function() { var appendChar = /(\?)/.test( wp_mail_smtp.education.upgrade_url ) ? '&' : '?', upgradeURL = wp_mail_smtp.education.upgrade_url + appendChar + 'utm_content=' + encodeURIComponent( $input.val() ); window.open( upgradeURL, '_blank' ); } } } } ); } }, /** * Individual mailers specific js code. * * @since 1.6.0 */ mailers: { smtp: { bindActions: function() { // Hide SMTP-specific user/pass when Auth disabled. $( '#wp-mail-smtp-setting-smtp-auth' ).on( 'change', function() { $( '#wp-mail-smtp-setting-row-smtp-user, #wp-mail-smtp-setting-row-smtp-pass' ).toggleClass( 'inactive' ); } ); // Port default values based on encryption type. $( '#wp-mail-smtp-setting-row-smtp-encryption input' ).on( 'change', function() { var $input = $( this ), $smtpPort = $( '#wp-mail-smtp-setting-smtp-port', app.pageHolder ); if ( 'tls' === $input.val() ) { $smtpPort.val( '587' ); $( '#wp-mail-smtp-setting-row-smtp-autotls' ).addClass( 'inactive' ); } else if ( 'ssl' === $input.val() ) { $smtpPort.val( '465' ); $( '#wp-mail-smtp-setting-row-smtp-autotls' ).removeClass( 'inactive' ); } else { $smtpPort.val( '25' ); $( '#wp-mail-smtp-setting-row-smtp-autotls' ).removeClass( 'inactive' ); } } ); } } }, /** * Exit notice JS code when plugin settings are not saved. * * @since 1.9.0 */ triggerExitNotice: function() { var $settingPages = $( '.wp-mail-smtp-page-general' ); // Display an exit notice, if settings are not saved. $( window ).on( 'beforeunload', function() { if ( app.pluginSettingsChanged ) { return wp_mail_smtp.text_settings_not_saved; } } ); // Set settings changed attribute, if any input was changed. $( ':input:not( #wp-mail-smtp-setting-license-key, .wp-mail-smtp-not-form-input )', $settingPages ).on( 'change', function() { app.pluginSettingsChanged = true; } ); // Clear the settings changed attribute, if the settings are about to be saved. $( 'form', $settingPages ).on( 'submit', function() { app.pluginSettingsChanged = false; } ); }, /** * Perform any checks before the settings are saved. * * Checks: * - warn users if they try to save the settings with the default (PHP) mailer selected. * * @since 2.1.0 */ beforeSaveChecks: function() { $( 'form', app.pageHolder ).on( 'submit', function() { if ( $( '.wp-mail-smtp-mailer input:checked', app.pageHolder ).val() === 'mail' ) { var $thisForm = $( this ); $.alert( { backgroundDismiss: false, escapeKey: false, animationBounce: 1, type: 'orange', icon: '"></i><img src="' + wp_mail_smtp.plugin_url + '/assets/images/font-awesome/exclamation-circle-solid-orange.svg" style="width: 40px; height: 40px;" alt="' + wp_mail_smtp.default_mailer_notice.icon_alt + '"><i class="', title: wp_mail_smtp.default_mailer_notice.title, content: wp_mail_smtp.default_mailer_notice.content, boxWidth: '550px', buttons: { confirm: { text: wp_mail_smtp.default_mailer_notice.save_button, btnClass: 'btn-confirm', keys: [ 'enter' ], action: function() { $thisForm.off( 'submit' ).trigger( 'submit' ); } }, cancel: { text: wp_mail_smtp.default_mailer_notice.cancel_button, btnClass: 'btn-cancel', }, } } ); return false; } } ); }, /** * On change callback for showing/hiding plugin supported settings for currently selected mailer. * * @since 2.3.0 */ processMailerSettingsOnChange: function() { var mailerSupportedSettings = wp_mail_smtp.all_mailers_supports[ $( this ).val() ]; for ( var setting in mailerSupportedSettings ) { // eslint-disable-next-line no-prototype-builtins if ( mailerSupportedSettings.hasOwnProperty( setting ) ) { $( '.js-wp-mail-smtp-setting-' + setting, app.pageHolder ).toggle( mailerSupportedSettings[ setting ] ); } } // Special case: "from email" (group settings). var $mainSettingInGroup = $( '.js-wp-mail-smtp-setting-from_email' ); $mainSettingInGroup.closest( '.wp-mail-smtp-setting-row' ).toggle( mailerSupportedSettings['from_email'] || mailerSupportedSettings['from_email_force'] ); $mainSettingInGroup.siblings( '.wp-mail-smtp-setting-mid-row-sep' ).toggle( mailerSupportedSettings['from_email'] && mailerSupportedSettings['from_email_force'] ); // Special case: "from name" (group settings). $mainSettingInGroup = $( '.js-wp-mail-smtp-setting-from_name' ); $mainSettingInGroup.closest( '.wp-mail-smtp-setting-row' ).toggle( mailerSupportedSettings['from_name'] || mailerSupportedSettings['from_name_force'] ); $mainSettingInGroup.siblings( '.wp-mail-smtp-setting-mid-row-sep' ).toggle( mailerSupportedSettings['from_name'] && mailerSupportedSettings['from_name_force'] ); }, /** * Set jQuery-Confirm default options. * * @since 2.9.0 */ setJQueryConfirmDefaults: function() { jconfirm.defaults = { typeAnimated: false, draggable: false, animateFromElement: false, theme: 'modern', boxWidth: '400px', useBootstrap: false }; }, /** * Flyout Menu (quick links). * * @since 3.0.0 */ initFlyoutMenu: function() { // Flyout Menu Elements. var $flyoutMenu = $( '#wp-mail-smtp-flyout' ); if ( $flyoutMenu.length === 0 ) { return; } var $head = $flyoutMenu.find( '.wp-mail-smtp-flyout-head' ); // Click on the menu head icon. $head.on( 'click', function( e ) { e.preventDefault(); $flyoutMenu.toggleClass( 'opened' ); } ); // Page elements and other values. var $wpfooter = $( '#wpfooter' ); if ( $wpfooter.length === 0 ) { return; } var $overlap = $( '.wp-mail-smtp-page-logs-archive, .wp-mail-smtp-tab-tools-action-scheduler, .wp-mail-smtp-page-reports, .wp-mail-smtp-tab-tools-debug-events' ), wpfooterTop = $wpfooter.offset().top, wpfooterBottom = wpfooterTop + $wpfooter.height(), overlapBottom = $overlap.length > 0 ? $overlap.offset().top + $overlap.height() + 85 : 0; // Hide menu if scrolled down to the bottom of the page or overlap some critical controls. $( window ).on( 'resize scroll', _.debounce( function() { var viewTop = $( window ).scrollTop(), viewBottom = viewTop + $( window ).height(); if ( wpfooterBottom <= viewBottom && wpfooterTop >= viewTop && overlapBottom > viewBottom ) { $flyoutMenu.addClass( 'out' ); } else { $flyoutMenu.removeClass( 'out' ); } }, 50 ) ); $( window ).trigger( 'scroll' ); } }; // Provide access to public functions/properties. return app; }( document, window, jQuery ) ); // Initialize. WPMailSMTP.Admin.Settings.init();