Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Links nur für registrierte Nutzer sichtbar ?
#1
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 ?
Zitieren
#2
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
Zitieren
#3
Ö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 ?
Zitieren
#4
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
Zitieren
#5
Kannst dir auch davon etwas aussuchen:

- https://www.mybb.de/forum/thread-20526.html
- https://www.mybb.de/forum/thread-21509.html
- https://www.mybb.de/forum/thread-21492.html
- https://www.mybb.de/forum/thread-20535.html
- https://www.mybb.de/forum/thread-20495.html
- https://www.mybb.de/forum/thread-20145.html
 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#6
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
Zitieren
#7
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
Höre nie auf besser zu werden, weil dann hast du aufgehört gut zu sein.
Zitieren
#8
Ja und wie funktioniert das ? Sad
Zitieren
#9
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
Höre nie auf besser zu werden, weil dann hast du aufgehört gut zu sein.
Zitieren
#10
dass wäre super, würde mich freuen, danke dir schon mal
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  PN Sperre für einzelne Nutzer skrilaxrev 12 3.521 10.06.2019, 12:48
Letzter Beitrag: itsmeJAY
  hide links - ein Forum für alle sichtbar machen Anton 4 3.073 10.07.2013, 17:24
Letzter Beitrag: Anton
  Links für Gäste nicht sichtbar Kingakis 11 3.070 01.10.2012, 15:54
Letzter Beitrag: Jockl
  Code nur für gereggte User sichtbar sonic1978 2 1.528 17.04.2012, 17:42
Letzter Beitrag: sonic1978
  Plugins nur für registrierte sichtbar machen? furiify 4 1.984 22.03.2012, 15:22
Letzter Beitrag: furiify