| | |
| | | |
| | | /** |
| | | * 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 |
| | |
| | | $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; |
| | | } |
| | |
| | | ); |
| | | |
| | | $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 (?, ?, ?)'); |
| | |
| | | } |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | |
| | | return $return; |
| | | } |
| | | |
| | | function setClass($class) { |
| | | $this->class = $class; |
| | | } |
| | | |
| | | function truncate() { |
| | | $this->init(); |
| | | |