示例#1
0
<?php

wp_redirect(ITSEC_Core::get_security_check_page_url());
exit;
 /**
  * Send the daily digest email.
  *
  * @since 2.6.0
  *
  * @return
  */
 public function send_daily_digest()
 {
     global $itsec_lockout;
     $send_email = false;
     require_once ITSEC_Core::get_core_dir() . 'lib/class-itsec-mailer.php';
     $mail = new ITSEC_Mail();
     $mail->add_header(esc_html__('Daily Security Digest', 'better-wp-security'), sprintf(wp_kses(__('Your Daily Security Digest for <b>%s</b>', 'better-wp-security'), array('b' => array())), date_i18n(get_option('date_format'))));
     $mail->add_info_box(sprintf(wp_kses(__('The following is a summary of security related activity on your site: <b>%s</b>', 'better-wp-security'), array('b' => array())), get_option('siteurl')));
     $mail->add_section_heading(esc_html__('Lockouts', 'better-wp-security'), 'lock');
     $user_count = sizeof($itsec_lockout->get_lockouts('user', true));
     $host_count = sizeof($itsec_lockout->get_lockouts('host', true));
     if ($host_count > 0 || $user_count > 0) {
         $mail->add_lockouts_summary($user_count, $host_count);
         $send_email = true;
     } else {
         $mail->add_text(esc_html__('No lockouts since the last email check.', 'better-wp-security'));
     }
     if (is_array($this->queue) && !empty($this->queue['messages']) && is_array($this->queue['messages'])) {
         if (in_array('file-change', $this->queue['messages'])) {
             $mail->add_section_heading(esc_html__('File Changes', 'better-wp-security'), 'folder');
             $mail->add_text(esc_html__('File changes detected on the site.', 'better-wp-security'));
             $send_email = true;
         }
         $messages = array();
         foreach ($this->queue['messages'] as $message) {
             if ('file-change' === $message) {
                 continue;
             }
             $messages[] = $message;
         }
         if (!empty($messages)) {
             $mail->add_section_heading(esc_html__('Messages', 'better-wp-security'), 'message');
             foreach ($messages as $message) {
                 $mail->add_text($message);
             }
             $send_email = true;
         }
     }
     if (!$send_email) {
         return;
     }
     $mail->add_details_box(sprintf(wp_kses(__('For more details, <a href="%s"><b>visit your security logs</b></a>', 'better-wp-security'), array('a' => array('href' => array()), 'b' => array())), ITSEC_Core::get_logs_page_url()));
     $mail->add_divider();
     $mail->add_large_text(esc_html__('Is your site as secure as it could be?', 'better-wp-security'));
     $mail->add_text(esc_html__('Ensure your site is using recommended settings and features with a security check.', 'better-wp-security'));
     $mail->add_button(esc_html__('Run a Security Check ✓', 'better-wp-security'), ITSEC_Core::get_security_check_page_url());
     if (defined('ITSEC_DEBUG') && true === ITSEC_DEBUG) {
         $mail->add_text(sprintf(esc_html__('Debug info (source page): %s', 'better-wp-security'), esc_url($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"])));
     }
     $mail->add_footer();
     $raw_recipients = ITSEC_Modules::get_setting('global', 'notification_email');
     $recipients = array();
     foreach ($raw_recipients as $recipient) {
         $recipient = trim($recipient);
         if (is_email($recipient)) {
             $recipients[] = $recipient;
         }
     }
     $this->queue = array('last_sent' => ITSEC_Core::get_current_time_gmt(), 'messages' => array());
     update_site_option('itsec_message_queue', $this->queue);
     $subject = sprintf(esc_html__('[%s] Daily Security Digest', 'better-wp-security'), esc_url(get_option('siteurl')));
     return $mail->send($recipients, $subject);
 }