View Single Post
  #52  
Old 06-29-2004, 09:52 PM
58sniper 58sniper is offline
 
Join Date: Sep 2002
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay - I was so happy with this hack that I'm going to help improve it. Hopefully, you will find this usefull...

What this does is, for 404 and 500 errors, the server will send you an email notifying you of the error, and providing some information that will assist you in resolving it.

open error.php and find:
Code:
$error['title'] = "404 File Not Found";
		$error['description'] = "The web server cannot find the file you asked for. Check the URL to ensure that the path is correct.";
		$error['contact'] = "Please <a href=\"$vboptions[bburl]/$vboptions[contactuslink]\">contact</a> us if you believe that the mistake is on our part.";
under that, paste
Code:
$error_message = "An attempt to get a file (". $_SERVER['REQUEST_URI'] . ") failed. Please investigate!\r\n";
		if (isset($_SERVER['HTTP_REFERER'])){
			$error_message .= "The user came from " . $_SERVER['HTTP_REFERER'] . "\r\n";
			if (!preg_match ("/.*?domain.com.*?/i", $_SERVER['HTTP_REFERER'])) {
				$error_message .= "You may wish to contact the administrator of that domain.\r\n";
			}
		}
		$error_message .= "User agent: " . $_SERVER['HTTP_USER_AGENT'] . "\r\n";
		$error_message .= "Remote Address: " . $_SERVER['REMOTE_ADDR'] . "\r\n";
		$error_message .= "Remote Port: " . $_SERVER['REMOTE_PORT'] . "\r\n";
find
Code:
$error['title'] = "500 Internal Server Error";
		$error['description'] = "We encountered an unexpected condition.";
		$error['contact'] = "Please <a href=\"$vboptions[bburl]/$vboptions[contactuslink]\">contact</a> us to report this problem.";
and paste this under it
Code:
$error_message = "An attempt to get a file (". $_SERVER['REQUEST_URI'] . ") caused an error. Please investigate!\r\n";
		if (isset($_SERVER['HTTP_REFERER'])){
			$error_message .= "The user came from " . $_SERVER['HTTP_REFERER'] . "\r\n";
		}

find
Code:
eval("print_output(\"".fetch_template('ERROR_SHELL')."\");");
and paste this ABOVE it

Code:
$error_headers = "";
	$error_headers .= "FROM:domain.com Error Manager <errors@domain.com>\n";
	$error_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	$error_headers .= "X-Mailer: PHP " . phpversion() . "\r\n";
	$error_headers .= "Importance: High\r\n";
	$error_headers .= "X-Priority: 5 (High)\r\n";
	$error_headers .= "Return-Path: <errors@domain.com>\r\n";

	if ((($_SERVER['REDIRECT_STATUS']=="404")&&($_SERVER['REQUEST_URI'] != "/error.php?eid=404"))||($_SERVER['REDIRECT_STATUS']=="500")){
		$error_subject = $eid . " error!";
		$error_mail = mail("webmaster <webmaster@domain.com>","$error_subject","$error_message","$error_headers");
	}
IMPORTANT! Now replace each of the instances of domain with your actual domain.

Save and upload the file and test by going to a non-existing page on your site. You should receive the email right after that.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01054 seconds
  • Memory Usage 1,781KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete