From 6f84c60bdb704c3b038881dd8353fc9881329c87 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sun, 12 Aug 2012 12:49:35 +0000
Subject: [PATCH] 1. Dodanie brakujących plików z klasami BotImage oraz BotImageGG. 2. Uzupełnienie instrukcji tworzenia modułów o obsługę obrazków przychodzących.

---
 class/BotImage.php   |    7 +++++++
 MODULES.html         |   23 ++++++++++++++++++++++-
 class/BotImageGG.php |   26 ++++++++++++++++++++++++++
 3 files changed, 55 insertions(+), 1 deletions(-)

diff --git a/MODULES.html b/MODULES.html
index 1cb7e02..7b1ab7b 100755
--- a/MODULES.html
+++ b/MODULES.html
@@ -60,7 +60,7 @@
 |  |\/|  | |  |  |  | |  |   | | |  |  |  | |   /    \    /
 |  |  |  | |  |__|  | |  |__/  | |  |__|  | |  |____  |  |
 |__|  |__|  \______/  |_______/   \______/  |_______| |__|
-Poradnik v2.0                           Tworzenie i edycja
+Poradnik v2.1                           Tworzenie i edycja
 </pre>
 
 <h3 id="tableOfContent">Spis treści</h3>
@@ -331,6 +331,27 @@
 <code><var>$msg<b>-&gt;</b>args</var></code>
 </pre>
 
+<h4 id="classBotMessage_propertyImages">Pole $images</h4>
+
+<p>Tablica obrazków (obiektów klasy BotImage) przesłanych do bota przez użytkownika.</p>
+
+<pre>
+<code><b>if(<a href="http://php.net/assert"><var>count</var></a>(<var>$msg</var>-&gt;<var>images</var>) &gt; <var>0</var>) {</b>
+    <i>// Do bota zostały przesłane obrazki</i>
+    
+    <i>// Pierwszy obrazek</i>
+    <var>$img <b>=</b> $msg<b>-&gt;</b>images</var><b>[<var>0</var>];</b>
+    
+    <i>// Obrazek w formie gotowej do obróbki za pomocą biblioteki GD</i>
+    <var>$gd <b>=</b> $img<b>-&gt;</b>getImage</var><b>();</b>
+    <a href="http://php.net/imagestring"><var>imagestring</var></a><b>(</b><var>$gd<b>,</b> 2<b>,</b> 0<b>,</b> 0</var><b>, <cite>'To jest tekst'</cite>,</b> <a href="http://php.net/imagecolorallocate"><var>imagecolorallocate</var></a><b>(<var>$gd<b>,</b> 255<b>,</b> 255<b>,</b> 255</var>));</b>
+    
+    <i>// Obrazek jako ciąg bajtów gotowych do zapisu:</i>
+    <var>$data <b>=</b> $img<b>-&gt;</b>getImageData</var><b>();</b>
+    <a href="http://php.net/file_put_contents"><var>file_put_contents</var></a><b>(<cite>'/tmp/obrazek.jpg'</cite>, <var>$data</var>);</b>
+<b>}</b></code>
+</pre>
+
 <h3 id="interfaceBotModule">Komunikacja z użytkownikiem - interfejs BotModule</h3>
 
 <p>Zgodnie z danymi zwracanymi przez <a href="#interfaceBotModuleInit_methodRegister">metodę register</a>, należy utworzyć plik zawierający klasę o podanej nazwie, implementującą BotModule, oraz odpowiednią metodę, przyjmującą dwa parametry:</p>
diff --git a/class/BotImage.php b/class/BotImage.php
new file mode 100644
index 0000000..c02bcf0
--- /dev/null
+++ b/class/BotImage.php
@@ -0,0 +1,7 @@
+<?php
+abstract class BotImage {
+	protected $data = NULL;
+	abstract function getImage();
+	abstract function getImageData();
+}
+?>
\ No newline at end of file
diff --git a/class/BotImageGG.php b/class/BotImageGG.php
new file mode 100644
index 0000000..846388e
--- /dev/null
+++ b/class/BotImageGG.php
@@ -0,0 +1,26 @@
+<?php
+class BotImageGG extends BotImage {
+	protected $hash;
+	
+	function __construct($hash) {
+		$this->hash = $hash;
+	}
+	
+	function getHash() {
+		return $this->hash;
+	}
+	
+	function getImage() {
+		return imagecreatefromstring($this->getImageData());
+	}
+	
+	function getImageData() {
+		if($this->data === NULL) {
+			$push = new BotGGAPI();
+			$this->data = $push->getImage($this->hash);
+		}
+		
+		return $this->data;
+	}
+}
+?>
\ No newline at end of file

--
Gitblit v1.9.1