<?php class gotowe { static $pola = array('autor', 'tytul', 'wydanie', 'miejsce', 'rok', 'wydawnictwo', 'jezyk', 'ISBN', 'ISSN'); static $nastrone = 25; static $add = ''; static $default = FALSE; static function sort($by=NULL, $strona=NULL) { if($strona === NULL) { $strona = 0; } if($by === NULL) { if(!self::$default) { $by = $_GET['sort']; } $ord = $_GET['ord']; } elseif($by == 'default' && self::$default) { $ord = self::invert_sort($_GET['ord']); } elseif($_GET['sort'] == $by && $_GET['ord'] == 'asc') { $ord = 'desc'; } else { $ord = 'asc'; } return $_SERVER['PHP_SELF'].'?'.self::$add.'strona='.$strona.'&sort='.$by.'&ord='.$ord; } static function add($what, $size=50) { if($_GET[$what]!='') { self::$add .= $what.'='.urlencode(substr($_GET[$what], 0, $size)).'&'; } } static function invert_sort($ord) { $ord = strtolower($ord); if($ord != 'asc') { $ord = 'asc'; } else { $ord = 'desc'; } return $ord; } static function informacje($kod, $dane=NULL) { if(is_null($dane)) { $dane = ksiazki::szukaj_KOD($kod); } if($dane['wycofana']) { $class = 'wyc'; $info = '<p>Książka wycofana</p>'; } else { if(!pozycz::pozyczona($dane['id'])) { $class = 'norm'; $info = ' <p>Książka w dostępna</p> '; } else { $class = 'poz'; $info = ' <p>Książka wypożyczona</p> '; } } // Okładka $cover = ksiazki::okladka($dane['id'], $dane['ISBN']); echo '<div class="'.$class.'" id="book"> '.($cover ? '<a href="cover.php?KOD='.$dane['id'].'&ISBN='.$dane['ISBN'].'"><img src="'.$cover.'" alt="Okładka" /></a> ' : '').'<h4>'.$dane['tytul'].'</h4> <h5>'.$dane['autor'].($dane['regal'] ? ' <span>('.$dane['regal'].($dane['polka'] ? '/'.$dane['polka'] : '').($dane['rzad'] ? '/'.$dane['rzad'] : '').')</span>' : '').'</h5> '.($dane['wydanie'] ? '<p>Wydanie '.$dane['wydanie'].'</p>' : '').' <p>'.($dane['wydawnictwo'] ? $dane['wydawnictwo'].'<br /> ' : '').$dane['miejsce'].' '.$dane['rok'].($dane['ISBN'] ? '<br /> ISBN-13: '.$dane['ISBN'] : '').(substr($dane['ISBN'], 0, 3) == '978' ? '<br /> ISBN-10: '.convert::ISBN13_to_ISBN10($dane['ISBN']) : '').($dane['ISSN'] ? '<br /> ISSN-13: '.$dane['ISSN'].'<br /> ISSN-10: '.convert::ISSN13_to_ISSN8($dane['ISSN']) : '').'</p> '.$info.' </div>'; } static function lista() { if(!in_array($_GET['sort'], array('id', 'autor', 'tytul', 'miejsce', 'rok', 'wydawnictwo'))) { $_GET['sort'] = 'tytul'; self::$default = TRUE; } if($_GET['ord'] != 'desc') { $_GET['ord'] = 'asc'; } if(!ctype_digit($_GET['strona'])) { $_GET['strona'] = 0; } if($_GET['id']) { self::add('id', 13); } else { self::add('tytul'); self::add('autor'); self::add('wydanie', 25); self::add('miejsce'); self::add('rok', 4); self::add('wydawnictwo'); } if(self::$default) { $sort = array('revelance' => self::invert_sort($_GET['ord']), $_GET['sort'] => $_GET['ord']); } else { $sort = array($_GET['sort'] => $_GET['ord']); } list($num, $ksiazki, $revelance) = ksiazki::szukaj_info($_GET, $sort, $_GET['strona']*self::$nastrone, self::$nastrone); if($num==0) { error::add('Brak książek spełniających podane kryteria'); } elseif($num==1 AND !$revelance) { self::informacje(NULL, $ksiazki[0]); return TRUE; } echo '<table class="width"> <tr> <th>Okł.</th> <th> <b><a href="'.self::sort('id').'">Kod</a></b> <br /> Wyd. </th> <th> <a href="'.self::sort('autor').'">Autor</a> <br /> <b><a href="'.self::sort('tytul').'">Tytuł</a></b> </th> <th> <a href="'.self::sort('miejsce').'">Miejsce</a>, <a href="'.self::sort('rok').'">rok</a> <br /> <a href="'.self::sort('wydawnictwo').'">Wydawnictwo</a> </th>'.($revelance ? ' <th><a href="'.self::sort('default').'">Trafność</a></th>' : '').' <th> Wypożyczenie <br /> Opcje </th> </tr> '; foreach($ksiazki as $ksiazka) { if($ksiazka['wycofana']) { $info = 'Książka wycofana'; $class = 'wyc'; } else { if($ksiazka['do']!==NULL OR $ksiazka['od']===NULL) { $class = 'norm'; $info = 'Książka w bibliotece'; } else { $class = 'poz'; $info = 'Książka wypożyczona'; $pozycz = TRUE; } } $cover = ksiazki::okladka($ksiazka['id'], $ksiazka['ISBN']); echo '<tr'.($class ? ' class="'.$class.'"' : '').'> <td> '.($cover ? '<a href="cover.php?KOD='.$ksiazka['id'].'&ISBN='.$ksiazka['ISBN'].'"><img src="'.$cover.'" alt="Okładka" /></a>' : '').' </td> <td> <b>'.$ksiazka['id'].'</b> <br /> '.($ksiazka['wydanie'] ? 'W. '.$ksiazka['wydanie'] : '').' </td> <td> '.$ksiazka['autor']. ($ksiazka['regal'] ? ' <span>('.$ksiazka['regal']. ($ksiazka['polka'] ? '/'.$ksiazka['polka'] : ''). ($ksiazka['rzad'] ? '/'.$ksiazka['rzad'] : ''). ')</span>' : '').' <br /> <b>'.$ksiazka['tytul'].'</b> </td> <td> '.$ksiazka['miejsce'].' '.$ksiazka['rok'].' <br /> '.$ksiazka['wydawnictwo'].' </td>'.($revelance ? ' <td>'.min(100, (int)($ksiazka['revelance']*10)).'% </td>' : '').' <td class="n"> '.$info.' <br /> <a href="info.php?kod='.$ksiazka['id'].'">Więcej...</a> </td> </tr> '; } echo '</table> '; self::strony($num); } static function strony($elementow) { $stron = ceil($elementow / self::$nastrone) - 1; echo '<p class="paginator"> '; for($strona=0; $strona<=$stron; $strona++) { if($strona == $_GET['strona']) { echo '<b>[ '.($strona+1).' ]</b> '; } else { echo '<a href="'.self::sort(NULL, $strona).'">[ '.($strona+1).' ]</a> '; } } echo '</p>'; } } ?>