Hallo,
ich hab hier:
http://www.phpbb.de/viewtopic.php?p=192280#192280
meinen ersten Mod gehackstückelt.
Er soll für bestimmte Gruppen zusätzliche eigene Avatare ermöglichen.
Wer möchte kann mal Testen, Optimierungsvorschläge sind auch willkommen. (hab gerade mit PHP is mir neu)
Ein Gruß
Itac
Avatare für bestimmte Gruppen-Mod
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Die Idee ist klasse
Aber bei mir funzt es nicht 
bekomme den Fehler
Kann bei mir aber sein, daß es daran liegt, daß ich folgenden Hack installiert habe:
Schade, aber trotzdem super-Idee, werde den Avatar-Gallery-Hack mal testweise entfernen und Deinen Mod nochmal ausprobieren 
Viele Grüße,
Lucas


bekomme den Fehler
Code: Alles auswählen
Couldn't obtain user group information.
DEBUG MODE
SQL Error : 1146 Table 'meinedomain_de.PHPBB_GROUPS' doesn't exist
SELECT * FROM PHPBB_GROUPS
Line : 361
File : /is/htdocs/49513/www.meinedomain.de/includes/usercp_avatar.php
Code: Alles auswählen
## Mod Title: Avatar gallery hack
## Mod Version: 1.0.0
## phpBB Version: 2.0.2
## Author: dzidzius - dzidzius@dione.ids.pl (you can find me also at forum www.ForumBest.150.pl, there send all questions)
## Description:
## Avatar from gallery after chosing it by user automatically disappear from gallery. Thanks
## to this hack two users cannot have the same avatar. If user resign from that avatar it will
## be shown again in gallery.
## Installation Level: easy
## Installation Time: 2
## Files To Edit:
##
## includes\usercp_avatar.php

Viele Grüße,
Lucas
@Acid: na hoffendlich nicht zu früh, ist ja noch beta.
Ich hab noch bemerkt wenn der GruppenAvatar Ordner an erster Stelle
liegt wird er, auch wenn der User nicht in der Grupe ist, angezeigt.
Entweder nehm ich "x_" statt "g_" oder muß nochmal coden.
@Acid: die Zeile werd ich mal umbauen, ich hab das Problem
das ich keine Übersicht der Variabel gefunden und da hab ich das
verwendet was ich mit phpMyAdmin aus der Datenbank gelesen
habe....
*Ärmel hochkrempel*
Ich hab noch bemerkt wenn der GruppenAvatar Ordner an erster Stelle
liegt wird er, auch wenn der User nicht in der Grupe ist, angezeigt.
Entweder nehm ich "x_" statt "g_" oder muß nochmal coden.
@Acid: die Zeile werd ich mal umbauen, ich hab das Problem
das ich keine Übersicht der Variabel gefunden und da hab ich das
verwendet was ich mit phpMyAdmin aus der Datenbank gelesen
habe....
*Ärmel hochkrempel*

danke Henne für den Tip.
Ich habe mich entschlossen statt "g_" nehm ich "x_"
dazu sollte ein Order lieger der nicht mit "x_" anfängt,
dieser ist dann der Ordner dem man zuerst sieht.
hier nochmal der ganze Mod:
öffne usercp_avatar.php
suche
ersetze durch
speichere Datei
lege min. 2 Ordner in "images\avatars\gallery" an
einen den User auf jeden fall sehen z.B. "gallery01" und
einen zweiten für User einer Gruppe z.B. "x_anova".
lege dort in paar Bilder hinein.
melde Dich als Admin an und erzeuge eine Gruppe
z.B. "anova". Dazu einen Gruppen-Moderator und evlt.
ein paar User (die kann auch der Gruppen-Moderator eintragen)
an besten die Gruppe als geschlossen oder versteckt anlegen.
testen
Natürlich könnte man jetzt noch die erste Ausgabe so umschreiben
das per default keine "x_" Gruppe angezeigt wird.
aber man könnte
*edit 27.08.03. 14:45*
Ich habe mich entschlossen statt "g_" nehm ich "x_"
dazu sollte ein Order lieger der nicht mit "x_" anfängt,
dieser ist dann der Ordner dem man zuerst sieht.
hier nochmal der ganze Mod:
öffne usercp_avatar.php
suche
Code: Alles auswählen
while( list($key) = each($avatar_images) )
{
$selected = ( $key == $category ) ? ' selected="selected"' : '';
if( count($avatar_images[$key]) )
{
$s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>';
}
}
$s_categories .= '</select>';
Code: Alles auswählen
global $userdata;
//Usergruppe des Users Finden
$is_in_Group = array();
$zz=-1;
//hole Gruppen ID des Users
$sql = "SELECT * FROM ".USER_GROUP_TABLE." WHERE user_id = ".$userdata['user_id'];
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain user group information.", "", __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result))
{
$zz++;
$is_in_Group[$zz] =$row['group_id']; //merke GruppenID vom User
}
//wandele GruppenID in Gruppennamen um
if($zz>-1)
{
$sql = "SELECT * FROM ".GROUPS_TABLE;
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain user group information.", "", __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result))
{
for ($i=0;$i<($zz+1);$i++)
{
if ($is_in_Group[$i]==$row['group_id'])
{
$is_in_Group[$i]=strtolower ($row['group_name']);
}
}
}
}
//Aufbau der dropdownbox
while( list($key) = each($avatar_images) )
{
$selected = ( $key == $category ) ? ' selected="selected"' : '';
if( count($avatar_images[$key]) )
{
$AvatarOrdner=strtolower ($key); //ordnername
$AvatarOrdnerT= substr($AvatarOrdner, 2); //ohne die ersten beiden Zeichen
$test=substr($AvatarOrdner, 0, 2); //die ersten beiden Zeichen
//Wenn Ordner mit "x_" anfängt gucken ob User zugriff darauf haben soll (=in Gruppe ist)
if ($test=="x_")
{
for ($i=0;$i<($zz+1);$i++)
{
if ($is_in_Group[$i]==$AvatarOrdnerT)
{
$s_categories .= '<option value="' . $key . '"' . $selected . '>'. ucfirst($AvatarOrdnerT) . '</option>';
}
}
}
else
{
$s_categories .= '<option value="' . $key . '"' . $selected . '>'. ucfirst($key) . '</option>';
}
}
}
$s_categories .= '</select>';
lege min. 2 Ordner in "images\avatars\gallery" an
einen den User auf jeden fall sehen z.B. "gallery01" und
einen zweiten für User einer Gruppe z.B. "x_anova".
lege dort in paar Bilder hinein.
melde Dich als Admin an und erzeuge eine Gruppe
z.B. "anova". Dazu einen Gruppen-Moderator und evlt.
ein paar User (die kann auch der Gruppen-Moderator eintragen)
an besten die Gruppe als geschlossen oder versteckt anlegen.
testen
Natürlich könnte man jetzt noch die erste Ausgabe so umschreiben
das per default keine "x_" Gruppe angezeigt wird.
aber man könnte

*edit 27.08.03. 14:45*
-
- Mitglied
- Beiträge: 48
- Registriert: 06.11.2004 20:53