<?php

## Компонентный подход. Компонент показа гостевой книги.
if (!defined("GBook")) {
    define("GBook", "gbook.dat");
    // имя файла с данными гостевой книги
}
require_once "model.php";
// подключаем Модель (ядро)
// Загрузка гостевой книги.
$data = loadBook(GBook);
// Переменная $data теперь доступна вызывающему Шаблону (см. view.php).
<?php

## Компонентный подход. Компонент добавления записи.
if (!defined("GBook")) {
    define("GBook", "gbook.dat");
    // имя файла с данными гостевой книги
}
require_once "model.php";
// подключаем Модель (ядро)
// Обработка формы, если Шаблон запущен при отправке формы.
// Если нажата кнопка Добавить...
if (!empty($_REQUEST['doAdd'])) {
    // Сначала - загрузка гостевой книги.
    $tmpBook = loadBook(GBook);
    // Добавить в книгу запись пользователя - она у нас хранится
    // в массиве $New, см. форму в шаблоне. Запись добавляется,
    // как водится, в начало книги.
    $tmpBook = [time() => $_REQUEST['new']] + $tmpBook;
    // Записать книгу на диск.
    saveBook(GBook, $tmpBook);
}
// Данный компонент не генерирует никаких данных.
$data = null;
Exemple #3
0
<?php

if (!isset($_GET['review_id'])) {
    die('Missing required parameter');
}
$review_id = $_GET['review_id'];
require_once "protectjson.php";
require_once 'pdo.php';
require_once 'util.php';
header("Content-type: application/json; charset=utf-8");
$stmt = $pdo->prepare('SELECT * FROM Review WHERE review_id = :rid AND user_id = :uid');
$stmt->execute(array(':rid' => $review_id, ':uid' => $_SESSION['user_id']));
$review = $stmt->fetch(PDO::FETCH_ASSOC);
if ($review === false) {
    die("Could not load profile");
}
$title = loadBook($pdo, $review['book_id']);
$rating = loadRate($pdo, $review['rate_id']);
$retval = array();
$retval['review'] = $review;
$retval['review']['title'] = $title['title'];
$retval['review']['rating'] = $rating['rating'];
echo json_encode($retval);
Exemple #4
0
<?php

## MVC. Контроллер системы с пассивным Шаблоном.
require_once "HTML/Template/IT.php";
require_once "../model.php";
// Инициализируем систему шаблонов.
$tpl = new HTML_Template_IT(".");
$tpl->loadTemplatefile("view.htm", true, true);
// Загружаем данные гостевой книги.
$book = loadBook("gbook.dat");
// В цикле генерируем HTML-код книги.
foreach ($book as $id => $e) {
    $tpl->setCurrentBlock("book_element");
    $tpl->setVariable("NAME", $e['name']);
    $tpl->setVariable("TEXT", nl2br($e['text']));
    $tpl->parseCurrentBlock();
}
// Выводим результат.
$tpl->show();
Exemple #5
0
<?php

## MVC. Контроллер (генератор данных) гостевой книги.
define("GBook", "gbook.dat");
// имя файла с данными гостевой книги
require_once "model.php";
// подключаем Модель (ядро)
// Исполняемая часть сценария.
// Сначала - загрузка гостевой книги.
$book = loadBook(GBook);
// Обработка формы, если сценарий вызван через нее.
// Если сценарий запущен после нажатия кнопки Добавить...
if (!empty($_REQUEST['doAdd'])) {
    // Добавить в книгу запись пользователя - она у нас хранится в
    // массиве $_REQUEST['new'], см. форму в Шаблоне. Запись добавляется,
    // как водится, в начало книги.
    $book = [time() => $_REQUEST['new']] + $book;
    // Записать книгу на диск.
    saveBook(GBook, $book);
}
// Все. Теперь у нас в $Book хранится содержимое книги в формате:
// array (
//   время_добавления => array(
//     name => имя_пользователя,
//     text => текст_пользователя
//   ),
//   . . .
// );
// Загружаем Шаблон страницы.
include "view.php";