Esempio n. 1
0
 function maintenance_alert_404()
 {
     if (!is_404()) {
         return;
     }
     $email = get_option('mainwp_maintenance_opt_alert_404_email');
     if (empty($email) || !preg_match('/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/is', $email)) {
         return;
     }
     // set status
     header('HTTP/1.1 404 Not Found');
     header('Status: 404 Not Found');
     // site info
     $blog = get_bloginfo('name');
     $site = get_bloginfo('url') . '/';
     $from_email = get_bloginfo('admin_email');
     // referrer
     if (isset($_SERVER['HTTP_REFERER'])) {
         $referer = MainWP_Helper::clean($_SERVER['HTTP_REFERER']);
     } else {
         $referer = 'undefined';
     }
     $protocol = isset($_SERVER['HTTPS']) && strcasecmp($_SERVER['HTTPS'], 'off') ? 'https://' : 'http://';
     // request URI
     if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER['HTTP_HOST'])) {
         $request = MainWP_Helper::clean($protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
     } else {
         $request = 'undefined';
     }
     // query string
     if (isset($_SERVER['QUERY_STRING'])) {
         $string = MainWP_Helper::clean($_SERVER['QUERY_STRING']);
     } else {
         $string = 'undefined';
     }
     // IP address
     if (isset($_SERVER['REMOTE_ADDR'])) {
         $address = MainWP_Helper::clean($_SERVER['REMOTE_ADDR']);
     } else {
         $address = 'undefined';
     }
     // user agent
     if (isset($_SERVER['HTTP_USER_AGENT'])) {
         $agent = MainWP_Helper::clean($_SERVER['HTTP_USER_AGENT']);
     } else {
         $agent = 'undefined';
     }
     // identity
     if (isset($_SERVER['REMOTE_IDENT'])) {
         $remote = MainWP_Helper::clean($_SERVER['REMOTE_IDENT']);
     } else {
         $remote = 'undefined';
     }
     // log time
     $time = MainWP_Helper::clean(date('F jS Y, h:ia', time()));
     $mail = '<div>' . 'TIME: ' . $time . '</div>' . '<div>' . '*404: ' . $request . '</div>' . '<div>' . 'SITE: ' . $site . '</div>' . '<div>' . 'REFERRER: ' . $referer . '</div>' . '<div>' . 'QUERY STRING: ' . $string . '</div>' . '<div>' . 'REMOTE ADDRESS: ' . $address . '</div>' . '<div>' . 'REMOTE IDENTITY: ' . $remote . '</div>' . '<div>' . 'USER AGENT: ' . $agent . '</div>';
     $mail = '<div>404 alert</div>
             <div></div>' . $mail;
     wp_mail($email, 'MainWP - 404 Alert: ' . $blog, MainWP_Helper::formatEmail($email, $mail), array('From: "' . $from_email . '" <' . $from_email . '>', 'content-type: text/html'));
 }