From c84030e632e0c7b99b1d17d854fa203b11e7f99a Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sun, 12 Aug 2012 13:34:15 +0000
Subject: [PATCH] Poprawa błędnie nazwanej zmiennej (było $data zamiast $image).

---
 class/BotMsgGG.php |   44 +++++++++++++++++++++++++++++---------------
 1 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/class/BotMsgGG.php b/class/BotMsgGG.php
index 4ab34a1..2c8b0d5 100644
--- a/class/BotMsgGG.php
+++ b/class/BotMsgGG.php
@@ -6,7 +6,6 @@
 	private $parser;
 	private $html = '';
 	private $old = '';
-	private $img = '';
 	private $format = '';
 	
 	private $images = array();
@@ -49,19 +48,36 @@
 	
 	/**
 	 * 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
 		{
-			$image = '';
-			foreach($this->images as $img) {
-				$image .= $img[2];
+			if(count($this->images) > 0) {
+				$push = new BotAPIGG();
+				foreach($this->images as $image) {
+					if(!$push->existsImage($image[2])) {
+						$push->putImage($image[3]);
+					}
+				}
 			}
+			
+			$image = '';
 		}
 		
 		$format = $this->getFormat();
@@ -107,7 +123,7 @@
 	 */
 	function sendPullResponse() {
 		header('Content-Type: application/x-gadu-gadu; charset=utf-8');
-		echo $this;
+		echo $this->getGG();
 	}
 	
 	private function rewriteOne($node, $saveto) {
@@ -211,7 +227,7 @@
 						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;
@@ -223,7 +239,7 @@
 							$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;
@@ -312,14 +328,12 @@
 				$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/*|$this->f_type*/)
-			//		//.$this->f_color
+			$this->format .= pack('vC', mb_strlen($this->old), self::FORMAT_IMAGE)
 					.pack('CCVV', 0x09, 0x01, $size, hexdec($crc));
 		}
 	}

--
Gitblit v1.9.1