|  |  | 
 |  |  | <?php | 
 |  |  | $title = 'Inwentaryzacja - rozpoczęcie'; | 
 |  |  | include('design/top.php'); | 
 |  |  | include('../includes/config.php'); | 
 |  |  | include('../includes/db2.php'); | 
 |  |  |  | 
 |  |  | $fields = array('tytul', 'autor', 'miejsce', 'rok', 'wydawnictwo'); | 
 |  |  | require('../includes/config.php'); | 
 |  |  | require('../includes/PDOO.php'); | 
 |  |  |  | 
 |  |  | $data = sql::query('SELECT * FROM `ksiazki` WHERE `wycofana`=\'0\' ORDER BY `regal` ASC, `polka` ASC, `rzad` ASC'); | 
 |  |  | try { | 
 |  |  |    $fields = array('tytul', 'autor', 'miejsce', 'rok', 'wydawnictwo'); | 
 |  |  |  | 
 |  |  | $fp = fopen('list.xml', 'w'); | 
 |  |  | 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> | 
 |  |  | '); | 
 |  |  |    $PDO = PDOO::Singleton(); | 
 |  |  |  | 
 |  |  | $lastplace = NULL; | 
 |  |  |    $st = $PDO->query('SELECT * FROM `ksiazki` WHERE `wycofana`=\'0\' ORDER BY `regal` ASC, `polka` ASC, `rzad` ASC'); | 
 |  |  |  | 
 |  |  | while( ($entry = sql::fetchone($data)) !== FALSE ) { | 
 |  |  |    if($lastplace != $entry['regal'].'/'.$entry['polka'].'/'.$entry['rzad']) { | 
 |  |  |       if($lastplace !== NULL) { | 
 |  |  |          fwrite($fp, '</lokalizacja>'."\n"); | 
 |  |  |    $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, '<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"); | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  |    fwrite($fp, '<ksiazka id="k'.$entry['id'].'">'."\n"); | 
 |  |  |    foreach($fields as $key) { | 
 |  |  |       fwrite($fp, '<'.$key.'>'.htmlspecialchars($entry[$key]).'</'.$key.'>'."\n"); | 
 |  |  |  | 
 |  |  |    if($lastplace !== NULL) { | 
 |  |  |       fwrite($fp, '</lokalizacja>'."\n"); | 
 |  |  |    } | 
 |  |  |    fwrite($fp, '</ksiazka>'."\n"); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | if($lastplace !== NULL) { | 
 |  |  |    fwrite($fp, '</lokalizacja>'."\n"); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | fwrite($fp, '</inwentaryzacja>'."\n"); | 
 |  |  |    fwrite($fp, '</inwentaryzacja>'."\n"); | 
 |  |  |  | 
 |  |  | ?> | 
 |  |  |  | 
 |  |  | 
 |  |  | </form> | 
 |  |  |  | 
 |  |  | <?php | 
 |  |  | } | 
 |  |  | catch(Exception $e) { | 
 |  |  |    echo '<p style="color:red">Wystąpił błąd: '.$e->getMessage().'</p>'; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | include('design/bottom.php'); | 
 |  |  | ?> |