コード例 #1
0
ファイル: YAZ.php プロジェクト: Alambos/books
 static function is_error()
 {
     if ($e = yaz_error(self::$connection)) {
         error::add('Błąd YAZ: ' . $e);
     } else {
         return FALSE;
     }
 }
コード例 #2
0
ファイル: convert.php プロジェクト: Alambos/books
 static function ISBN13_to_ISBN10($kod)
 {
     validate::EAN($kod);
     if (substr($kod, 0, 3) == '978') {
         $kod = substr($kod, 3, 9);
         return strtoupper($kod . checksum::ISBN($kod));
     } else {
         error::add('Kodu ISBN-13 ' . $kod . ' nie można zamienić na ISBN-10!');
     }
 }
コード例 #3
0
ファイル: pozycz.php プロジェクト: Alambos/books
    static function zwrot($kod)
    {
        if (self::pozyczona($kod) === FALSE) {
            error::add('Książka nie jest wypożyczona!');
        }
        $st = PDOO::Singleton()->prepare('INSERT INTO pozycz_historia (id, kto, od, do)
			SELECT id, kto, od, ? FROM pozycz WHERE id=?');
        $st->execute(array(time(), $kod));
        $st = PDOO::Singleton()->prepare('DELETE FROM pozycz WHERE id=?');
        $st->execute(array($kod));
        ksiazki::cache_update($kod);
    }
コード例 #4
0
ファイル: generate_code39.php プロジェクト: Alambos/books
function kod($kod)
{
    global $code;
    if (trim($kod, '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $') != '') {
        error::add('Znaki inne niż cyfry, litery, pauza, kropka, spacja, ukośnik');
    }
    $kod = $code['SS'] . $code['BT'] . gen_binary($kod) . $code['SS'];
    $i = imagecreate(strlen($kod), 40);
    $w = imagecolorallocate($i, 255, 255, 255);
    $b = imagecolorallocate($i, 0, 0, 0);
    print_code($kod, $i, $b, $w);
    ob_start();
    imagegif($i);
    $img = ob_get_contents();
    ob_end_clean();
    return $img;
}
コード例 #5
0
ファイル: gotowe.php プロジェクト: Alambos/books
    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);
            self::add('polka', 3);
            self::add('rzad', 3);
        } 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 = $ksiazka['kto'];
                    $pozycz = TRUE;
                }
            }
            $cover = ksiazki::okladka($ksiazka['id'], $ksiazka['ISBN']);
            echo '<tr' . ($class ? ' class="' . $class . '"' : '') . '>
	<td>
 		' . ($cover ? '<a href="cover.php?KOD=' . $ksiazka['id'] . '&amp;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>
		<a href="edit.php?kod=' . $ksiazka['id'] . '">Edycja</a>
		<a href="del.php?kod=' . $ksiazka['id'] . '">Usuń</a>
	</td>
</tr>
';
        }
        echo '</table>

';
        self::strony($num);
    }
コード例 #6
0
ファイル: validate.php プロジェクト: Alambos/books
 static function type(&$kod)
 {
     $kod = str_replace('-', '', $kod);
     switch (strlen($kod)) {
         case 13:
             self::EAN($kod);
             if (substr($kod, 0, 3) == '978' or substr($kod, 0, 3) == '979') {
                 return 'ISBN';
             } elseif (substr($kod, 0, 3) == '977') {
                 return 'ISSN';
             }
             break;
         case 9:
             if (self::$kod) {
                 $kod = substr($kod, 1);
                 self::ISSN($kod);
                 $kod = convert::ISSN8_to_ISSN13($kod);
                 return 'ISSN';
             }
             break;
         case 8:
             if (self::$kod) {
                 self::KOD($kod);
                 return 'KOD';
             } else {
                 self::ISSN($kod);
                 $kod = convert::ISSN8_to_ISSN13($kod);
                 return 'ISSN';
             }
             break;
         case 10:
             self::ISBN($kod);
             $kod = convert::ISBN10_to_ISBN13($kod);
             return 'ISBN';
             break;
         default:
             if (self::$kod and ctype_digit($kod)) {
                 self::KOD($kod);
                 return 'KOD';
             }
             break;
     }
     if (self::$kod) {
         self::MSC($kod);
         return 'MSC';
     }
     error::add('Nieznany typ kodu');
 }
コード例 #7
0
ファイル: generate_codabar.php プロジェクト: Alambos/books
<?php

