Dennis Hoppe

selbständiger Entwickler / Unternehmer / Student aus Berlin; schreibt über PHP, JavaScript, WordPress, jQuery, CodeIgniter, GTK und mehr.
Sie sind hier:  Projekte  →  PortalGrabber

PortalGrabber

Um seine Freunde auf der eigenen Internetseite zu verlinken benötigt man oft etwas Geduld, besonders wenn man versuchst auf deren Profile zu verlinken, die für Außenstehende nicht ohne Anmeldung sichtbar sein sollen. Da Benutzer in der Regel keine Lust haben sich in fremden Systemen anzumelden um anschließend von Werbemails und “Superhyperduper-Angeboten” erschlagen zu werden, kann man versuchen, die Profile auf Serverebene auszulesen und auf der eigenen Seite neu formatiert darzustellen.

Das PortalGrabber-Script ließt Profile aus Communities welche es Ihren Benutzern verweigern von externen Seiten auf diese zu linken.

Die Klasse ist in PHP5 geschrieben und ist mit folgenden Communities kompatibel:

  • zwigge.de (Zwickau)
  • jnights.de (Jena)
  • unnaer.de (Unna)
  • bochumer.de (Bochum)
  • hamm2night.de (Hamm)
  • enjoy-zone.de (Münster)
  • sospaet.de (Soest)

Download

Komplettes Paket inklusive lauffähiger grafischer Umgebung: (Das Script setzt mindestens PHP 5 voraus.)

Eine Installation ist nicht notwendig. Kopiere die Dateien auf deinen Webserver und rufe dann über den Browser die Datei index.php/[portal]/user[user-ID] auf.

[portal] ist das zu verwendende Portal, gültige Werte sind in der url.txt zu finden. Aktuell unterstützt: “zwickau“, “jena“, “unna“, “bochum“, “hamm“, “muenster“, “soest“.

Beispiel

Befindet sich das Script auf dem Server www.example.com im Verzeichnis portalgrabber/ so kannst Du das Profil des Benutzers 5301 von zwigge.de über die Url: http://www.example.com/portalgrabber/index.php/zwickau/user5301 erreichen.

Dokumentation der Klasse: (class_portal.php)

Die folgenden Informationen sind ausschließlich für Entwickler, sie werden nicht benötigt um das Script aus dem Download laufen zu lassen!

Zu erst einmal ist es notwendig das Portalobjekt aus der gleichnamigen Klasse zu erzeugen und alle Einstellungen zu setzen:

1
2
3
4
5
6
7
8
9
// Klassen einbinden
Include 'class_spiky.php';
Include 'class_portal.php';
 
// Portal zum Leben erwecken
$portal = NEW class_portal ();
 
// Interface setzen:
$portal->url = 'http://www.zwigge.de';

Anschließend können wir beginnen Daten zu holen:

1
2
3
4
5
// Benutzerprofil lesen:
$arr = $portal->Whois( 5301 ); // Benutzer-ID eintragen
 
// Daten verarbeiten...
Print_R ($arr);

Whois() liefert ein assoziatives Array zurück. Folgende Schlüssel sind zulässig:

  • id – BenutzerID
  • nick – Nickname
  • last_nick – Frühere Nicknames
  • gender – Geschlecht
  • avatar – Avatardateiname
  • name – richtiger Name
  • place – Wohnort
  • work – Job
  • relationship – Aktueller Beziehungsstatus
  • bday – Geburtstag
  • sign – Sternzeichen
  • size – Körpergröße
  • weight – Körpergewicht
  • hair – Haare
  • eye – Augen
  • music – Musikgeschmack
  • song – Lieblingssong
  • location – Kneipen, Bars, Aufenthaltsort
  • sport – Sportaktivitäten
  • book – Lieblingsbuch
  • film – Lieblingsfilme
  • food – Lieblingsessen
  • hobbys – Hobbys
  • likes – “Was ich mag”
  • dislike – “Was ich nicht mag”
  • quote – Lieblingszitat
  • signin – Mitglied seit (als Unix-Zeitstempel)
  • last_contact – Letzter LogIn (als Unix-Zeitstempel)
  • msn – MSN-Name
  • yahoo – Yahoo-Name
  • icq – ICQ-Nr.
  • email – Mailaddy
  • website – Internetseite
  • age – Alter
  • images – Anzahl Bilder
  • blogs – Anzahl Blogs
  • visits – Profilbesucher bisher
  • membership_duration – Mitgliedschaftsdauer (in Tagen)
  • bmi – Body-Mass-Index

