<?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;
<?php defined('_JEXEC') or die('Restricted access'); echo 'Book component he he he'; require_once JApplicationHelper::getPath('admin_html'); JTable::addIncludePath(JPATH_COMPONENT . DS . 'tables'); $task = JRequest::getCmd('task'); switch ($task) { case 'add': add1Book(); break; case 'cancel': cancelBook(); break; case 'save': saveBook(); break; default: show1Book(); break; } function add1Book() { $lists['published'] = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $row->published); HTML_book::addBook($lists); } function cancelBook() { global $mainframe; $mainframe->redirect('index.php?option=com_book'); }
case "show_all": unsetCatId(); break; case "Delproduct": delProduct($bid); showBooks($option); break; case "Addproduct": addProduct($bid, $option); break; case "refetchInfos": refetchInfo($option, $bid); break; case "apply": case "save": saveBook($option, $task); break; case "remove": removeBooks($bid, $option); break; case "publish": publishBooks($bid, 1, $option); break; case "unpublish": publishBooks($bid, 0, $option); break; case "approve": ApproveBooks($bid, 1, $option); break; case "unapprove": ApproveBooks($bid, 0, $option);
<?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";