Jacek Kowalski
2014-07-06 6d8764c5366e0b1baf66da50230dac623edb2450
commit | author | age
8bd4d9 1 <?php
JK 2 /**
3  * Przechowuje informacje o użytkowniku i protokole
4  */
5 class BotUser {
6     /**
7      * Interfejs, za pomocą którego nadeszło zapytanie. Jedno z:
8      * - Gadu-Gadu
9      * - IMified
10      * - HTTP
11      * - Local
0868e0 12      * @var string $interface
8bd4d9 13      */
JK 14     private $interface;
15     
16     /**
17      * Numer lub identyfikator użytkownika
0868e0 18      * @var string $uid
8bd4d9 19      */
JK 20     private $uid;
21     
22     /**
23      * Identyfikator sieci użytkownika. Najczęściej jedno z:
24      * - gadu-gadu.pl
25      * - userkey.imified.com - w polu {@link BotUser::$uid} znajduje się unikalny klucz użytkownika
26      * - jabber.imified.com
27      * - aim.imified.com
28      * - msn.imified.com
29      * - yahoo.imified.com
30      * - gtalk.imified.com
31      * - localhost
0868e0 32      * @var string $network
8bd4d9 33      */
JK 34     private $network;
35     
36     /**
37      * Identyfikator/unikalna nazwa bota, do którego skierowano zapytanie.
38      * Najczęściej numer Gadu-Gadu lub botkey w przypadku IMified.com
0868e0 39      * @var string $bot
8bd4d9 40      */
JK 41     private $bot;
42     
43     /**
44      * Parametry zapytania. Przy IMified równe zmiennej $_POST['channel']
0868e0 45      * @var string $params
8bd4d9 46      */
JK 47     private $params;
48     
0868e0 49     /**
JK 50      * Konstruktor. W argumencie otrzymuje pseudo-URL określający użytkownika i sieć.
51      * Przykłady:
52      * - Gadu-Gadu://123456\@gadu-gadu.pl
53      * - IMified://user\\\@jabber\@jabber.imified.com/BOTKEY?private
54      * @param string $user URL użytkownika
55      */
8bd4d9 56     function __construct($user) {
JK 57         $data = parse_url($user);
58         
59         $this->interface = $data['scheme'];
60         $this->uid = strtr($data['user'], array('\\@' => '@'));
61         $this->network = $data['host'];
d22cb4 62         $this->bot = substr(@$data['path'], 1);
JK 63         $this->params = @$data['query'];
8bd4d9 64     }
JK 65     
0868e0 66     /**
JK 67      * Umożliwia dostęp tylko do odczytu do prywanych zmiennych
68      * @param string $name Nazwa zmiennej
69      * @return mixed Wartość zmiennej prywatnej
70      */
8bd4d9 71     function __get($name) {
JK 72         return $this->$name;
73     }
74 }
79d1cc 75 ?>