 |
|
|
|

| Autor |
Nachricht |
EGO2000
phpBB2.de User


Anmeldungsdatum: 10.08.2002
Beiträge: 144
|
Verfasst am:
Fr 28 Feb, 2003 20:55 |
  |
auch eine nette idee, wie ich finde ...
| Code: |
auf den prefix aufpassen ...
CREATE TABLE phpBB_error_report (
error_id mediumint(8) unsigned NOT NULL auto_increment,
error_userid varchar(10) default NULL,
error_time varchar(10) default NULL,
error_sql_code varchar(10) default NULL,
error_sql_text text,
error_file varchar(255) default NULL,
error_file_line varchar(10) default NULL,
error_sql_store text,
error_msg_title varchar(50) default NULL,
error_msg_text varchar(200) default NULL,
PRIMARY KEY (error_id)
) TYPE=MyISAM;
#
#-----[ OPEN ]---------------------------------------------
#
includes\functions.php
#
#-----[ FIND ]---------------------------------------------
#
//
// Add on DEBUG info if we've enabled debug mode and this is an error. This
// prevents debug info being output for general messages should DEBUG be
// set TRUE by accident (preventing confusion for the end user!)
//
#
#-----[ BEFORE, ADD ]--------------------------------------
#
// Error Logging to DB
if ( $err_line != '' && $err_file != '' )
{
$error_time = time();
$error_userid = $userdata['user_id'];
$error_sql_code = $sql_error['code'];
$error_sql_text = ($sql_error['message']);
$error_sql_text = str_replace('\\', '\\\\', $error_sql_text);
$error_sql_text = str_replace('\'', '\\\'', $error_sql_text);
$error_sql_store = $sql_store;
$error_sql_store = str_replace('\\', '\\\\', $error_sql_store);
$error_sql_store = str_replace('\'', '\\\'', $error_sql_store);
$error_file = $err_file;
$error_file = str_replace('\\', '\\\\', $error_file);
$error_file = str_replace('\'', '\\\'', $error_file);
$sql = "INSERT INTO " . ERROR_REPORT_TABLE . " (error_sql_code, error_userid, error_file_line, error_time, error_sql_text, error_file, error_sql_store, error_msg_title, error_msg_text) VALUES ('$error_sql_code', '$error_userid', '$err_line', '$error_time', '$error_sql_text', '$error_file', '$error_sql_store', '$msg_title', '$msg_text')";
if ( !($result = $db->sql_query($sql)) )
{
$error_message = '<br /><br /><font color="#800000"><b>Can´t save Error Message</b></font>';
}
else
{
$error_message = '<br /><br /><font color="#008000"><b>Error Message saved in Database</b></font>';
}
}
// End Error Logging to DB
#
#-----[ FIND ]---------------------------------------------
#
$msg_text = $msg_text . '<br /><br /><b><u>DEBUG MODE</u></b>' . $debug_text;
#
#-----[ REPLACE WITH ]---------------------------------------
#
$msg_text = $msg_text . '<br /><br /><b><u>DEBUG MODE</u></b>' . $debug_text . $error_message;
#
#-----[ OPEN ]---------------------------------------------
#
includes\constants.php
#
#-----[ FIND ]---------------------------------------------
#
define('VOTE_USERS_TABLE', $table_prefix.'vote_voters');
#
#-----[ AFTER, ADD ]------------------------------------------
#
define('ERROR_REPORT_TABLE', $table_prefix.'error_report');
#
#-----[ SAVE/CLOSE ]--------------------------------------
#
|
so, das war´s ... hier noch meine php datei für den admin ordner, ist die auflistung wie auf dem screenshot, einfach als admin_error_log.php speichern ...
| PHP: |
<?php
define('IN_PHPBB', true);
if( !empty($setmodules) )
{
$file = basename(__FILE__);
$module['General']['Fehlerprotokoll'] = "$file?mode=";
return;
}
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
$file = basename(__FILE__);
if ( $mode == '' ) {
$sql = "SELECT * FROM " . ERROR_REPORT_TABLE . " ORDER by error_time";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain error list', '', __LINE__, __FILE__, $sql);
}
$rows = mysql_affected_rows();
if ( $rows == '0' )
{
print ("<center><br /><span class=\"gen\"><font face=\"Arial\">No Entrys in the Error Database<br /><br /><a href=index.$phpEx?pane=right> >> Back to Admin Index << </a></span></center><br />");
}
else
{
print ("<head><script language=\"JavaScript\">
<!--
function __off(n)
{
if(n && n.style)
{
if('none' != n.style.display)
{
n.style.display = 'none';
}
}
}
function __on(n)
{
if(n && n.style)
{
if('none' == n.style.display)
{
n.style.display = '';
}
}
}
function __toggle(n)
{
if(n && n.style)
{
if('none' == n.style.display)
{
n.style.display = '';
}
else
{
n.style.display = 'none';
}
}
}
//•
function onoff(objName,bObjState)
{
var sVar = ''+objName;
var sOn = ''+objName+'_on';
var sOff = ''+objName+'_off';
var sOnStyle = bObjState ? ' style=\"display:none;\" ':'';
var sOffStyle = !bObjState ? ' style=\"display:none;\" ':'';
var sSymStyle = ' style=\"text-align: center;width: 70;height: 13;font-family: Arial,Verdana;font-size: 7pt;border-style: solid;border-width: 1;cursor: hand;color: #003344;background-color: #CACACA;\" ';
if( (navigator.userAgent.indexOf(\"MSIE\") >= 0) && document && document.body && document.body.style)
{
document.write( '<span '+sOnStyle+'onclick=\"__on('+sVar+');__off('+sOn+');__on('+sOff+');\" id=\"'+sOn+'\" title=\"Click here to show details\"'+sSymStyle+'>Show Details<\/span>' +
'<span '+sOffStyle+'onclick=\"__off('+sVar+');__off('+sOff+');__on('+sOn+');\" id=\"'+sOff+'\" title=\"Click here to hide details\"'+sSymStyle+'>Hide Details<\/span>' );
}
}
// -->
</script>
</head>
<body>
<table width=\"100%\" cellspacing=\"0\" border=\"0\" class=\"forumline\">
<tr>
<th class=\"thHead\" colspan=\"5\">Fehlerprotokoll</th>
</tr>
</table><br /><hr><br />
");
while ( $row = $db->sql_fetchrow($result) )
{
$time = create_date($board_config['default_dateformat'], $row[2], $board_config['board_timezone']);
print ("<table border=\"0\" cellborder=\"0\" cellspacing=\"0\" width=\"100%\" cellpadding=\"0\">
<tr>
<td width=\"100%\" class=\"row1\" colspan=\"5\">
<script language=\"JavaScript\" type=\"text/javascript\">onoff('error_$row[0]_switch',false);</script>&
<span title=\"Click here to delete this entry\" style=\"text-align: center;width: 70;height: 13;font-family: Arial,Verdana;font-size: 7pt;border-style: solid;border-width: 1;cursor: hand;color: #003344;background-color: #CACACA;\"><a href=\"$file?mode=delete&id=$row[0]\">Delete</a></span></td>
</tr>
<tr>
<td width=\"100%\" class=\"row1\" colspan=\"5\">&</td>
</tr>
<td width=\"10%\" class=\"row1\">Error ID:</td>
<td width=\"20%\" class=\"row1\">$row[0]&</td>
<td width=\"10%\" class=\"row1\">User ID:</td>
<td width=\"20%\" class=\"row1\"><a href=\"../profile.$phpEx?mode=viewprofile&u=$row[1]\">$row[1]</a>&</td>
<td width=\"40%\" class=\"row1\" align=\"right\"><b>$time</b>&</td>
</tr>
<tr>
<td width=\"10%\" class=\"row1\">Error:</td>
<td width=\"20%\" class=\"row1\">$row[8]&</td>
<td width=\"10%\" class=\"row1\">Errortext:</td>
<td width=\"60%\" class=\"row1\" colspan=\"2\">$row[9]&</td>
</tr>
<table id=\"error_$row[0]_switch\" style=\"display:none;\"border=\"0\" cellspacing=\"0\" width=\"100%\" cellpadding=\"0\">
<tr>
<td width=\"10%\" class=\"row2\">SQL Code:</td>
<td width=\"20%\" class=\"row2\">$row[3]&</td>
<td width=\"10%\" class=\"row2\">SQL Text: </td>
<td width=\"60%\" class=\"row2\" colspan=\"2\">$row[4]&</td>
</tr>
<tr>
<td width=\"10%\" class=\"row2\">Line:</td>
<td width=\"20%\" class=\"row2\">$row[6]&</td>
<td width=\"10%\" class=\"row2\">in File:</td>
<td width=\"60%\" class=\"row2\" colspan=\"2\">$row[5]&</td>
</tr>
<tr>
<td width=\"100%\" class=\"row2\" colspan=\"5\">&</td>
</tr>
<tr>
<td width=\"10%\" class=\"row2\">SQL Store:</td>
<td width=\"90%\" class=\"row2\" colspan=\"4\">$row[7]&</td>
</tr></table><br /><hr><br />
");}
print ("<center><span class=\"gen\"><font face=\"Arial\"><b>$rows</b> Error(s) in the Database<br /><a href=\"$file?mode=clear\"> >> Clear Database << </a></font><span></center><br /><hr>");
}
}
if ( $mode == 'delete' && isset($id) )
{
$sql = "DELETE FROM " . ERROR_REPORT_TABLE . " WHERE error_id=$id";
if ( !($result = $db->sql_query($sql)) )
{
print ("<center><br /><span class=\"gen\"><font face=\"Arial\">Error ID [$id] - Could not delete<br /><br /><a href=$file> >> Back to Error Listing << </a></font></span></center><br />");
}
else
{
print ("<center><br /><span class=\"gen\"><font face=\"Arial\">Error ID [$id] - Deleted<br /><br /><a href=$file> >> Back to Error Listing << </a></font></span></center><br />");
}
}
if ( $mode == 'clear' )
{
$sql = "DELETE FROM " . ERROR_REPORT_TABLE . " ";
if ( !($result = $db->sql_query($sql)) )
{
print ("<center><br /><span class=\"gen\"><font face=\"Arial\">Could not delete Error List<br /><br /><a href=$file> >> Back to Error Listing << </a></font></span></center><br />");
}
else
{
print ("<center><br /><span class=\"gen\"><font face=\"Arial\">Error List is now empty<br /><br /><a href=index.$phpEx?pane=right> >> Back to Admin Index << </a></font></span></center><br />");
}
}
include('./page_footer_admin.'.$phpEx);
?>
|
 |
_________________ MfG EGO2000
Zuletzt bearbeitet von EGO2000 am Sa 01 März, 2003 20:09, insgesamt einmal bearbeitet |
|
   |
 |
Google
|
Verfasst am:
|
 |
|
|
 |
dogholiday
phpBB2.de User

Anmeldungsdatum: 25.02.2003
Beiträge: 350
Wohnort: Köln
|
Verfasst am:
Fr 28 Feb, 2003 21:38 |
  |
Funktioniert sogar richtig gut.
THX
Bin ich der erste der das Testet? Naja auch egal funktioniert ja.
Nur der zurück link klappt bei mir nicht richtig
Wie kann ich das jetzt fest in den admin-bereich einbinden??
Muss irgendwo unter templates/TEMPLATE_NAME/admin/ sein oder.
Schau einfach mal... vielleicht finde ich es ja |
_________________ Gruß DogHoliday
*Das System Administrator, Datenbanken und Programmierer-Forum* |
|
     |
 |
EGO2000
phpBB2.de User


Anmeldungsdatum: 10.08.2002
Beiträge: 144
|
Verfasst am:
Fr 28 Feb, 2003 22:38 |
  |
ich hab den obigen php code nur als admin_error_log.php gespeichert und die datei in den phpbb/admin ordner gepackt, verwendet kein extra template file ...
unter dem Menüpunkt Allgemeines steht dann halt Fehlerprotokoll, und dort funktionieren eigentlich alle Links, ist ja nur normales html |
_________________ MfG EGO2000 |
|
   |
 |
dogholiday
phpBB2.de User

Anmeldungsdatum: 25.02.2003
Beiträge: 350
Wohnort: Köln
|
Verfasst am:
Fr 28 Feb, 2003 22:55 |
  |
|
     |
 |
Elo
phpBB2.de User


Anmeldungsdatum: 20.11.2002
Beiträge: 352
Wohnort: RD
|
Verfasst am:
Sa 01 März, 2003 17:42 |
  |
In der admin_error_log.php habe ich zwei Bugs entdeckt.
1. alle
durch
ersetzen.
2. die zwei
durch
| Code: |
| " . ERROR_REPORT_TABLE . " |
ersetzen.
Elo |
|
|
   |
 |
dogholiday
phpBB2.de User

Anmeldungsdatum: 25.02.2003
Beiträge: 350
Wohnort: Köln
|
Verfasst am:
Sa 01 März, 2003 17:50 |
  |
|
     |
 |
EGO2000
phpBB2.de User


Anmeldungsdatum: 10.08.2002
Beiträge: 144
|
Verfasst am:
Sa 01 März, 2003 20:12 |
  |
ähm, ja, ich bin ne nase ... thx für den hinweis
hatte zum anfang noch mit $table gearbeitet, zwischenzeitlich aber die tabelle in die constants.php geaddet ... hab vergessen $table überall auszutauschen  |
_________________ MfG EGO2000 |
|
   |
 |
Novan
phpBB2.de User


Anmeldungsdatum: 10.08.2002
Beiträge: 112
Wohnort: Münster
|
Verfasst am:
Mo 03 März, 2003 17:03 |
  |
hmm,
hatte an sowas eigentlich auch mal gedacht aber ich habe alles nun per E-Mail realisiert.
Jedesmal wenn eine General_error oder critical_error auftaucht wird eine mail an mich versendet. So brauche ich nicht 5 Stunden rumcoden und ich werde automatisch benachrichtigt ohne den Mod aufzurufen  |
_________________ mfg
Novan
Zum Ultimativen "Moppet" Portal |
|
     |
 |
Helmut
phpBB2.de User

Anmeldungsdatum: 09.01.2003
Beiträge: 18
Wohnort: Augsburg
|
Verfasst am:
Mo 23 Jun, 2003 14:05 |
  |
Hallo EGO2000,
ich habe den Mod auch eingebaut und nur ein kleines Problem damit. Wenn ich den Netscape (Version 6.0, 6.1, 7.02) verwende, dann wird der Button "Show Details" ganz links nicht angezeigt. Mit dem IE 5.5 oder 6 wird er angezeigt. Kannst du mir einen Tip geben woran das liegt?
Gruß Helmut |
_________________ Ich bin nicht ganz dicht........na und!
Meine HP |
|
     |
 |
skaman
phpBB2.de User

Anmeldungsdatum: 22.12.2003
Beiträge: 25
Wohnort: Marl
|
Verfasst am:
Mo 12 Jan, 2004 15:37 |
  |
änder mal bei der mysqlabfrage die groß und kleinschreibung auf CREATE TABLE phpbb_error_report(
hat bei mir deshalb erst nicht funktioniert |
|
|
    |
 |
oxpus
phpBB2.de User

Anmeldungsdatum: 11.02.2003
Beiträge: 8613
Wohnort: Bad Wildungen
|
Verfasst am:
Mo 12 Jan, 2004 16:48 |
  |
Na das ist ja mal eine klasse Idee. Werde ich doch glatt mal ausprobieren (auch wenn ich sehr selten Fehler habe ). |
_________________ Karsten Ude
Support nur im Forum! || Support just on Forum!
OXPUS's Mods |
|
    |
 |
skaman
phpBB2.de User

Anmeldungsdatum: 22.12.2003
Beiträge: 25
Wohnort: Marl
|
Verfasst am:
Mo 12 Jan, 2004 16:56 |
  |
hab da doch noch nen problem
gespeichert werden die daten in meine datenbank
nur bei der abfrage zeigt der mir nicht die daten im adminpanel an sondern hinter jedem wert nur nen & |
|
|
    |
 |
Falko0504
phpBB2.de User


Anmeldungsdatum: 08.04.2003
Beiträge: 52
Wohnort: München
|
Verfasst am:
Mo 12 Jan, 2004 18:58 |
  |
|
    |
 |
oxpus
phpBB2.de User

Anmeldungsdatum: 11.02.2003
Beiträge: 8613
Wohnort: Bad Wildungen
|
Verfasst am:
Di 13 Jan, 2004 01:53 |
  |
Also das Teil funzt super klasse. Ist eine prima Hilfe. THX @EGO2000!!! |
_________________ Karsten Ude
Support nur im Forum! || Support just on Forum!
OXPUS's Mods |
|
    |
 |
skaman
phpBB2.de User

Anmeldungsdatum: 22.12.2003
Beiträge: 25
Wohnort: Marl
|
Verfasst am:
Di 13 Jan, 2004 18:48 |
  |
danke,
ich probier das mal aus wenn ich zeit hab |
_________________
 |
|
    |
 |
|
|
|
|
Gehe zu Seite 1, 2, 3, 4, 5, 6 Weiter
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
| |