<?php
|
/**
|
* Przechowuje informacje o użytkowniku i protokole
|
*/
|
class BotUser {
|
/**
|
* Interfejs, za pomocą którego nadeszło zapytanie. Jedno z:
|
* - Gadu-Gadu
|
* - IMified
|
* - HTTP
|
* - Local
|
* @var string $interface
|
*/
|
private $interface;
|
|
/**
|
* Numer lub identyfikator użytkownika
|
* @var string $uid
|
*/
|
private $uid;
|
|
/**
|
* Identyfikator sieci użytkownika. Najczęściej jedno z:
|
* - gadu-gadu.pl
|
* - userkey.imified.com - w polu {@link BotUser::$uid} znajduje się unikalny klucz użytkownika
|
* - jabber.imified.com
|
* - aim.imified.com
|
* - msn.imified.com
|
* - yahoo.imified.com
|
* - gtalk.imified.com
|
* - localhost
|
* @var string $network
|
*/
|
private $network;
|
|
/**
|
* Identyfikator/unikalna nazwa bota, do którego skierowano zapytanie.
|
* Najczęściej numer Gadu-Gadu lub botkey w przypadku IMified.com
|
* @var string $bot
|
*/
|
private $bot;
|
|
/**
|
* Parametry zapytania. Przy IMified równe zmiennej $_POST['channel']
|
* @var string $params
|
*/
|
private $params;
|
|
/**
|
* Konstruktor. W argumencie otrzymuje pseudo-URL określający użytkownika i sieć.
|
* Przykłady:
|
* - Gadu-Gadu://123456\@gadu-gadu.pl
|
* - IMified://user\\\@jabber\@jabber.imified.com/BOTKEY?private
|
* @param string $user URL użytkownika
|
*/
|
function __construct($user) {
|
$data = parse_url($user);
|
|
$this->interface = $data['scheme'];
|
$this->uid = strtr($data['user'], array('\\@' => '@'));
|
$this->network = $data['host'];
|
$this->bot = substr(@$data['path'], 1);
|
$this->params = @$data['query'];
|
}
|
|
/**
|
* Umożliwia dostęp tylko do odczytu do prywanych zmiennych
|
* @param string $name Nazwa zmiennej
|
* @return mixed Wartość zmiennej prywatnej
|
*/
|
function __get($name) {
|
return $this->$name;
|
}
|
}
|
?>
|