| <?php | |
| interface MessageStoreInterface | |
| { | |
| public function saveMessage($from, $to, $txt, $id, $t); | |
| } | |
| class SqliteMessageStore implements MessageStoreInterface | |
| { | |
| const DATA_FOLDER = 'wadata'; | |
| private $db; | |
| public function __construct($number) | |
| { | |
| $fileName = __DIR__ . DIRECTORY_SEPARATOR . self::DATA_FOLDER . DIRECTORY_SEPARATOR . 'msgstore-'.$number.'.db'; | |
| $createTable = !file_exists($fileName); | |
| $this->db = new \PDO("sqlite:" . $fileName, null, null, array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); | |
| if ($createTable) | |
| { | |
| $this->db->exec('CREATE TABLE messages (`from` TEXT, `to` TEXT, message TEXT, id TEXT, t TEXT)'); | |
| } | |
| } | |
| public function saveMessage($from, $to, $txt, $id, $t) | |
| { | |
| $sql = 'INSERT INTO messages (`from`, `to`, message, id, t) VALUES (:from, :to, :message, :messageId, :t)'; | |
| $query = $this->db->prepare($sql); | |
| $query->execute( | |
| array( | |
| ':from' => $from, | |
| ':to' => $to, | |
| ':message' => $txt, | |
| ':messageId' => $id, | |
| ':t' => $t | |
| ) | |
| ); | |
| } | |
| } |