<?php /* Copyright 2010 Pieter Iserbyt This file is part of Pamela. Pamela is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Pamela is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Pamela. If not, see <http://www.gnu.org/licenses/>. */ require_once("lib/db.php"); function data_check_table() { static $table_exists = FALSE; // already checked? skip... if ($table_exists == TRUE) { return; } // get db handle $db = get_db(); // already in db? skip and remember... $q = $db->query("select name from sqlite_master where type='table' and name='data'"); if ($q->fetchArray()) { $table_exists = TRUE; return; } // create the table and remember... $table_exists = $db->exec("create table data (data text unique on conflict replace, committime integer)"); } function data_get() { $results = array(); data_check_table(); $db = get_db(); $q = $db->query("select data from data where committime > strftime('%s','now') - ".DATA_TTL); if (!$q) return $results; while($row = $q->fetchArray(SQLITE3_ASSOC)) { $results[] = $row['data']; } return $results; } function data_add($data) { $db = get_db(); data_check_table(); $data = $db->escapeString($data); #echo "insert or replace into data values (\"$data\", strftime('%s','now'))\n"; $result = $db->exec("insert or replace into data values (\"$data\", strftime('%s','now'))"); if (!$result) echo "ERROR: ".$db->lastErrorMsg()."\n"; } function data_purge() { $db = get_db(); data_check_table(); return $db->exec("delete from data where committime <= strftime('%s','now') - ".DATA_TTL); }