<?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> <!ELEMENT tytul (#PCDATA)> <!ELEMENT autor (#PCDATA)> <!ELEMENT miejsce (#PCDATA)> <!ELEMENT rok (#PCDATA)> <!ELEMENT wydawnictwo (#PCDATA)> ]> <inwentaryzacja> '); $lastplace = NULL; while($entry = $st->fetch()) { if($lastplace != $entry['regal'].'/'.$entry['polka'].'/'.$entry['rzad']) { if($lastplace !== NULL) { fwrite($fp, '</lokalizacja>'."\n"); } fwrite($fp, '<lokalizacja id="m_'.$entry['regal'].'_'.$entry['polka'].'_'.$entry['rzad'].'" regal="'.$entry['regal'].'" polka="'.$entry['polka'].'" rzad="'.$entry['rzad'].'">'."\n"); $lastplace = $entry['regal'].'/'.$entry['polka'].'/'.$entry['rzad']; } fwrite($fp, '<ksiazka id="k'.$entry['id'].'">'."\n"); foreach($fields as $key) { fwrite($fp, '<'.$key.'>'.htmlspecialchars($entry[$key]).'</'.$key.'>'."\n"); } fwrite($fp, '</ksiazka>'."\n"); } if($lastplace !== NULL) { fwrite($fp, '</lokalizacja>'."\n"); } fwrite($fp, '</inwentaryzacja>'."\n"); ?> <h3>Krok 1 z 3: Przygotowanie listy książek</h3> <p>Jeżeli nie widzisz błędów powyżej to krok pierwszy został pomyślnie zakończony.</p> <form action="locate.htm"> <p>Możesz: <input type="submit" value="Rozpocząć inwentaryzację" /></p> </form> <?php } catch(Exception $e) { echo '<p style="color:red">Wystąpił błąd: '.$e->getMessage().'</p>'; } include('design/bottom.php'); ?>