MediaWiki:Isbn-uprav-php

Z WikiSkript

<?php

$sqlsrvr = '';
$sqlbase = '';
$sqluser = '';
$sqlpswd = '';

function onlyNumbers($isbn) {
        $returnValue = "";
        for ($i = 0; $i < strlen($isbn); $i++) {
                $char = substr($isbn, $i, 1);
                //pokud je znak cislice nebo x (kontrolni znak v isbn10)
                if ((ord($char) >= 48 && ord($char) <= 57) || $char == 'x' || $char == 'X') {
                        $returnValue .= $char;
                }
        }
        return $returnValue;
}

if (isset($_GET['isbn'])) {
        $isbnid = onlyNumbers($_GET['isbn']);
        if (substr($isbnid, -1, 1) == 'x' || substr($isbnid, -1, 1) == 'x') {
                $isbnid = substr($isbn, 0, -1);
        }
        $parametry = array('prijmeni1', 'prijmeni2', 'prijmeni3', 'jmeno1', 'jmeno2', 'jmeno3', 'korporace', 'kolektiv',
                'titul', 'podnazev', 'vydani', 'misto', 'vydavatel', 'rok', 'url', 'rozsah', 'edice', 'svazek');


        $con = mysql_connect($sqlsrvr, $sqluser, $sqlpswd);
        if (!$con) {
                die('Could not connect: ' . mysql_error() );
        }
        mysql_select_db($sqlbase, $con);
        if ($error = mysql_error()) {
                die('Could not select db: ' . $error);
        }

        //Je záznam v databázi?
        $sql = 'SELECT * FROM `' . $sqlbase . '`.`ws_isbn` WHERE `isbnid`=\'' . $isbnid . '\';';
        $result = mysql_query($sql);
        $row = mysql_fetch_array($result, MYSQL_ASSOC);

        if ($row['isbn']) {
                //Záznam je v databázi -> UPDATE
                $sql = "UPDATE `". $sqlbase . "`.`ws_isbn` SET ";
                $pridatCarku = false;
                foreach ($parametry as $parametr) {
                        if ($pridatCarku) {
                                $sql .= ", ";
                        }
                        $sql .= "`" . $parametr . "`='" . $_GET[$parametr] . "'";
                        $pridatCarku = true;
                }
                $sql.= " WHERE `isbnid`='" . $isbnid . "';";
        } else {
                //Záznam není v databázi -> INSERT
                $sql = "INSERT INTO `" . $sqlbase . "`.`ws_isbn` (`key`, `isbnid`, `isbn`";
                foreach ($parametry as $parametr) {
                        $sql .= ", `" . $parametr . "`";
                }
                $sql .= ") VALUES ('', '" . $isbnid . "', '" . $_GET['isbn'] . "'";
                foreach ($parametry as $parametr) {
                        $sql .= ", '" . $_GET[$parametr] . "'";
                }
                $sql .= ");";
        }
        $sql = mysql_query($sql);
        if ($error = mysql_error()) {
                die('Could not insert/update db: ' . $error);
        }
        echo $sql;
        mysql_close($con);
}
?>