From 07517ae563097e04e91ea3fae2c2ca1cf2309b86 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Mon, 16 Dec 2019 20:48:17 +0000 Subject: [PATCH] Użycie API REST do pobierania danych z Biblioteki Narodowej --- includes/ksiazki.php | 30 ++++++++++++------------------ 1 files changed, 12 insertions(+), 18 deletions(-) diff --git a/includes/ksiazki.php b/includes/ksiazki.php index eef123e..2ca24e7 100644 --- a/includes/ksiazki.php +++ b/includes/ksiazki.php @@ -13,10 +13,6 @@ } static function cache_add($kod, &$dane) { - if($dane['od2']) { - $dane['od'] = $dane['od2']; - unset($dane['od2']); - } self::$cache[(int)$kod] = $dane; } @@ -37,14 +33,12 @@ } static function cache_update($kod) { - $dane = db2::escape_data(sql::fetchone(sql::query('SELECT *, (SELECT MAX(`od`) FROM `pozycz` WHERE `pozycz`.`id`=`ksiazki`.`id`) as `od2`, (SELECT `do` FROM `pozycz` WHERE `pozycz`.`id`=`ksiazki`.`id` AND `od`=`od2`) as `do`, (SELECT `kto` FROM `pozycz` WHERE `pozycz`.`id`=`ksiazki`.`id` AND `od`=`od2`) as `kto` FROM `ksiazki` WHERE `id`=\''.sql::escape($kod).'\''))); + $dane = db2::escape_data(sql::fetchone(sql::query('SELECT `ksiazki`.*, `pozycz`.`od`, `pozycz`.`kto` FROM `ksiazki` LEFT OUTER JOIN `pozycz` ON `pozycz`.`id`=`ksiazki`.`id` WHERE `ksiazki`.`id`='.sql::escape($kod)))); self::cache_add($kod, $dane); } } class ksiazki extends ksiazki_cache { - static $LT_API = ''; - static function okladka($KOD, $ISBN) { return okladki::znajdz($KOD, $ISBN, 'covers'); } @@ -59,13 +53,13 @@ if($dane['ISBN']) { $t = validate::type($dane['ISBN']); if($t!='ISBN') { - error::add('W polu ISBN znajduje się '.$t); + errorclass::add('W polu ISBN znajduje się '.$t); } } if($dane['ISSN']) { $t = validate::type($dane['ISSN']); if($t!='ISSN') { - error::add('W polu ISSN znajduje się '.$t); + errorclass::add('W polu ISSN znajduje się '.$t); } } @@ -99,7 +93,7 @@ $old = self::szukaj_KOD($kod); if($dane['id']=='' OR empty($dane['autor']) OR empty($dane['tytul']) OR empty($dane['jezyk'])) { - error::add('Brak wymaganych danych o książce (kod, autor, tytuł, język)'); + errorclass::add('Brak wymaganych danych o książce (kod, autor, tytuł, język)'); } if($dane['nid']!='') { @@ -112,13 +106,13 @@ if($dane['ISBN']) { $t = validate::type($dane['ISBN']); if($t!='ISBN') { - error::add('W polu ISBN znajduje się '.$t); + errorclass::add('W polu ISBN znajduje się '.$t); } } if($dane['ISSN']) { $t = validate::type($dane['ISSN']); if($t!='ISSN') { - error::add('W polu ISSN znajduje się '.$t); + errorclass::add('W polu ISSN znajduje się '.$t); } } @@ -235,25 +229,25 @@ else { if($dane['do']) { - $num = db2::num('pozycz', 'id', array('do' => NULL)); - if($num==0) { + $num = db2::num('pozycz', 'id'); + if($num == 0) { $ret = array(); } else { - $ret = db2::get(array('pozycz', array('J', 'ksiazki', 'USING', 'id')), '*', array('do' => NULL), $order, $start, $limit); + $ret = db2::get(array('pozycz', array('J', 'ksiazki', 'USING', 'id')), '*', NULL, $order, $start, $limit); } } else { $num = db2::num('ksiazki', 'id', $where); - if($num==0) { + if($num == 0) { $ret = array(); } else { $where = db2::__combine_where($where, TRUE); - $ret = db2::escape_data(sql::fetch(sql::query('SELECT *, (SELECT MAX(`od`) FROM `pozycz` WHERE `pozycz`.`id`=`ksiazki`.`id`) as `od2`, (SELECT `do` FROM `pozycz` WHERE `pozycz`.`id`=`ksiazki`.`id` AND `od`=`od2`) as `do`, (SELECT `kto` FROM `pozycz` WHERE `pozycz`.`id`=`ksiazki`.`id` AND `od`=`od2`) as `kto`'.(db2::revelance() ? ', '.db2::$revelance : '').' FROM `ksiazki`'.$where.db2::__combine_order($order, TRUE).db2::__combine_limit($start, $limit)))); + $ret = db2::escape_data(sql::fetch(sql::query('SELECT `ksiazki`.*, `pozycz`.`od`, `pozycz`.`kto`'.(db2::revelance() ? ', '.db2::$revelance : '').' FROM `ksiazki` LEFT OUTER JOIN `pozycz` ON `pozycz`.`id`=`ksiazki`.`id` '.$where.db2::__combine_order($order, TRUE).db2::__combine_limit($start, $limit)))); } } @@ -263,4 +257,4 @@ return array($num, $ret, db2::revelance()); } } -?> +?> \ No newline at end of file -- Gitblit v1.9.1