Galerien auslesen

1
2
3
4
5
// Galerien auslesen:
$arr = $portal->GetGallery( 5301 ); // Benutzer-ID: 5301
 
// Daten verarbeiten...
Print_R ($arr);

GetGallery() liefert ein assoziatives Array zurück wobei der Schlüssel der Galerie-ID und der Wert dem Namen der Galerie entspricht.

1
2
3
4
5
6
7
8
// Bilder aus Galerie lesen:
$arr = $portal->GetImages ( 9732 );  // Galerie-ID: 9732
 
// Bild-Urls erstellen:
ForEach ($arr AS $image_id){
  // Ausgabe der aller Bild-Urls der Galerie 9732 (s.o.)
  Echo $portal->GetImageUrl ($image_id)."\r\n";
}

GetImages($gallery_id) liefert ein Array mit den Bild-IDs der in der Galerie $gallery_id enthaltenen Bilder.

GetImageUrl($image_id) liefert die Url zum Bild $image_id.

Avatar auslesen

1
2
3
4
5
// Benutzerprofil lesen:
$arr_profile = $portal->Whois( 5301 ); // Benutzer-ID: 5301
 
// Ausgabe des Avatars:
Echo $portal->GetAvatar ( $arr_profile['avatar'], 'square' );

GetAvatar($avatarFile, $mode) gibt die Url eines Avatars zurück. $avatarFile gibt den Dateinamen des Avatars an. (Kann über WhoIs() ermittelt werden.) $mode ist optional und kann ein spezielles Format festlegen. Gültige Werte sind:

  • default
  • big
  • square

Freunde

1
2
3
4
5
// Freunde auslesen:
$arr_friends = $portal->GetFriends( 5301 ); // Benutzer-ID: 5301
 
// Daten verarbeiten:
Print_R ($arr_friends);

GetFriends ($user_id) liefert einen zwei-dimensionalen Array wobei der erste Index ausschließlich der Indizierung gilt und der zweite die Details des Freundes bestimmt. Gültige Schlüssel sind hier:

  • id – Benutzer-ID des Freundes
  • name – Nickname des Freundes
  • sex – Geschlecht: “male” / “female”
  • avatar – Avatardateiname des Freundes

Weitere Details des Kontakts sind per WhoIs() zu erfragen.

Schnellreferenz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Class class_portal{
  Function WhoIs ($user_id){
    // Liefert einen Array mit Details des Kontaktes
  }
 
  Function GetFriends ($user_id){
    // Liefert einen Array mit den verbunden Kontaktes eins Benutzers
  }
 
  Function GetGallery ($user_id){
    // Liefert einen Array mit den Galerien eines Benutzers
  }
 
  Function GetImages ($gallery_id){
    // Liefert einen Array mit den Image-IDs einer Galerie
  }
 
  Function GetLinkedImages ($user_id){
    // Liefert einen Array mit den verlinkten Bildern eines Benutzers
  }
 
  Function GetLatestUserID (){
    // Liefert die ID des zu letzt angemeldeten Benutzers
  }
 
  Function WhoIsOnline (){
    // Liefert eine Liste von aktuell eingeloggten Benutzern
  }
 
  Function CheckLogin ($username, $password){
    // Überprüft die Gültigkeit von Zugangsdaten
  }
 
  Function GetAvatar ($avatar_file, $mode = ""){
    // Liefert die Url eines AvatarFiles
  }
 
  Function GetFavicon (){
    // Liefert die Url zum FavIvon der aktuellen Platform
  }
 
  Function GetImageName ($image_id){
    // Liefert den Namen eines Bildes
  }
 
  Function GetImageURL ($image_id){
    // Liefert die Url des Bildes mit der ID $image_id
  }
 
  Function VisitedEvents ( $user_id ){
    // Liefert einen Array mit den Events des Benutzers
  }
}

Weitere Meinungen

Sie können der Diskussion zu diesem Beitrag über den RSS 2.0 Feed folgen.

Sie können zu diesem Artikel einen Kommentar schreiben oder einen Trackback von Ihrer eigenen Seite setzen.

Kommentare

  • 20. Juli 2009
    a usefull tool i think we've to drink some beer and it will become an almighty tool. ;)

Hinterlassen Sie eine Antwort