MyBB.de Forum

Normale Version: Links nur für registrierte Nutzer sichtbar ?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moin, gibt es einen sogenannten "Hide-Code" dass nur registrierte Benutzer Links in Posts sehen ?

Also die Beiträge sollen für jeden sichtbar bleiben, aber halt die Links in den Beiträgen sollen "versteckt" sein und halt nur dann sichtbar sein, wenn ein "registrierter" Benutzer diesen Beitrag besucht.

Wie wäre soetwas möglich ?
hidetoguests.php:
PHP-Code:
<?php
$plugins
->add_hook("parse_message""hidetoguests_run");
function 
hidetoguests_info()
{
    return array(
        
"name"        => "HideToGuest",
        
"description"    => "Hides text for guest specified in [hideguests] tag.",
        
"website"        => "http://das-computer-board.de/",
        
"author"        => "Das-Computer-Board.de",
        
"authorsite"    => "http://das-computer-board.de/",
        
"version"        => "1.0",
        
"guid"        => "",
        
"compatibility" => "14*"
    
);
}
function 
hidetoguests_run($message)
{
    
// Assign pattern and replace values.
    
global $mybb;
    if (
$mybb->user['uid'] == 0)
    {
    
$message eregi_replace("\[hideguests\](.*)\[/hideguests\]""<i>Dieser 
Text ist f&uuml;r G&auml;ste nicht sichtbar. Bitte <a 
href=\"member.php?action=login\">einloggen</a> oder <a 
href=\"member.php?action=register\">registrieren</a>.</i>"
$message);
    }
    elseif (
$mybb->user['usergroup'] == 5)
    {
    
$message eregi_replace("\[hideguests\](.*)\[/hideguests\]""<i>Dieser 
Text ist f&uuml;r unbestätigte Mitglieder nicht sichtbar. Bitte klicken Sie auf den 
Bestätigungslink, der Ihnen per Mail zugesendet wurde.</i>"
$message);
    }
    elseif (
$mybb->user['usergroup'] == 7)
    {
    
$message eregi_replace("\[hideguests\](.*)\[/hideguests\]""<i>Dieser 
Text ist f&uuml;r gesperrte Mitglieder nicht sichtbar.</i>"
$message);
    }
    elseif (
$mybb->user['postnum'] == 0)
    {
    
$message eregi_replace("\[hideguests\](.*)\[/hideguests\]""<i>Dieser 
Text ist f&uuml;r inaktive Mitglieder nicht sichtbar. Bitte schreiben Sie mindestens 
einen Beitrag, um diesen Text zu lesen.</i>"
$message);
    }
    else
    {
  
$message eregi_replace("\[hideguests\](.*)\[/hideguests\]""\\1"$message);
  }
    return 
$message;
}
?>
Die Datei mit einem Editor deiner Wahl öffnen und unter dem Namen "hidetoguests.php" speichern und in den PlugIn-Ordner (inc/plugins) hochladen

Dann den zu sperrenden Text mit [hideguests]**DEINTEXT**[/hideguests] umschließen.

Dieses PlugIn sperrt die Anzeige auch für User, die nicht die Mail bestätigt haben, für gebannte Benutzer und für Mitglieder die noch nichts geschrieben haben (jeweils mit anderem Hinweistext).

MFG
MaR-V-iN

PS: Du must das PlugIn natürlich auch im ACP aktivieren Big Grin
Öhm, dass hört sich ja so nicht schlecht an, aber kann ich dann nur als Admin die Links verstecken ? Falls ja, ist es nicht ganz dass was ich suche Sad

Es soll nämlich jeder "registrierte" die Möglichkeit haben, seine Links zu sperren bzw. zu verstecken.
Sry, scheint doch so zu funktionieren, wie ich es suche, kann man dies nun auch mit einen Button zu fügen ?

Also so, dass man immer nur klicken braucht, wie z.B. bei einem Zitat ?
Genau so ist es! Du müsstest natürlich deinen Mitgliedern sagen wie es funktioniert, aber jeder der diesen Tag verwendet kann den eingschlossenen Inhalt für Gäste sperren.

MFG
Hmm, über Buttons gibt es nicht die Möglichkeit es einzufügen ?
Die meisten Nutzer habe nicht allzu viel Erfahrung Sad

Dann habe ich noch ein Problem,
unzwar wird es nicht registrierten Benutzer wie folgt angezeigt:


Zitat:Dieser
Text ist für Gäste nicht sichtbar. Bitte
href="member.php?action=login">einloggen oder
href="member.php?action=register">registrieren.

Da soll aber nur stehen "einloggen" oder "registrieren",
wenn ich in der PHP den Link änder, läuft garnichts mehr Sad
Das Phenomen ist ganz einfach zu erklären...

Der Text-Parser von mybb entfernt einfach die html Tags und das resulktat ist, das sie nicht mehr da sind.

Du musst den Html-Code int BB-Code umwandeln, dann macht der Parser den Rest Wink

MfG Megaleecher
Ja und wie funktioniert das ? Sad
Das ist nicht so einfach zu erklären, außerdem ist bei dem Hook das BB_Code parsen schon vorbei also geht das auch nciht...

Ich werde aber in kurzer Zeit (heute noch) ein Plugin veröffentlichen, das dies kann.

MfG Megaleecher
dass wäre super, würde mich freuen, danke dir schon mal
Seiten: 1 2