| | |
| | | private $parser; |
| | | private $html = ''; |
| | | private $old = ''; |
| | | private $img = ''; |
| | | private $format = ''; |
| | | |
| | | private $images = array(); |
| | |
| | | |
| | | /** |
| | | * Zwraca wiadomość zgodną z BotAPI Gadu-Gadu, którą można przekazać bezpośrednio do BotMastera |
| | | * @param bool $img Czy dołączać obrazki? |
| | | * @param NULL|bool $img Czy dołączać obrazki? |
| | | * @return string |
| | | */ |
| | | function getGG($image = TRUE) { |
| | | if($image) { |
| | | $image = $this->img; |
| | | function getGG($image = NULL) { |
| | | if($image === FALSE) { |
| | | $image = ''; |
| | | } |
| | | elseif($image === TRUE) { |
| | | $last = array_pop($this->images); |
| | | if(count($this->images) > 0) { |
| | | $push = new BotAPIGG(); |
| | | foreach($this->images as $data) { |
| | | $push->putImage($image[3]); |
| | | } |
| | | } |
| | | |
| | | $image = $last[2].file_get_contents($last[3]); |
| | | } |
| | | else |
| | | { |
| | | if(count($this->images) > 0) { |
| | | $push = new BotAPIGG(); |
| | | foreach($this->images as $image) { |
| | | if(!$push->existsImage($image[2])) { |
| | | $push->putImage($image[3]); |
| | | } |
| | | } |
| | | } |
| | | |
| | | $image = ''; |
| | | } |
| | | |
| | |
| | | * @return string |
| | | */ |
| | | function getFormat() { |
| | | return pack('Cv', 0x02, strlen($this->format)).$this->format; |
| | | if($this->format == '') { |
| | | return ''; |
| | | } |
| | | else |
| | | { |
| | | return pack('Cv', 0x02, strlen($this->format)).$this->format; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | function sendPullResponse() { |
| | | header('Content-Type: application/x-gadu-gadu; charset=utf-8'); |
| | | echo $this; |
| | | } |
| | | |
| | | private function rewriteOne($node, $saveto) { |
| | | |
| | | echo $this->getGG(); |
| | | } |
| | | |
| | | private function rewrite($dom, $saveto, $top = TRUE) { |
| | |
| | | DOMHelper::rtrim($saveto); |
| | | DOMHelper::insertElement('br', $saveto); |
| | | |
| | | $tag = DOMHelper::cloneNode($node, $saveto, 'u'); |
| | | $tag = DOMHelper::cloneNode($node, $saveto, 'span'); |
| | | $this->rewrite($node, $tag, FALSE); |
| | | $saveto->appendChild($tag); |
| | | break; |
| | |
| | | $node->setAttribute('start', 1); |
| | | } |
| | | |
| | | $tag = DOMHelper::cloneNode($node, $saveto, 'u'); |
| | | $tag = DOMHelper::cloneNode($node, $saveto, 'span'); |
| | | $this->rewrite($node, $tag, FALSE); |
| | | $saveto->appendChild($tag); |
| | | break; |
| | |
| | | $crc = hash_file('crc32b', $src); |
| | | $name = sprintf('%08s%08x', $crc, $size); |
| | | |
| | | $this->images[$src] = array($crc, $size, $name); |
| | | $this->images[$src] = array($crc, $size, $name, $src); |
| | | } |
| | | |
| | | $node->setAttribute('name', $name); |
| | | $this->img = $name.file_get_contents($src); |
| | | |
| | | $this->format .= pack('vC', mb_strlen($this->old), self::FORMAT_IMAGE) |
| | | .pack('CCVV', 0x09, 0x01, $size, hexdec($crc)); |