close× Call Us +49 (1805) 01 29 59

HarlekinPower
Thread Author: Firewall
Thread ID: 4128
Thread Info
Es gibt 9 Beiträge zu diesem Thema, und es wurde 4192 mal angesehen.  Es gibt auch Dateianhänge.
Wer ist hier? 1 Gäste
 Thema drucken
MyBuddySystemAddon
Firewall
Hallo Leute,
heute mal etwas für die Coder.

Unzwar habe ich eine kleine Klasse geschrieben für das MyBuddySystem Smile
Folgende Funktionen sind vorhanden:

Zitat

Friend::checkMeFriend(id);

Diese Methode liefert true zurück falls der eingeloggte Benutzer mit der ID befreundet ist. Wobei die ID die ID des anderen Benutzers ist.

Zitat

Friend::checkFriend(id1, id2);

Diese Methode liefert true zurück falls die ID1 mit der ID2 befreundet ist. Wobei beide IDs die IDs der Benutzer sind.

Diese Klasse kann man z.B.. benutzen um eine Pinnwand, wie auf Favebook zu schreiben, oder verschiedene Funktionen nur für Freunde sein sollte. Nebenbei fand ich es etwas blöd: Ich habe vor einiger Zeit schonmal in ein / zwei Foren gefragt ob es sowas gäbe und man mir gesagt hat, dass soetwas sehr kompliziert sei.. naja ich brauchte 10 Minuten für die beiden Methoden und sie funktionierten einwandfrei!

Lieben Gruss,
Jordan

PS: Ich hoffe jemand kann damit etwas anfangen Dickeslachen
PPS: Natürlich ist die ReadMe und die Klasse im Anhang
Firewall hat folgende Datei angehängt:

friendsystem.zip [1.3kB / 637 mal Heruntergeladen]


Downloaded by:

fusion.my-netfriends.de/images/php-fusion-logo.png
 
SC-Ad-Bot
 
Kevin
Hallo Firewall,

an sich ist das auch nicht schwer. Ich habe selber mal so eine Abfrage gesucht. Wurde mir auch hier im Forum geholfen.

Ist eine Simple If Abfrage und ja die kann man dann in jede Datei einbauen wo eine Funktion auf dein Profil nur für deine Freunde sichtbar ist.

Aber klasse das du mal eine Funktion geschrieben hast. Wird den einen oder anderen sicherlich nützlich sein.

Habe so eben noch die If Abfrage mit der ich das damals gemacht habe die ich von den Entwickler direkt bekommen habe im Forum gesucht hier ist sie:

if (iMEMBER AND buddy_request($user_data['user_id'],$userdata['user_id'],2)) {
   echo "Sind Freunde";
} else {
   echo "Sind keine Freunde";
}


Die If Abfrage macht nichts anderes als in der Datenbank zu schauen ob User 1 mit User 2 befreundet ist, ist dies Der Fall erscheint der Inhalt ist dies nicht der Fall kommt z.B. eine Meldung Sind keine Freunde und der Inhalt erscheint nicht. Admins und Super Admins können jedoch trotzdem das Profil sehen da es nur eine Mitglieder Abfrage ist.
Bearbeitet von Kevin am 03.11.2012 00000011 13:45
Gruß Kevin Smile
 
Firewall
Dankeschön für deine Antwort. Ich habe halt die Klasse bebaut, weil ich momentan soetwas ähnliches wie Facebook aufsetze und dementsprechend auch alles nur für Freunde sichtbar sein soll (Shoutbox, Scorepanel, Fotoalbum, etc..)
fusion.my-netfriends.de/images/php-fusion-logo.png
 
Kevin
Ja ist doch kein Problem Smile Ich baue selber auch eine Community auf Smile

Da war diese Funktion am einfachsten.
Gruß Kevin Smile
 
Firewall
Haste recht Dickeslachen Aber für Leute die nicht soviel Ahnung haben, finde ich persönlich eine Klasse besser.

