Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
@mgp25
41 lines (34 sloc) 1.229 kb
<?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
)
);
}
}
Jump to Line
Something went wrong with that request. Please try again.