Jacek Kowalski
2017-08-28 bc710e890d99f522d4adb0fa9bff5b0504a5a036
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,48 +33,18 @@
   }
   
   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');
   }
   
   static function okladka_big($KOD, $ISBN) {
      return okladki::znajdz($KOD, $ISBN, 'covers_big');
   }
   static function dodaj(&$dane) {
      validate::KOD($dane['id'], FALSE);
      if($dane['ISBN']) {
         $t = validate::type($dane['ISBN']);
         if($t!='ISBN') {
            error::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);
         }
      }
      if($dane['jezyk']=='pol') {
         $dane['jezyk'] = 'polski';
      }
      unset($_POST['okladka']);
      okladki::upload($_FILES['okladka'], $dane['id'], $dane['ISBN']);
      db2::add('ksiazki', $dane);
      self::cache_update($dane['id']);
   }
   
   static function exists($kod) {
@@ -90,76 +56,6 @@
      {
         return FALSE;
      }
   }
   static function edytuj(&$dane) {
      validate::KOD($dane['id']);
      $kod = $dane['id'];
      $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)');
      }
      if($dane['nid']!='') {
         validate::KOD($dane['nid']);
         $dane['id'] = $dane['nid'];
      }
      unset($dane['nid']);
      if($dane['ISBN']) {
         $t = validate::type($dane['ISBN']);
         if($t!='ISBN') {
            error::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);
         }
      }
      if(!$dane['wycofana']) {
         $dane['wycofana'] = 0;
         $dane['powod'] = NULL;
      }
      okladki::przenies($old['id'], $old['ISBN'], $dane['id'], $dane['ISBN']);
      unset($_POST['okladka']);
      // Nowa okładka
      if(isset($_POST['okladka_del']) || (isset($_FILES['okladka']) && is_uploaded_file($_FILES['okladka']['tmp_name']))) {
         okladki::usun($dane['id'], $dane['ISBN']);
         unset($_POST['okladka_del']);
      }
      okladki::upload($_FILES['okladka'], $dane['id'], $dane['ISBN']);
      db2::edit('ksiazki', $dane, array('id' => $kod));
      self::cache_update($kod);
      if($dane['id']!=$kod) {
         self::cache_update($dane['id']);
      }
   }
   static function miejsce($regal, $polka, $rzad, $where) {
      db2::edit('ksiazki', array('regal' => strtoupper($regal), 'polka' => $polka, 'rzad' => $rzad), $where);
      self::cache_clear();
   }
   static function usun(&$kod) {
      validate::KOD($kod);
      $dane = self::szukaj_KOD($kod);
      okladki::usun($dane['id'], $dane['ISBN']);
      db2::del('ksiazki', array('id' => $kod));
      self::cache_clear($kod);
   }
   
   static function szukaj_KOD($kod) {
@@ -235,25 +131,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 +159,4 @@
      return array($num, $ret, db2::revelance());
   }
}
?>
?>