Versuche es bitte so:
PHP-Code:
function doautourl($message)
{
global $mybb;
$message = " ".$message;
if($mybb->user['uid'] != "0") {
$message = preg_replace("#([\s\(\)])(https?|ftp|news){1}://([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^\"\s\(\)<\[]*)?)#ie", "\"$1\".doshorturl(\"$2://$3\")", $message);
$message = preg_replace("#([\s\(\)])(www|ftp)\.(([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^\"\s\(\)<\[]*)?)#ie", "\"$1\".doshorturl(\"$2.$3\", \"$2.$3\")", $message);
$message = substr($message, 1);
} else {
$message = preg_replace("#([\s\(\)])(https?|ftp|news){1}://([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^\"\s\(\)<\[]*)?)#ie", "<span style=\"color: red;\"Um diesen Link zu sehen musst du dich registrieren.</span>", $message);
$message = preg_replace("#([\s\(\)])(www|ftp)\.(([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^\"\s\(\)<\[]*)?)#ie", "<span style=\"color: red;\"Um diesen Link zu sehen musst du dich registrieren.</span>", $message);
$message = substr($message, 1);
}
return $message;
}
geht auch nicht so ganz. wenn uich als besucher auf ein Tehma klick mit Links kommt die meldung:
Parse error: syntax error, unexpected '<' in /usr/export/www/vhosts/funnetwork/hosting/computerdown/inc/functions_post.php(204) : regexp code on line 1
Fatal error: preg_replace(): Failed evaluating code: <span style="color: red;"Um diesen Link zu sehen musst du dich registrieren.</span> in /usr/export/www/vhosts/funnetwork/hosting/computerdown/inc/functions_post.php on line 204
So, hier eine Lösung, die funktioniert (gestestet!):
Öffne die Datei inc/functions_post.php und suche nach:
PHP-Code:
function doshorturl($url, $name="")
{
$fullurl = $url;
// attempt to make a bit of sense out of their url if they dont type it properly
if(strpos($url, "www.") === 0)
{
$fullurl = "http://".$fullurl;
}
if(strpos($url, "ftp.") === 0)
{
$fullurl = "ftp://".$fullurl;
}
if(strpos($fullurl, "://") === false)
{
$fullurl = "http://".$fullurl;
}
if(!$name)
{
$name = $url;
}
$name = stripslashes($name);
$url = stripslashes($url);
$fullurl = stripslashes($fullurl);
if($name == $url)
{
if(strlen($url) > 55)
{
$name = substr($url, 0, 40)."...".substr($url, -10);
}
}
$link = "<a href=\"$fullurl\" target=\"_blank\">$name</a>";
return $link;
}
Ersetzen durch:
PHP-Code:
function doshorturl($url, $name="")
{
global $mybb;
$fullurl = $url;
// attempt to make a bit of sense out of their url if they dont type it properly
if(strpos($url, "www.") === 0)
{
$fullurl = "http://".$fullurl;
}
if(strpos($url, "ftp.") === 0)
{
$fullurl = "ftp://".$fullurl;
}
if(strpos($fullurl, "://") === false)
{
$fullurl = "http://".$fullurl;
}
if(!$name)
{
$name = $url;
}
$name = stripslashes($name);
$url = stripslashes($url);
$fullurl = stripslashes($fullurl);
if($name == $url)
{
if(strlen($url) > 55)
{
$name = substr($url, 0, 40)."...".substr($url, -10);
}
}
if($mybb->user['uid'] != "0") {
$link = "<a href=\"$fullurl\" target=\"_blank\">$name</a>";
} else {
$link = "<span style=\"color: red;\">Um diesen Link zu sehen musst du dich registrieren</span>";
}
return $link;
}
geht leider nicht
Hast du den Code korrekt ersetzt? Bitte prüfe das nochmal und hänge ggf. deine inc/functions_post.php hier an.
Bei mir klappt es! Gute Idee!
Bei mir klappt es auch - habe aber jetzt noch eine Frage daz:
wäre es sehr aufwendig, einen sog. "Wahlschalter" (zusätzlich oben in die Leiste, z.B. mit einem roten Kreiz gekennzeichnet) einzubauen, indem man im voraus bestimmen kann, ob diese Links "privat" (also nur für registrierte User) oder aber allgemein zugänglich sein sollen (also auch für Gäste)?
Das wäre in mancher Hinsicht eine schöne Sache, wenn man private Details eben auch nur den registrierten Benutzer auf diese Weise zugänglich machen könnte, jedoch Infos allgemeiner Art auch Gästen zur Verfügung stellen kann??
Ach,
und schon wieder eine Idee (die ich aber leider selbst nicht umsetzen kann und somit wieder auf Hilfe angewiesen bin):
das Anschauen von eingestellten Videos (per wma-tag mittels des plugins, die ja auch den "html"-Code davor tragen), kann man das auch nur registrierte User sichtbar machen???? Dachte eigentlich, mit Michaels Änderungen müssten die auch betroffen sein?
Das wäre echt spitze (und ich glaube, sowas bisher noch in keinem anderen Forum so gesehen zu haben) ???
Noch eine alternative Frage:
Kann ich (als admin) in einzelnen posts die generelle Beschränkung für Gäste (evtl. mit einem Code davor) deaktivieren?
Wenn ja, wie?
Hi,
ich frag mal ganz zaghaft nach, ob jemand ne Lösung für mein Problem hätte?