settings['enabled'] && ! $old_settings['enabled'] ) {
$url = get_site_url() . '/' . $this->settings['slug'];
$enabling = true;
$message = __( 'The Hide Backend feature is now active.', 'it-l10n-ithemes-security-pro' );
} elseif ( ! $this->settings['enabled'] && $old_settings['enabled'] ) {
$url = get_site_url() . '/wp-login.php';
$enabling = false;
$message = __( 'The Hide Backend feature is now disabled', 'it-l10n-ithemes-security-pro' );
} elseif ( $this->settings['enabled'] && $this->settings['slug'] !== $old_settings['slug'] ) {
$url = get_site_url() . '/' . $this->settings['slug'];
$enabling = false;
$message = __( 'The Hide Backend feature is now active.', 'it-l10n-ithemes-security-pro' );
} else {
return;
}
ITSEC_Response::add_message( $message );
ITSEC_Response::add_message( sprintf( __( 'Your new login URL is %1$s
. A reminder has also been sent to the notification email addresses set in iThemes Security’s Notification Center.', 'it-l10n-ithemes-security-pro' ), esc_url( $url ) ) );
$this->send_new_login_url( $url, $enabling );
}
private function send_new_login_url( $url, $enabling ) {
if ( ITSEC_Core::doing_data_upgrade() ) {
// Do not send emails when upgrading data. This prevents spamming users with notifications just because the
// data was ported from an old version to a new version.
return;
}
$nc = ITSEC_Core::get_notification_center();
if ( $enabling ) {
$nc->clear_notifications_cache();
ITSEC_Modules::get_settings_obj( 'notification-center' )->load();
}
$mail = $nc->mail();
$mail->add_header( esc_html__( 'New Login URL', 'it-l10n-ithemes-security-pro' ), esc_html__( 'New Login URL', 'it-l10n-ithemes-security-pro' ) );
$mail->add_text( ITSEC_Lib::replace_tags( $nc->get_message( 'hide-backend' ), array(
'login_url' => '' . esc_url( $url ) . '
',
'site_title' => get_bloginfo( 'name', 'display' ),
'site_url' => $mail->get_display_url(),
) ) );
$mail->add_button( esc_html__( 'Login Now', 'it-l10n-ithemes-security-pro' ), $url );
$mail->add_footer();
$subject = $mail->prepend_site_url_to_subject( $nc->get_subject( 'hide-backend' ) );
$subject = apply_filters( 'itsec_hide_backend_email_subject', $subject );
$mail->set_subject( $subject, false );
$nc->send( 'hide-backend', $mail );
}
}
ITSEC_Modules::register_settings( new ITSEC_Hide_Backend_Settings( ITSEC_Modules::get_config( 'hide-backend' ) ) );