Auch der Ordnung halber Smile Aber jeder hat ja eine andere Meinung.. Dickeslachen
fusion.my-netfriends.de/images/php-fusion-logo.png
 
Kevin
Ja aber das was du gemacht hast ist etwas komplizierter als meine If Abfrage.

Hier mal ein Beispiel für dich:


if (iADMIN OR $user_data['user_id'] == $userdata['user_id'] OR iMEMBER AND buddy_request($user_data['user_id'],$userdata['user_id'],2)) {
opentable($user_data['user_name']."'s Fotoalbum");
echo "<table align='center' cellpadding='0' cellspacing='1' width='100%'>\n<td align='left' class='tbl1'>";
if (iMEMBER && $user_data['user_id'] != $userdata['user_id']) {
echo "<b>Klicke auf die Fotos um sie in Originalgr&ouml;&szlig;e zu sehen.";
}else{
echo "<img src='".IMAGES."pfeil.png' alt='' /> <a title='Foto-Album Bearbeiten' href='".BASEDIR."edit_userprofilepics.php'><b>Foto-Album Bearbeiten</b></a></b>";
}
echo "</td></table><hr />";
echo "<div style='max-height: 230px; overflow: auto;'>";
include('userprofilepics.php');
echo "</div>";
closetable();
} else {
   echo "<center><b>Sind keine Freunde deswegen kannst du das Fotoalbum nicht sehen</b></center>";
}


Der Code ist für ein User Foto Album. In diesen Fall macht die Funktion nicht anderes das er prüft ob das Mitglied entweder ein Admin ist oder mit den Mitglied befreundet ist. Ist eins von beiden der Fall gibt die Funktion den Inhalt frei ist beides nicht der Fall kommt die Else Abfrage und der Text [b]"Sind keine Freunde deswegen kannst du das Fotoalbum nicht sehen"[/b] erscheint also wirklich einfach gehalten :)

Gruß Kevin Smile
 
Firewall
Du hast recht Wink Ich werde meine Klasse wohl später nochmal überarbeiten.. danke Smile
fusion.my-netfriends.de/images/php-fusion-logo.png
 
Kevin
Ach keine Ursache Smile War ja nur eine kleine Idee von mir Wink Jeder kann es ja so machen wie es ihn lieb ist.

Für mich ist diese Variante einfacher.

So habe ich z.B. ein Chat der eigentlich für alle Mitglieder zu jedem Profil zugänglich ist nur sichtbar gemacht wenn der jenige mit dem anderen befreundet ist. Ist er nicht mit der Person befreundet kann er das Profilfeld Chat nicht sehen und kann den jenigen nur eine Nachricht schreiben aber nicht direkt im Chat kontaktieren Wink
Gruß Kevin Smile
 
Firewall
So kann man es im jetzigen Stand auch mit meiner Klasse.
Dein Code, würde mit meinem so aussehen:


if (iADMIN OR $user_data['user_id'] == $userdata['user_id'] OR iMEMBER AND Friends::checkMeFriend($userdata['user_id'])) {
opentable($user_data['user_name']."'s Fotoalbum");
echo "<table align='center' cellpadding='0' cellspacing='1' width='100%'>\n<td align='left' class='tbl1'>";
if (iMEMBER && $user_data['user_id'] != $userdata['user_id']) {
echo "<b>Klicke auf die Fotos um sie in Originalgr&ouml;&szlig;e zu sehen.";
}else{
echo "<img src='".IMAGES."pfeil.png' alt='' /> <a title='Foto-Album Bearbeiten' href='".BASEDIR."edit_userprofilepics.php'><b>Foto-Album Bearbeiten</b></a></b>";
}
echo "</td></table><hr />";
echo "<div style='max-height: 230px; overflow: auto;'>";
include('userprofilepics.php');
echo "</div>";
closetable();
} else {
   echo "<center><b>Sind keine Freunde deswegen kannst du das Fotoalbum nicht sehen</b></center>";
}

fusion.my-netfriends.de/images/php-fusion-logo.png
 
Springe ins Forum:
PHPFusion DE NSS