Na, ok, dann mal kurz und schmerzlos. Das mit dem BBCode habe ich mir gespart. 2 Dateien müssen modifiziert werden:
includes/functions_post.php
suchen:
Code: Alles auswählen
return;
}
//
// Post a new topic/reply/poll or edit existing post/poll
//
davor(!) einfügen:
Code: Alles auswählen
// add by makue 10.06.04 (Profillink für Usernamen im Posting)
if (!empty($message)) {
$words = split("[/.-\,\!? ]",$message);
foreach($words as $word) {
$word = trim($word);
if (strlen($word)>2) {
$sql = "SELECT user_id FROM ".USERS_TABLE." WHERE username = '".$word."' LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
message_die(GENERAL_ERROR, 'Cannot read userdata','',__LINE__,__FILE__,$sql);
if( $row = $db->sql_fetchrow($result) ) {
$message = ereg_replace($word,"<a class=\"gen\" href=\"profile.".$phpEx."?mode=viewprofile&u=".$row["user_id"]."\" target=\"_blank\">".$word."</a >",$message);
}
}
}
}
// end of add
gemeint ist das Ende der Funktion prepare_post. Also vor dem return am Ende der Funktion einfügen.
posting.php
suchen:
Code: Alles auswählen
$message = str_replace('<', '<', $message);
$message = str_replace('>', '>', $message);
$message = str_replace('<br />', "\n", $message);
danach einfügen:
Code: Alles auswählen
// add by makue 10.06.04 (Profillink für Usernamen im Posting)
$message = preg_replace("/<a class=\"gen\" href=\"profile\.php\?mode=viewprofile&u=.+\" target=\"_blank\">/","", $message);
$message = str_replace("</a >","", $message);
// end of add
Getestet habe ich es, läuft perfekt, ich lasse das jetzt auch drin. Ich muss aber auch erwähnen, dass es bei längeren Postings beim Absenden zu einer Verzögerung kommt. Bei mir dauert es bei einem Posting mit 1000 Wörtern etwa 10 Sekunden. Ich werde das nun doch wieder rauswerfen...
Dann lieber doch ein BBCode den man per Hand einfügen muss.
Sorry, noch ein Nachtrag: Das mit der Verzögerung lag an was anderem. Also eigentlich spürt man es doch nicht.

Am besten ihr testet es selbst.