Hallo,
ich schreibe mal deutsch, weil ich kein Englisch kann - es reicht jedenfalls nicht für diese Masse an Informationen.
Ich habe diesen MOD mal lokal installiert.
Gefällt mir ganz gut, wenn man etwas an der Optik arbeitet.
Als Admin kann man immer alle Nachrichten lesen, als User oder Moderator halt dem Level entsprechend.
Eigentlich cool.
Aber. Wenn man den Code original belässt, kann ein User nur User-Nachrichten erstellen und sein Code [user] [/user] bleibt ohne Funktion.
da ich aber meine, dass auch ein User eine Nachricht an den Admin oder Moderator schreiben können sollte, habe ich einfach in der functions.php das hier:
- Code: Alles auswählen
if ($userdata['user_level'] == ADMIN)
$button_set = sprintf($lang['staff_message_text_admin'], '<a href="javascript:emoticon(\'\n[admin]\n[/admin]\n\')" alt="'. $lang['staff_message_text_admin_e'] .'" title="'. $lang['staff_message_text_admin_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[moderator]\n[/moderator]\n\')" alt="'. $lang['staff_message_text_mod_e'] .'" title="'. $lang['staff_message_text_mod_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[user]\n[/user]\n\')" alt="'. $lang['staff_message_text_user_e'] .'" title="'. $lang['staff_message_text_user_e'] .'">', '</a>');
#==== Mods, 2 buttons (mod, user)
if ($userdata['user_level'] == MOD)
$button_set = sprintf($lang['staff_message_text_mod'], '<a href="javascript:emoticon(\'\n[moderator]\n[/moderator]\n\')" alt="'. $lang['staff_message_text_mod_e'] .'" title="'. $lang['staff_message_text_mod_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[user]\n[/user]\n\')" alt="'. $lang['staff_message_text_user_e'] .'" title="'. $lang['staff_message_text_user_e'] .'">', '</a>');
#==== Users, 1 button (user)
if ($userdata['user_level'] == USER)
$button_set = sprintf($lang['staff_message_text_user'], '<a href="javascript:emoticon(\'\n[user]\n[/user]\n\')" alt="'. $lang['staff_message_text_user_e'] .'" title="'. $lang['staff_message_text_user_e'] .'">', '</a>');
gegen das hier ersetzt:
- Code: Alles auswählen
if ($userdata['user_level'] == ADMIN)
$button_set = sprintf($lang['staff_message_text_admin'], '<a href="javascript:emoticon(\'\n[admin]\n\n[/admin]\')" alt="'. $lang['staff_message_text_admin_e'] .'" title="'. $lang['staff_message_text_admin_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[moderator]\n\n[/moderator]\')" alt="'. $lang['staff_message_text_mod_e'] .'" title="'. $lang['staff_message_text_mod_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[user]\n\n[/user]\')" alt="'. $lang['staff_message_text_user_e'] .'" title="'. $lang['staff_message_text_user_e'] .'">', '</a>');
#==== Mods, 2 buttons (mod, user)
if ($userdata['user_level'] == MOD)
$button_set = sprintf($lang['staff_message_text_admin'], '<a href="javascript:emoticon(\'\n[admin]\n\n[/admin]\')" alt="'. $lang['staff_message_text_admin_e'] .'" title="'. $lang['staff_message_text_admin_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[moderator]\n\n[/moderator]\')" alt="'. $lang['staff_message_text_mod_e'] .'" title="'. $lang['staff_message_text_mod_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[user]\n\n[/user]\')" alt="'. $lang['staff_message_text_user_e'] .'" title="'. $lang['staff_message_text_user_e'] .'">', '</a>');
#==== Users, 1 button (user)
if ($userdata['user_level'] == USER)
$button_set = sprintf($lang['staff_message_text_admin'], '<a href="javascript:emoticon(\'\n[admin]\n\n[/admin]\')" alt="'. $lang['staff_message_text_admin_e'] .'" title="'. $lang['staff_message_text_admin_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[moderator]\n\n[/moderator]\')" alt="'. $lang['staff_message_text_mod_e'] .'" title="'. $lang['staff_message_text_mod_e'] .'">', '</a>', '<a href="javascript:emoticon(\'\n[user]\n\n[/user]\')" alt="'. $lang['staff_message_text_user_e'] .'" title="'. $lang['staff_message_text_user_e'] .'">', '</a>');
^^Codeblock ersetzt.So weit so gut.
User können nun Nachrichten an bestimmte Level verschicken, der Code funktioniert und alles ist schön.
ABER....
Jeder Hans und Franz kann einfach zitieren und schon sieht er, was dort zwischen den Tags steht.
Gruß Max
EDIT:
Ich habe mal eben nach dem Essen weitergefummelt.
Es funktioniert nun ganz gut und die Fehler sind eigentlich weg.
1.) so kann man Zitieren, ohne dass die Staff-Nachrichten mit zitiert werden:
posting.php
suche:
- Code: Alles auswählen
if ( $mode == 'quote' )
{
danach einfügen:
- Code: Alles auswählen
if ( (strstr($message, '[admin]')) && (strstr($message, '[moderator]')) && (strstr($message, '[user]')) )
$message = parse_staff_message_filter('Entfernte Staff-Message');
Entfernte Staff-Message gegen den eigenen Text oder nichts austauschen.
2.) in der Suche muss das auch ausgeblendet werden:
search.php
suche:
- Code: Alles auswählen
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
danach einfügen:
- Code: Alles auswählen
if ( (strstr($message, '[admin]')) && (strstr($message, '[moderator]')) && (strstr($message, '[user]')) )
$message = parse_staff_message_filter('Entfernte Staff-Message');
Entfernte Staff-Message gegen den eigenen Text oder nichts austauschen.
Das funktioniert nun also.
Allerdings wird der Cursor beim Anklicken der jeweiligen Filter hinter den Tags positioniert.
Wenn man das hinbekäme, dass der innerhalb der Tags landet, wäre das genial.
Gruß MAx
Noch ein Edit:
Testen und Gucken hier:
http://www.hundefotografie.org/forum/vi ... =1109#1109
Login:
User | test