report post hack - Info per PN
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
report post hack - Info per PN
Hallo!
Habe den Report Post Hack von Snaerder (1.1.2) und möchte aber, daß man anstelle der Email eine PN erhält.
Dann sieht man sofort die neue PN und erhält zusätzlich eine Email (aufgrund der PN).
Habe den Report Post Hack von Snaerder (1.1.2) und möchte aber, daß man anstelle der Email eine PN erhält.
Dann sieht man sofort die neue PN und erhält zusätzlich eine Email (aufgrund der PN).
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
https://www.deskmodder.de
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
*vorsichtigbump*
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
https://www.deskmodder.de
Weiss zwar nicht, ob Du das selbst kannst, aber hier wäre die entsprehende Funktion zum automatischen erstellen einer PN
phpbb.com Insert PM
phpbb.com Insert PM
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
Super, danke!!!
Das werde ich heute gleich mal testen.
Das werde ich heute gleich mal testen.
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
https://www.deskmodder.de
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
Hi!
ich habe es so gemacht - soweit ich das noch nachkonstruieren kann:
in der /includes/functions_post.php habe ich folgendes eingefügt (am Ende der Datei:
dann noch in der /includes/page_header.php:
FINDE: (eventuell ohne die "#" in den letzten paar Zeilen)
DANACH EINFÜGEN: (Text, Link und User_ID in der "insert_pm"-Funktion anpassen)
Das müsste alles gewesen sein - ohne Gewähr
vorher Backup machen!
ich habe es so gemacht - soweit ich das noch nachkonstruieren kann:
in der /includes/functions_post.php habe ich folgendes eingefügt (am Ende der Datei:
Code: Alles auswählen
function insert_pm(
$to_id,
$message,
$subject,
$from_id,
$html_on = 0,
$bbcode_on = 1,
$smilies_on = 1)
{
global $db, $lang, $user_ip, $board_config, $userdata, $phpbb_root_path, $phpEx;
if ( !$from_id )
{
$from_id = $userdata['user_id'];
}
//get varibles ready
$to_id = intval($to_id);
$from_id = intval($from_id);
$msg_time = time();
$attach_sig = $userdata['user_attachsig'];
//get to users info
$sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active
FROM " . USERS_TABLE . "
WHERE user_id = '$to_id'
AND user_id <> " . ANONYMOUS;
if ( !($result = $db->sql_query($sql)) )
{
$error = TRUE;
$error_msg = $lang['No_such_user'];
}
$to_userdata = $db->sql_fetchrow($result);
$privmsg_subject = trim(strip_tags($subject));
if ( empty($privmsg_subject) )
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_subject'];
}
if ( !empty($message) )
{
if ( !$error )
{
if ( $bbcode_on )
{
$bbcode_uid = make_bbcode_uid();
}
# $privmsg_message = prepare_message($message, $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
# $privmsg_message = str_replace('\\\n', '\n', $privmsg_message);
$privmsg_message = $message;
}
}
else
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_message'];
}
//
// See if recipient is at their inbox limit
//
$sql = "SELECT COUNT(privmsgs_id) AS inbox_items, MIN(privmsgs_date) AS oldest_post_time
FROM " . PRIVMSGS_TABLE . "
WHERE ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
OR privmsgs_type = " . PRIVMSGS_READ_MAIL . "
OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )
AND privmsgs_to_userid = " . $to_userdata['user_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_MESSAGE, $lang['No_such_user']);
}
$sql_priority = ( SQL_LAYER == 'mysql' ) ? 'LOW_PRIORITY' : '';
if ( $inbox_info = $db->sql_fetchrow($result) )
{
if ( $inbox_info['inbox_items'] >= $board_config['max_inbox_privmsgs'] )
{
$sql = "SELECT privmsgs_id FROM " . PRIVMSGS_TABLE . "
WHERE ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
OR privmsgs_type = " . PRIVMSGS_READ_MAIL . "
OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )
AND privmsgs_date = " . $inbox_info['oldest_post_time'] . "
AND privmsgs_to_userid = " . $to_userdata['user_id'];
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not find oldest privmsgs (inbox)', '', __LINE__, __FILE__, $sql);
}
$old_privmsgs_id = $db->sql_fetchrow($result);
$old_privmsgs_id = $old_privmsgs_id['privmsgs_id'];
$sql = "DELETE $sql_priority FROM " . PRIVMSGS_TABLE . "
WHERE privmsgs_id = $old_privmsgs_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete oldest privmsgs (inbox)'.$sql, '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE $sql_priority FROM " . PRIVMSGS_TEXT_TABLE . "
WHERE privmsgs_text_id = $old_privmsgs_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete oldest privmsgs text (inbox)', '', __LINE__, __FILE__, $sql);
}
}
}
$sql_info = "INSERT INTO " . PRIVMSGS_TABLE . " (privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip, privmsgs_enable_html, privmsgs_enable_bbcode, privmsgs_enable_smilies, privmsgs_attach_sig)
VALUES (" . PRIVMSGS_NEW_MAIL . ", '" . str_replace("\'", "''", $privmsg_subject) . "', " . $from_id . ", " . $to_userdata['user_id'] . ", $msg_time, '$user_ip', $html_on, $bbcode_on, $smilies_on, $attach_sig)";
if ( !($result = $db->sql_query($sql_info, BEGIN_TRANSACTION)) )
{
message_die(GENERAL_ERROR, "Could not insert/update private message sent info.", "", __LINE__, __FILE__, $sql_info);
}
$privmsg_sent_id = $db->sql_nextid();
$sql = "INSERT INTO " . PRIVMSGS_TEXT_TABLE . " (privmsgs_text_id, privmsgs_bbcode_uid, privmsgs_text)
VALUES ($privmsg_sent_id, '" . $bbcode_uid . "', '" . str_replace("\'", "''", $privmsg_message) . "')";
if ( !$db->sql_query($sql, END_TRANSACTION) )
{
message_die(GENERAL_ERROR, "Could not insert/update private message sent text.", "", __LINE__, __FILE__, $sql);
}
//
// Add to the users new pm counter
//
$sql = "UPDATE " . USERS_TABLE . "
SET user_new_privmsg = user_new_privmsg + 1, user_last_privmsg = " . time() . "
WHERE user_id = " . $to_userdata['user_id'];
if ( !$status = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read status for user', '', __LINE__, __FILE__, $sql);
}
if ( $to_userdata['user_notify_pm'] && !empty($to_userdata['user_email']) && $to_userdata['user_active'] )
{
$script_name = preg_replace('/^\/?(.*?)\/?$/', "\\1", trim($board_config['script_path']));
$script_name = ( $script_name != '' ) ? $script_name . '/privmsg.'.$phpEx : 'privmsg.'.$phpEx;
$server_name = trim($board_config['server_name']);
$server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://';
$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
$emailer->use_template('privmsg_notify', $to_userdata['user_lang']);
$emailer->email_address($to_userdata['user_email']);
$emailer->set_subject($lang['Notification_subject']);
$emailer->assign_vars(array(
'USERNAME' => $to_username,
'SITENAME' => $board_config['sitename'],
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
'U_INBOX' => $server_protocol . $server_name . $server_port . $script_name . '?folder=inbox')
);
$emailer->send();
$emailer->reset();
}
return;
$msg = $lang['Message_sent'] . '<br /><br />' . sprintf($lang['Click_return_inbox'], '<a href="' . append_sid("privmsg.$phpEx?folder=inbox") . '">', '</a> ') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $msg);
} // insert_pm()FINDE:
Code: Alles auswählen
// BEGIN Report Post Hack
if ( $userdata['user_level'] == ADMIN || (!$board_config['report_only_admin'] && $userdata['user_level'] > USER) )
{
$template->assign_block_vars("switch_report_list", array(
'U_REPORT_LIST' => append_sid('report.'.$phpEx),
'L_REPORT_LIST' => $lang['Report_list'])
);
if ( !defined('NO_REPORT_POPUP') && empty($userdata['no_report_popup']) && !empty($userdata['refresh_report_popup']) )
{
if ( !isset($rp) )
{
include($phpbb_root_path . 'includes/reportpost.'.$phpEx);
}
if ( $rp->check_report_popup($userdata) )
{
# $template->assign_block_vars("switch_report_popup", array(
# 'U_REPORT_POPUP' => append_sid('report.'.$phpEx.'?mode=popup'),
# 'S_WIDTH' => $board_config['report_popup_width'],
# 'S_HEIGHT' => $board_config['report_popup_height'])
# );DANACH EINFÜGEN:
Code: Alles auswählen
// sende PN bei neuem Report - Start
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
include_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);
$message = "Es wurde ein Beitrag gemeldet. Klicke auf den folgenden Link um in die Reportliste zu kommen: http://www.deinedomain.de/phpBB2/report.php";
$title = "Ein Beitrag wurde gemeldet!";
$pn_user_id = $userdata['user_id'];
insert_pm($pn_user_id, $message, $title, 2695);
// sende PN bei neuem Report - EndeDas müsste alles gewesen sein - ohne Gewähr
Danke
. Werde es gleich mal ausprobieren.
Aber sag mal, da man ja keinen Code löscht / abändert sondern nur hinzufügt, kriegt man dann nicht sogar die eMail Meldung + PN Benarichtung (+ die damit verbundene eMail Meldung) ?
Sollte das so sein, bitte nur auf PN beschränken
Wie mache ich es wenn ich es an 2 Leute schicken möchte, nämlich an ID=2 (Admin) und ID 28 (Moderator) ?!
Aber sag mal, da man ja keinen Code löscht / abändert sondern nur hinzufügt, kriegt man dann nicht sogar die eMail Meldung + PN Benarichtung (+ die damit verbundene eMail Meldung) ?
Sollte das so sein, bitte nur auf PN beschränken
Wie mache ich es wenn ich es an 2 Leute schicken möchte, nämlich an ID=2 (Admin) und ID 28 (Moderator) ?!
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
Ohne Email funzt es mit der abgeänderten Version in der functions_post.php:
Der Code schickt jedem, der früher das Email erhalten hatte, sobald jemand einen Beitrag gemeldet hat (bevor Du die Änderung gemacht hast), eine PN.
D.h. daß jeder Report-List-Berechtigte eine PN erhält. Die anderen, die die PN später lesen, sehen ja in der Report-Übersicht, daß der Report bereits bearbeitet wurde.
P.S.: die im Code angegebene ID 2695 muss durch die ID des gewünschten PN-Absenders ersetzt werden
Code: Alles auswählen
# PN versenden (derzeit ohne Email)
function insert_pm(
$to_id,
$message,
$subject,
$from_id,
$html_on = 0,
$bbcode_on = 1,
$smilies_on = 1)
{
global $db, $lang, $user_ip, $board_config, $userdata, $phpbb_root_path, $phpEx;
if ( !$from_id )
{
$from_id = $userdata['user_id'];
}
//get varibles ready
$to_id = intval($to_id);
$from_id = intval($from_id);
$msg_time = time();
$attach_sig = $userdata['user_attachsig'];
//get to users info
$sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active
FROM " . USERS_TABLE . "
WHERE user_id = '$to_id'
AND user_id <> " . ANONYMOUS;
if ( !($result = $db->sql_query($sql)) )
{
$error = TRUE;
$error_msg = $lang['No_such_user'];
}
$to_userdata = $db->sql_fetchrow($result);
$privmsg_subject = trim(strip_tags($subject));
if ( empty($privmsg_subject) )
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_subject'];
}
if ( !empty($message) )
{
if ( !$error )
{
if ( $bbcode_on )
{
$bbcode_uid = make_bbcode_uid();
}
# $privmsg_message = prepare_message($message, $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
# $privmsg_message = str_replace('\\\n', '\n', $privmsg_message);
$privmsg_message = $message;
}
}
else
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_message'];
}
//
// See if recipient is at their inbox limit
//
$sql = "SELECT COUNT(privmsgs_id) AS inbox_items, MIN(privmsgs_date) AS oldest_post_time
FROM " . PRIVMSGS_TABLE . "
WHERE ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
OR privmsgs_type = " . PRIVMSGS_READ_MAIL . "
OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )
AND privmsgs_to_userid = " . $to_userdata['user_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_MESSAGE, $lang['No_such_user']);
}
$sql_priority = ( SQL_LAYER == 'mysql' ) ? 'LOW_PRIORITY' : '';
if ( $inbox_info = $db->sql_fetchrow($result) )
{
if ( $inbox_info['inbox_items'] >= $board_config['max_inbox_privmsgs'] )
{
$sql = "SELECT privmsgs_id FROM " . PRIVMSGS_TABLE . "
WHERE ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
OR privmsgs_type = " . PRIVMSGS_READ_MAIL . "
OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )
AND privmsgs_date = " . $inbox_info['oldest_post_time'] . "
AND privmsgs_to_userid = " . $to_userdata['user_id'];
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not find oldest privmsgs (inbox)', '', __LINE__, __FILE__, $sql);
}
$old_privmsgs_id = $db->sql_fetchrow($result);
$old_privmsgs_id = $old_privmsgs_id['privmsgs_id'];
$sql = "DELETE $sql_priority FROM " . PRIVMSGS_TABLE . "
WHERE privmsgs_id = $old_privmsgs_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete oldest privmsgs (inbox)'.$sql, '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE $sql_priority FROM " . PRIVMSGS_TEXT_TABLE . "
WHERE privmsgs_text_id = $old_privmsgs_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete oldest privmsgs text (inbox)', '', __LINE__, __FILE__, $sql);
}
}
}
$sql_info = "INSERT INTO " . PRIVMSGS_TABLE . " (privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip, privmsgs_enable_html, privmsgs_enable_bbcode, privmsgs_enable_smilies, privmsgs_attach_sig)
VALUES (" . PRIVMSGS_NEW_MAIL . ", '" . str_replace("\'", "''", $privmsg_subject) . "', " . $from_id . ", " . $to_userdata['user_id'] . ", $msg_time, '$user_ip', $html_on, $bbcode_on, $smilies_on, $attach_sig)";
if ( !($result = $db->sql_query($sql_info, BEGIN_TRANSACTION)) )
{
message_die(GENERAL_ERROR, "Could not insert/update private message sent info.", "", __LINE__, __FILE__, $sql_info);
}
$privmsg_sent_id = $db->sql_nextid();
$sql = "INSERT INTO " . PRIVMSGS_TEXT_TABLE . " (privmsgs_text_id, privmsgs_bbcode_uid, privmsgs_text)
VALUES ($privmsg_sent_id, '" . $bbcode_uid . "', '" . str_replace("\'", "''", $privmsg_message) . "')";
if ( !$db->sql_query($sql, END_TRANSACTION) )
{
message_die(GENERAL_ERROR, "Could not insert/update private message sent text.", "", __LINE__, __FILE__, $sql);
}
//
// Add to the users new pm counter
//
$sql = "UPDATE " . USERS_TABLE . "
SET user_new_privmsg = user_new_privmsg + 1, user_last_privmsg = " . time() . "
WHERE user_id = " . $to_userdata['user_id'];
if ( !$status = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read status for user', '', __LINE__, __FILE__, $sql);
}
/*
if ( $to_userdata['user_notify_pm'] && !empty($to_userdata['user_email']) && $to_userdata['user_active'] )
{
$script_name = preg_replace('/^\/?(.*?)\/?$/', "\\1", trim($board_config['script_path']));
$script_name = ( $script_name != '' ) ? $script_name . '/privmsg.'.$phpEx : 'privmsg.'.$phpEx;
$server_name = trim($board_config['server_name']);
$server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://';
$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
$emailer->use_template('privmsg_notify', $to_userdata['user_lang']);
$emailer->email_address($to_userdata['user_email']);
$emailer->set_subject($lang['Notification_subject']);
$emailer->assign_vars(array(
'USERNAME' => $to_username,
'SITENAME' => $board_config['sitename'],
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
'U_INBOX' => $server_protocol . $server_name . $server_port . $script_name . '?folder=inbox')
);
$emailer->send();
$emailer->reset();
}
*/
return;
$msg = $lang['Message_sent'] . '<br /><br />' . sprintf($lang['Click_return_inbox'], '<a href="' . append_sid("privmsg.$phpEx?folder=inbox") . '">', '</a> ') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $msg);
} // insert_pm()D.h. daß jeder Report-List-Berechtigte eine PN erhält. Die anderen, die die PN später lesen, sehen ja in der Report-Übersicht, daß der Report bereits bearbeitet wurde.
P.S.: die im Code
Code: Alles auswählen
insert_pm($pn_user_id, $message, $title, 2695);So nachdem ein paar Problemchen da waren hab ich die beseitigen können.
Habe jetzt die Anweißungen (page_header aus 1. beitrag, func_post aus 2. beitrag) jetzt durchgeführt. Es kam die Meldung (wenn in die index.php aufgerunfen habe) irgendwas mit "T STRING in page_header.php on line xx". An der Stelle stand ein Teil deines Codes ($message=...
also hab ich ein # davor gesetz in der Hoffnung dass es immer noch geht - tut es auch.
Die index.php lädt wieder, nur wenn ich eine Meldung schreibe kommt eine weiße Seite (kein template wird geladen) auf dem steht
Die Email wird trotzdem an mich gesendet - aber es kommt keine PN an, und du meintest doch dass man nun keine eMail mehr bekommt (höchstens in der steht dass man eine PN bekommt).
Ich weiß jetzt nicht wo genau das liegt, ob er an eine ID schicken möchte die nicht existiert, oder der Absender falsch ist. Außerdem wundert es mich dass du einerseits sagst dass der jetzt eine PN an alle schickt, die die Rechte dazu haben, aber immernoch in der page_header.php angegeben wird an welche ID das ganze geschickt werden soll ?!
Hoffe kannst mir folgen
Weiß jetzt also nicht weiter, mein Ziel ist es 1 Modeator (hab nur einen) mit der ID 28 und einem Admin (ich) mit der ID eine PN zu schicken.
Vielen Dank im Vorraus , weiß das sehr zu schätzen.
Habe jetzt die Anweißungen (page_header aus 1. beitrag, func_post aus 2. beitrag) jetzt durchgeführt. Es kam die Meldung (wenn in die index.php aufgerunfen habe) irgendwas mit "T STRING in page_header.php on line xx". An der Stelle stand ein Teil deines Codes ($message=...
Die index.php lädt wieder, nur wenn ich eine Meldung schreibe kommt eine weiße Seite (kein template wird geladen) auf dem steht
Code: Alles auswählen
Information
Es existiert kein Benutzer mit diesem Namen.Ich weiß jetzt nicht wo genau das liegt, ob er an eine ID schicken möchte die nicht existiert, oder der Absender falsch ist. Außerdem wundert es mich dass du einerseits sagst dass der jetzt eine PN an alle schickt, die die Rechte dazu haben, aber immernoch in der page_header.php angegeben wird an welche ID das ganze geschickt werden soll ?!
Hoffe kannst mir folgen
Weiß jetzt also nicht weiter, mein Ziel ist es 1 Modeator (hab nur einen) mit der ID 28 und einem Admin (ich) mit der ID eine PN zu schicken.
Vielen Dank im Vorraus , weiß das sehr zu schätzen.
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
Hmm, ist ja schon ein Weilchen her, als ich das bei mir alles verändert habe.
Ich habe diese Funktion auch noch für andere Dinge laufen, darum ist das noch schwerer nachzuvollziehen. Ich habe den Code so bei mir drin.
Die Fehlermeldung deutet darauf hin, daß Du beim PN-Absender eine ungültige ID genommen hast. Die Empfänger-ID kann es nicht sein, denn die ID wird von der aktuellen User-ID übernommen.
Nimm am besten: (ID 2 ist der Hauptadmin, den es ja geben sollte)
Bez. der Email:
Es ist so: der Report hack verschickt automatisch eine Email. Der Zusatz erzeugt eine PN (die normalerweise auch eine Email zur Folge hat). Mit dem Code vom "2. Posting" wird nur die Email für die PN unterdrückt, nicht aber die Email der Report Hacks.
Das hat den Vorteil, daß Mods, die nicht im Board online sind, eine Email erhalten und die Mods, die online sind, sehen es aufgrund der PN (müssen dann halt die Email später löschen) - der Hintergedanke ist der, daß die Mods, egal ob online oder nicht, sehen, daß ein Beitrag gemeldet wurde und solche Dinge gehören ja rasch erledigt.
Ohne dem Zusatz sah man keinen gemeldeten Beitrag im Forum selbst, ausser man verirrte sich genau zum richtigen Zeitpunkt in der Report-Liste
Der in der page_header.php eingefügte Code wird nur dann aufgerufen, wenn der jeweilige User die Rechte dazu hat - siehe: (kurz vor dem neu eigenfügtem Code)
Daher wird die PN auch nur an die User geschickt, die die Rechte haben.
Ich habe diese Funktion auch noch für andere Dinge laufen, darum ist das noch schwerer nachzuvollziehen. Ich habe den Code so bei mir drin.
Die Fehlermeldung deutet darauf hin, daß Du beim PN-Absender eine ungültige ID genommen hast. Die Empfänger-ID kann es nicht sein, denn die ID wird von der aktuellen User-ID übernommen.
Nimm am besten:
Code: Alles auswählen
insert_pm($pn_user_id, $message, $title, 2);Bez. der Email:
Es ist so: der Report hack verschickt automatisch eine Email. Der Zusatz erzeugt eine PN (die normalerweise auch eine Email zur Folge hat). Mit dem Code vom "2. Posting" wird nur die Email für die PN unterdrückt, nicht aber die Email der Report Hacks.
Das hat den Vorteil, daß Mods, die nicht im Board online sind, eine Email erhalten und die Mods, die online sind, sehen es aufgrund der PN (müssen dann halt die Email später löschen) - der Hintergedanke ist der, daß die Mods, egal ob online oder nicht, sehen, daß ein Beitrag gemeldet wurde und solche Dinge gehören ja rasch erledigt.
Ohne dem Zusatz sah man keinen gemeldeten Beitrag im Forum selbst, ausser man verirrte sich genau zum richtigen Zeitpunkt in der Report-Liste
Der in der page_header.php eingefügte Code wird nur dann aufgerufen, wenn der jeweilige User die Rechte dazu hat - siehe:
Code: Alles auswählen
if ( $userdata['user_level'] == ADMIN || (!$board_config['report_only_admin'] && $userdata['user_level'] > USER) )Daher wird die PN auch nur an die User geschickt, die die Rechte haben.