From 57117dd2614bd14808e391a7f1ae20ade00b8d5b Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 25 Aug 2012 18:28:59 +0000
Subject: [PATCH] 1. Przeportowanie modułu data do nowej wersji API. 2. Dodanie metody setClass() do klasy BotSession. 3. Aktualizacja "Instrukcji tworzenia modułów" o w/w metodę.

---
 class/BotSession.php |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/class/BotSession.php b/class/BotSession.php
index a70734e..e8b8930 100644
--- a/class/BotSession.php
+++ b/class/BotSession.php
@@ -7,7 +7,7 @@
 	
 	/**
 	 * Nazwa modułu, którego zmienne klasa przetwarza
-	 * @var string max. 40 znak�w
+	 * @var string max. 40 znaków
 	 */
 	var $class;
 	
@@ -25,6 +25,10 @@
 	}
 	
 	private function init() {
+		if(strlen($this->class) == 0) {
+			throw new Exception('Przed użyciem $msg->session należy ustawić nazwę modułu za pomocą metody setClass - patrz "Poradnik tworzenia modułów", dział "Klasa BotMessage", rozdział "Pole $session".');
+		}
+		
 		if($this->PDO) {
 			return NULL;
 		}
@@ -54,6 +58,9 @@
 			);
 			
 			$files = glob(BOT_TOPDIR.'/db/*/'.$this->user_struct['user'].'.ggdb');
+			if(!$files) {
+				return;
+			}
 			
 			$this->PDO->beginTransaction();
 			$st = $this->PDO->prepare('INSERT OR REPLACE INTO data (class, name, value) VALUES (?, ?, ?)');
@@ -72,7 +79,9 @@
 			}
 		}
 		catch(Exception $e) {
-			@unlink(BOT_TOPDIR.'/database/'.sha1($this->user).'.sqlite');
+			if(file_exists(BOT_TOPDIR.'/database/'.sha1($this->user).'.sqlite')) {
+				@unlink(BOT_TOPDIR.'/database/'.sha1($this->user).'.sqlite');
+			}
 			throw $e;
 		}
 	}
@@ -140,6 +149,10 @@
 		return $return;
 	}
 	
+	function setClass($class) {
+		$this->class = $class;
+	}
+	
 	function truncate() {
 		$this->init();
 		

--
Gitblit v1.9.1