if (!extension_loaded('gd')) {
    error::add('Brak rozszerzenia GD/GD2. Generowanie kodów kreskowych jest niemożliwe.');
}
$code = array('SS' => '1011110000100001', 'BT' => '0', '0' => '1010100001111', '1' => '1010111100001', '2' => '1010000101111', '3' => '1111000010101', '4' => '1011110100001', '5' => '1111010100001', '6' => '1000010101111', '7' => '1000010111101', '8' => '1000011110101', '9' => '1111010000101', '-' => '1010000111101', '$' => '1011110000101', ':' => '1111010111101111', '/' => '1111011110101111', '.' => '1111011110111101', '+' => '1011110111101111');
function gen_binary($kod)
{
    global $code;
    $kod = str_split($kod);
    $ret = '';
    foreach ($kod as $key => $val) {
        $ret .= $code[$val] . $code['BT'];
    }
    return $ret;
}
function print_code($kod, $img, $b, $w)
{
    $kod = str_split($kod);
    foreach ($kod as $val) {
        if ($val == 1) {
            imageline($img, $now, 0, $now, 40, $b);
            $now++;
        } elseif ($val == 0) {
            $now++;
        }
    }
}
function kod($kod)
{
    global $code;
コード例 #8
0
ファイル: okladki.php プロジェクト: Alambos/books
 static function skaluj($file, $max_width, $max_height, $outfile)
 {
     list($width, $height, $type) = getimagesize($file);
     switch ($type) {
         case IMAGETYPE_JPEG:
             $image = imagecreatefromjpeg($file);
             break;
         case IMAGETYPE_PNG:
             $image = imagecreatefrompng($file);
             break;
         case IMAGETYPE_GIF:
             $image = imagecreatefromgif($file);
             break;
         case IMAGETYPE_XBM:
             $image = imagecreatefromxpm($file);
             break;
         default:
             error::add('Nieznany format obrazka: ' . $type . '!');
             return FALSE;
             break;
     }
     if ($width > $max_width or $height > $max_height) {
         if ($width * $max_height > $height * $max_width) {
             $new_width = $max_width;
             $new_height = round($new_width / $width * $height);
         } else {
             $new_height = $max_height;
             $new_width = round($new_height / $height * $width);
         }
         $new_image = imagecreatetruecolor($new_width, $new_height);
         imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
         return imagejpeg($new_image, $outfile, 100);
     } else {
         return imagejpeg($image, $outfile, 100);
     }
 }
コード例 #9
0
ファイル: add_file.php プロジェクト: Alambos/books
<?php

include './includes/std.php';
validate::KOD($_POST['kod'], FALSE);
if (!is_uploaded_file($_FILES['marc']['tmp_name'])) {
    error::add('Nie wysłano pliku!');
}
$szukaj = array(MARC21::to_array(MARC21::from_string(file_get_contents($_FILES['marc']['tmp_name']))));
$i = 0;
$title = 'Dodawanie książki';
include './design/top.php';
?>

<h3> Krok 2 - wybierz żądaną książkę </h3>

<?php 
gotowe::dodaj_lista($_POST['kod'], $szukaj);
?>

<?php 
include './design/bottom.php';
コード例 #10
0
ファイル: add_book.php プロジェクト: Alambos/books
<?php

include './includes/std.php';
if ($_POST['id'] == '' or empty($_POST['autor']) or empty($_POST['tytul']) or empty($_POST['jezyk'])) {
    error::add('Brak wymaganych danych o książce (kod, autor, tytuł, język)');
}
ksiazki::dodaj($_POST);
$title = 'Dodawanie książki';
include './design/top.php';
?>

<h3> Książka została dodana! </h3>

<p>Informacje o dodanym egzemplarzu:</p>

<?php 
gotowe::informacje($_POST['id']);
include './design/bottom.php';
コード例 #11
0
ファイル: ksiazki.php プロジェクト: Alambos/books
 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']);
     }
 }
コード例 #12
0
ファイル: del.php プロジェクト: Alambos/books
<?php

include './includes/std.php';
validate::KOD($_GET['kod']);
$ksiazka = ksiazki::szukaj_KOD($_GET['kod']);
if (empty($ksiazka)) {
    error::add('Wybrana książka nie istnieje');
}
$title = 'Usuwanie książki';
include './design/top.php';
?>

<h3>Czy na pewno chcesz usunąć poniższą książkę?</h3>

<form action="del_book.php" method="post" onsubmit="return ffalse('step4')">
<p>KOD: <input type="text" name="kod" id="step41" value="<?php 
echo $_GET['kod'];
?>
" readonly="readonly" required="required" /><br />
Tytuł: <?php 
echo $ksiazka['tytul'];
?>
<br />
Autor: <?php 
echo $ksiazka['autor'];
?>
<br />
Wydanie: <?php 
echo $ksiazka['wydanie'];
?>
</p>