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