MyBB.de Forum

Normale Version: Plugin nur für bestimmte benutzergruppen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Was dein Codeproblem angeht:
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);
}
}
?>
hmm ok das Video ist wieder zu sehen aber auch für nicht reg. User.

Ich hätte gerne das es jetzt z.B nur für Admins im Forum gezeigt wird.
Für alle anderen als Link.

Ich dachte eig. das der Code...

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

Dafür ist?
4 Steht ja in dem Fall für die Benutzergruppe Admin
Wie schon gesagt, ist $mybb->user['uid'] die Benutzer-ID. Wenn du die Benutzergruppen-ID abfragen willst, nimm $mybb->user['usergroup'].
Sag mal bin ich blöd es will bei mir einfach nicht klick machen

admin ist doch
// Feststellen, dass Benutzer angemeldet ist
if($mybb->user['usergroup_4']) {
// Code umwandeln
Probier es mal mit dieser Varíante Wink
Code:
if($mybb->user['usergroup'] != '4'){
....
}
Und trotzdem können unregestrierte User das sehen Sad
Und unregistrierte User gehören auch der usergroup 4 an? Evtl. musst Du einfach nochmal die ID prüfen und ggf. ersetzen.
PHP-Code:
<td>Unregistered Not Logged In<br /></td>
<
td align="center">0<td align="right" nowrap="nowrap">
<
select name="usergroup_1" onchange="usergroup_hop(1);"

Die haben die uid 1?
Ich weiß nicht, wo diese Code-Zeilen her sind, aber wenn ich auf der Suche nach einer Gruppen-ID bin, gehe ich ins ACP -> Verwaltung -> Cache-Manager -> usergroups -> Inhalte ansehen.
Dort kannst Du für jede Gruppen die ID erkennen und entsprechend in solche Abfragen (auch verknüpft mit logischem UND und ODER) einsetzen.
Irgendwie wird hier jetzt alles durcheinandergewürfelt. So wie ich das verstanden habe, sollen Gäste die Videos nicht zu sehen bekommen. Dann versuchs mal damit:
PHP-Code:
function myvideo($message) {
    global 
$mybb;
    
// Feststellen, dass Benutzer angemeldet ist
    
if($mybb->user['uid'] != '0') {
    
// 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);
    } else {
        return 
preg_replace('#\[myvideo\](.*?)\[/myvideo\]#i'""$message);
    }

Seiten: 1 2 3