From 91547505ee1ca685864f238e1db67b71aa8dc33f Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Sun, 16 Sep 2012 20:40:13 +0000 Subject: [PATCH] Poprawienie niepoprawnego użycia $msg->session (brak wywołania metody setClass()) w module kino. --- class/BotSession.php | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff --git a/class/BotSession.php b/class/BotSession.php index 20088e3..d273779 100644 --- a/class/BotSession.php +++ b/class/BotSession.php @@ -7,12 +7,12 @@ /** * Nazwa modułu, którego zmienne klasa przetwarza - * @var string max. 40 znak�w + * @var string max. 40 znaków */ - var $class; + protected $class = ''; + protected $class_empty = TRUE; private $user; - /** * Inicjuje klasę w zależności od użytkownika @@ -21,10 +21,14 @@ $this->user = sha1($user); $this->user_struct = parse_url($user); - $this->class = ''; + $this->class_empty = FALSE; } private function init() { + if(strlen($this->class) == 0 && !$this->class_empty) { + 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 (?, ?, ?)'); @@ -142,6 +149,10 @@ return $return; } + function setClass($class) { + $this->class = $class; + } + function truncate() { $this->init(); @@ -149,4 +160,4 @@ $st->execute(array($this->class)); } } -?> +?> \ No newline at end of file -- Gitblit v1.9.1