| | |
| | | * array( 'SendToOffline' => (bool)TRUE/FALSE ) |
| | | */ |
| | | function sendMessage($toURL, BotMsg $msg, $params = array()) { |
| | | if(is_string($toURL)) { |
| | | $toURL = array($toURL); |
| | | } |
| | | |
| | | if(!is_array($toURL)) { |
| | | throw new Exception('Lista adresatów przekazywanych do funkcji BotAPIGG::sendMessage() winna być tablicą.'); |
| | | } |
| | | |
| | | $to = array(); |
| | | foreach($toURL as $url) { |
| | | $url = parse_url($url); |
| | | if($url === FALSE) { |
| | | continue; |
| | | } |
| | | |
| | | if($url['scheme'] != 'Gadu-Gadu') { |
| | | continue; |
| | | } |
| | |
| | | ), |
| | | )); |
| | | |
| | | // Brak obrazka w cache BotMastera... |
| | | if((string)$tok->status == '18') { |
| | | $tok = $this->httpQuery('https://'.$token['host'].'/sendMessage/'.$auth['numer'], FALSE, array( |
| | | $tok = $this->httpQuery('https://'.$token['host'].'/sendMessage/'.$auth['numer'], array( |
| | | CURLOPT_HTTPHEADER => $headers, |
| | | CURLOPT_POST => TRUE, |
| | | CURLOPT_POSTFIELDS => array( |
| | |
| | | |
| | | return TRUE; |
| | | } |
| | | |
| | | /** |
| | | * Pobiera dane użytkownika z katalogu publicznego. |
| | | * @param string|BotUser Numer użytkownika |
| | | * @return array|false Tablica z danymi. |
| | | */ |
| | | function getPublicData($number) { |
| | | if($number instanceof BotUser) { |
| | | if($number->network != 'gadu-gadu.pl') { |
| | | return FALSE; |
| | | } |
| | | |
| | | $number = $number->uid; |
| | | } |
| | | |
| | | if(!ctype_digit($number)) { |
| | | throw new Exception('Numer użytkownika przekazany do funkcji BotAPIGG::getPublicData() jest niepoprawny.'); |
| | | } |
| | | |
| | | try { |
| | | $data = file_get_contents('http://api.gadu-gadu.pl/users/'.$number.'.xml'); |
| | | if(!$data) { |
| | | throw new Exception('Nie udało się pobrać danych użytkownika z katalogu publicznego.'); |
| | | } |
| | | } |
| | | catch(Exception $e) { |
| | | throw new Exception('Nie udało się pobrać danych użytkownika z katalogu publicznego.'); |
| | | } |
| | | |
| | | libxml_use_internal_errors(); |
| | | $data = simplexml_load_string($data); |
| | | libxml_clear_errors(); |
| | | |
| | | if(!$data) { |
| | | throw new Exception('Dane użytkownika otrzymane z API Gadu-Gadu mają niepoprawny format.'); |
| | | } |
| | | |
| | | if(!$data) { |
| | | throw new Exception('Dane użytkownika otrzymane z API Gadu-Gadu mają niepoprawny format.'); |
| | | } |
| | | |
| | | |
| | | return (array)$data->users->user; |
| | | } |
| | | } |
| | | ?> |