static function escape($q) { if (!self::$PDO) { self::$PDO = PDOO::Singleton(); } return self::$PDO->quote($q); }
static function Singleton() { if (self::$PDO === NULL) { self::$PDO = new PDO('mysql:dbname=' . config::$db_base . ';host=' . config::$db_host, config::$db_user, config::$db_pass); self::$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); self::$PDO->query('SET NAMES utf8'); } return self::$PDO; }
static function zwrot($kod) { if (self::pozyczona($kod) === FALSE) { error::add('Książka nie jest wypożyczona!'); } $st = PDOO::Singleton()->prepare('INSERT INTO pozycz_historia (id, kto, od, do) SELECT id, kto, od, ? FROM pozycz WHERE id=?'); $st->execute(array(time(), $kod)); $st = PDOO::Singleton()->prepare('DELETE FROM pozycz WHERE id=?'); $st->execute(array($kod)); ksiazki::cache_update($kod); }
<?php $title = 'Inwentaryzacja - rozpoczęcie'; include 'design/top.php'; require '../includes/config.php'; require '../includes/PDOO.php'; try { $fields = array('tytul', 'autor', 'miejsce', 'rok', 'wydawnictwo'); $PDO = PDOO::Singleton(); $st = $PDO->query('SELECT * FROM `ksiazki` WHERE `wycofana`=\'0\' ORDER BY `regal` ASC, `polka` ASC, `rzad` ASC'); $fp = fopen('list.xml', 'w'); if ($fp === FALSE) { throw new Exception('Otwarcie pliku inwentaryzacja/list.xml nie powiodło się.'); } fwrite($fp, '<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE inwentaryzacja [ <!ENTITY % quot """> <!ENTITY % amp "&"> <!ENTITY % lt "<"> <!ENTITY % gt ">"> <!ELEMENT inwentaryzacja (lokalizacja)*> <!ELEMENT lokalizacja (ksiazka)*> <!ATTLIST lokalizacja id ID #IMPLIED regal CDATA #IMPLIED polka CDATA #IMPLIED rzad CDATA #IMPLIED> <!ELEMENT ksiazka (tytul | autor | miejsce | rok | wydawnictwo)*> <!ATTLIST ksiazka id ID #IMPLIED status CDATA #IMPLIED>
static function historia($kod) { $st = PDOO::Singleton()->prepare('SELECT * FROM pozycz_historia WHERE id=?' . "\n" . 'UNION' . "\n" . 'SELECT *, \'\' AS do FROM pozycz WHERE id=? ORDER BY od ASC'); $st->execute(array($kod, $kod)); $dane = $st->fetchAll(); $info = '<table id="bhist"> <tr> <th>Pożyczający</th> <th>Od</th> <th>Do</th> </tr> '; foreach ($dane as $o) { $info .= '<tr> <td>' . htmlspecialchars($o['kto']) . '</td> <td>' . date('Y-m-d H:i:s', $o['od']) . '</td> <td>' . ($o['do'] ? date('Y-m-d H:i:s', $o['do']) : '') . '</td> </tr>' . "\n"; } echo $info . '</table>'; }