MyBB.de Forum
Plugin nur für bestimmte benutzergruppen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Plugin nur für bestimmte benutzergruppen (/thread-10035.html)

Seiten: Seiten: 1 2 3


Plugin nur für bestimmte benutzergruppen - wWs - 26.07.2008

Hi wie kann man denn in einem Plugin einfügen, das dass Plugin nur für bestimmte Benutzergruppen gilt?

z.B nehmen wir mal ein myvideo Plugin und das soll nur für sagen wir Regestrierte User sein.

Kann mir jemand weiter helfen?


RE: Plugin nur für bestimmte benutzergruppen - Michael - 26.07.2008

Du meinst, dass der myvideo-Code nur für registrierte Benutzer umgewandelt wird? Oder meinst du, dass der Code nur nur in Beiträgen von registrierten Benutzern umgewandelt wird?


RE: Plugin nur für bestimmte benutzergruppen - wWs - 26.07.2008

Genau das es nur für Reg. Benutzer umgewandelt wird Wink
(jedoch heißt die Benutzergruppe bei mir jugglewuggle)


RE: Plugin nur für bestimmte benutzergruppen - Michael - 26.07.2008

PHP-Code:
// Feststellen, dass Benutzer angemeldet ist
if($mybb->user['uid'] != '0') {
    
// Code umwandeln




RE: Plugin nur für bestimmte benutzergruppen - wWs - 27.07.2008

Hi leider klappt das nicht so wirklich habe jetzt zum Testen die Id von admins eingegeben:
PHP-Code:
<?php
// Myvideo Video Plugin

$plugins->add_hook("parse_message""myvideo");

function 
myvideo_info()
{
    return array(
        
"name"            => "MyVideo BBCode",
        
"description"    => "Bindet Videos von MyVideo ein",
        
"website"        => "http://www.profi-webmaster.com",
        
"author"        => "Flo",
        
"authorsite"    => "http://www.profi-webmaster.com",
        
"version"        => "1.0",
    );
}

function 
myvideo_activate()
{
}

function 
myvideo_deactivate()
{
}

function 
myvideo($message)
{
    return 
preg_replace('#\[myvideo\](.*?)\[/myvideo\]#i'"<table border=\"1\" bordercolor = \"blue\" cellspacing=\"0\" cellpadding=\"0\"  >
<tr>
<td class=\"thead\" align=\"center\"><strong><a href = \"$1\" title = \"Dieses Video bei MyVideo ansehen\" target = \"_new\">MyVideo</a></stong></td>
</tr>
<tr>
<td>
<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"470\" height=\"406\"><param name=\"movie\" value=\"http://www.myvideo.de/movie/$1\"></param><embed src=\"http://www.myvideo.de/movie/$1\" width=\"470\" height=\"406\" type=\"application/x-shockwave-flash\"></embed></object>
</td>
</tr>
</table>"
$message);
}
// Feststellen, dass Benutzer angemeldet ist
if($mybb->user['uid'] != '4') {
    
// Code umwandeln
}
?>

Aber leider können es alle sehen siehe hier
http://wildweststyle.bplaced.net/Upload/showthread.php?tid=1


RE: Plugin nur für bestimmte benutzergruppen - StefanT - 27.07.2008

Der Code muss zwischen die Klammern der if-Abfrage, damit überhaput etwas passiert.


RE: Plugin nur für bestimmte benutzergruppen - wWs - 27.07.2008

Wie meinst du das?
Den Code hat Michael ja schon in if klammern gesetzt?

// Feststellen, dass Benutzer angemeldet ist
if($mybb->user['uid'] != '4') {
// Code umwandeln
}
Oder wo muss der Code eingefügt werden?

Ich bin kein großer php versteher also entschuldige meine Dummheit Toungue


RE: Plugin nur für bestimmte benutzergruppen - linwinman - 27.07.2008

Hallo wWs,

verwende bitte einmal diesen Code:
PHP-Code:
<?php
// Myvideo Video Plugin

$plugins->add_hook("parse_message""myvideo");

function 
myvideo_info()
{
    return array(
        
"name"            => "MyVideo BBCode",
        
"description"    => "Bindet Videos von MyVideo ein",
        
"website"        => "http://www.profi-webmaster.com",
        
"author"        => "Flo",
        
"authorsite"    => "http://www.profi-webmaster.com",
        
"version"        => "1.0",
    );
}

function 
myvideo_activate()
{
}

function 
myvideo_deactivate()
{
}

function 
myvideo($message)
// Feststellen, dass Benutzer angemeldet ist
if($mybb->user['uid'] != '4') {   
// Code umwandeln
    
return preg_replace('#\[myvideo\](.*?)\[/myvideo\]#i'"<table border=\"1\" bordercolor = \"blue\" cellspacing=\"0\" cellpadding=\"0\"  >
<tr>
<td class=\"thead\" align=\"center\"><strong><a href = \"$1\" title = \"Dieses Video bei MyVideo ansehen\" target = \"_new\">MyVideo</a></stong></td>
</tr>
<tr>
<td>
<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"470\" height=\"406\"><param name=\"movie\" value=\"http://www.myvideo.de/movie/$1\"></param><embed src=\"http://www.myvideo.de/movie/$1\" width=\"470\" height=\"406\" type=\"application/x-shockwave-flash\"></embed></object>
</td>
</tr>
</table>"
$message);
}
?>

BTW: warum definierst du, dass alle außer der Benutzer mit der ID "4" dieses Feature verwenden dürfen - oder ist das gewollt? Wink


RE: Plugin nur für bestimmte benutzergruppen - wWs - 27.07.2008

Das uid ist doch die nummer der Benutzergruppen?
4 ist in dem Fall die uid von Admins

Oder seh ich das falsch?
Da kommt eine Fehler meldung

http://wildweststyle.bplaced.net/Upload/admin/index.php


RE: Plugin nur für bestimmte benutzergruppen - Michael - 27.07.2008

uid ist die Benutzer-ID, die für jeden Benutzer einzigartig ist. So wie es jetzt ist, funktioniert das Plugin für alle Benutzer, außer dem mit der ID 4. Wenn es nur für angemeldete Benutzer funktionieren soll, musst du 0 anstatt 4 nehmen. Gäste haben keine Benutzer-ID (=0). Somit würde eine Umwandlung für alle Benutzer stattfinden außer für Gäste.