Exemplo n.º 1
0
function editbook($bid, $okdomains, $dblink)
{
    $authorid = filter_input(INPUT_POST, 'authorid', FILTER_SANITIZE_NUMBER_INT);
    $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
    $dateto = filter::date($_POST['dateto']);
    $preview = filter::allowedURL($_POST['preview'], $okdomains);
    if ($authorid == FALSE) {
        $message = "Не выбран автор.";
    }
    if ($name == FALSE) {
        $message = "Не указано название книги.";
    }
    if ($dateto == FALSE) {
        $message = "Не указана дата издания.";
    }
    if ($preview == FALSE) {
        $message = "Укажите полный путь к превью (с http://).";
    }
    if ($authorid != FALSE && $name != FALSE && $dateto != FALSE && $preview != FALSE) {
        if ($stm = $dblink->prepare("SELECT COUNT(id) AS cnt FROM authors WHERE id=?")) {
            $stm->execute(array($authorid));
            $row = $stm->fetch();
            $stm = NULL;
            $countAuthors = $row['cnt'];
        }
        if ($countAuthors > 0) {
            if ($stm = $dblink->prepare("UPDATE books SET date_update=NOW(), name=?, author_id=?, preview=?, date=? WHERE id=?")) {
                $stm->execute(array($name, $authorid, $preview, $dateto, $bid));
                $message = "Книга отредактирована ";
                $stm = NULL;
            }
        } else {
            $message = "Такого автора не существует";
        }
    }
    return $message;
}