Книга "Самоучитель Движок для вашего сайта" ориентирована как на обычных пользователей Интернета, которым нужно в кратчайшие сроки создать свой сайт, так и на разработчиков, которые заинтересованы в построении собственной системы управления сайтом. Рассмотрены три уже готовые системы управления сайтом - Joomla!, Slaed, PHP-Nuke. С позиции пользователя описывается, как установить, настроить, разработать графическую тему и расширить возможности каждой системы. Для разработчиков описано программирование собственных расширений для рассмотренных движков, а также создание собственной системы управления сайтом. Отдельное внимание уделяется защите от взлома разрабатываемой системы, а также интеграции с популярным форумом phpBB из файла задания. На прилагаемом компакт-диске находятся последние версии CMS Joomla!, Slaed, PHP-Nuke, множество расширений, шаблонов, а также все значимые листинги книги.
Содержание
Часть I. CMS Joomla! 3 Глава 1. Установка Joomla! 5 1.1. Краткая информация о Joomla! 5 1.1.1. Joomla! - бесплатная система 5 1.1.2. Происхождение Joomla! 6 1.1.3. CMS Joostina 7 1.2. Инсталляция Joomla! 7 Глава 2. Панель управления сайтом 14 2.1. Вход в панель управления 14 2.2. Управление шаблонами сайта 14 2.2.1. Выбор шаблона по умолчанию 14 2.2.2. Установка нового шаблона 16 2.2.3. Изменение шаблона 18 2.3. Разделы панели управления 19 2.4. Изменение общих настроек сайта 21 2.5. Управление контентом сайта 26 2.5.1. Разделы сайта 26 2.5.2. Категории 29 2.5.3. Материалы 32 2.6. Управление меню сайта 37 2.7. Управление главной страницей 39 2.8. Управление пользователями сайта 41 Глава 3. Расширения Joomla! 45 3.1. Компоненты, модули и мамботы 45 3.2. Установка расширений 46 3.2.1. Установка и удаление компонентов 46 Два способа установки 46 Связь компонента с меню 48 Удаление компонента 52 3.2.2. Установка и удаление модулей 52 3.2.3. Проблемы при установке расширений 52 3.3. Создание расширений 53 3.3.1. Разработка XML-шаблона 53 3.3.2. Работа с базой данных 57 3.3.3. Создание простого расширения 59 Глава 4. Разработка шаблонов для Joomla! 62 4.1. Где взять бесплатные шаблоны для Joomla! 62 4.2. Создание собственного шаблона 63 4.2.1. Позиционирование модулей 63 4.2.2. Создание структуры каталогов 64 4.2.3. Создание файла index.html 64 4.2.4. Создание index.php - главного файла шаблона 65 4.2.5. Создание XML-файла шаблона 68 Часть II. PHP-Nuke 71 Глава 5. Установка и базовая настройка PHP-Nuke 73 5.1. Немного о PHP-Nuke 73 5.2. Установка PHP-Nuke 76 5.3. Вывод дополнительной информации с помощью блоков 80 Глава 6. Установка дополнительных модулей и графических тем 84 6.1. Некоторые полезные модули для PHP-Nuke 84 6.2. Активизация модуля 87 6.3. Темы 89 Глава 7. Создание собственных модулей для PHP-Nuke 92 7.1. Простой модуль 92 7.2. Работа с базой данных 96 Глава 8. Проблема безопасности и защита PHP-Nuke 98 8.1. Безопасен ли PHP-Nuke? 98 8.2. Переименование файла admin.php 98 8.3. Защита файла администрирования от прямого обращения извне 99 8.4. Ограничение доступа к файлу администрирования средствами Web-сервера 99 8.5. Изменение префикса таблиц 103 Часть III. SLAED CMS 105 Глава 9. Описание и установка SLAED CMS 107 9.1. Знакомство со SLAED CMS 107 9.2. Установка SLAED CMS 108 9.3. Удаление окна с всплывающей рекламой 113 9.4. Защита SLAED CMS 113 9.4.1. Изменение имени файла admin.php 113 9.4.2. Нестандартный префикс таблиц SLAED CMS 114 9.4.3. Правильный выбор пароля 115 9.4.4. Будьте осторожны при установке дополнительных модулей 115 9.4.5. Вход в панель управления только с определенного IP 116 9.4.6. Не удаляйте файлы .htaccess 117 9.4.7. Регулярно создавайте резервные копии базы данных 117 Глава 10. Панель администрирования SLAED CMS 118 10.1. Возможности панели администрирования 118 10.2. Базовая настройка SLAED CMS 120 10.3. Дополнительные темы оформления 126 10.4. Управление контентом сайта 127 10.4.1. Создание списка вопросов и ответов 127 10.4.2. Каталог файлов. Статьи 129 10.4.3. Опросы 131 Глава 11. Полезные модули для SLAED CMS 133 11.1. Перечень модулей 133 11.2. Установка модулей 136 Глава 12. Создание собственных модулей 139 12.1. Совместимость модулей SLAED CSM и PHP-Nuke 139 12.2. Простой модуль 139 12.3. Активация модуля 142 12.4. Передача параметров модулю 143 12.5. Подробно об адаптации модулей PHP-Nuke 144 12.5.1. Код защиты модуля 144 12.5.2. Новый вызов файла конфигурации 145 12.5.3. Код доступа к базе данных 145 12.5.4. Вызовы OpenTable2() и CloseTable2() 146 12.5.5. Избавляемся от подключения mainfile.php 146 12.5.6. Ссылки на modules.php 147 12.5.7. Цветовые переменные 147 12.5.8. Переменная $nukeurl 147 Часть IV. Разработка собственной CMS 149 Глава 13. Функции и возможности будущей CMS. Разработка шаблонизатора 151 13.1. Зачем нужно разрабатывать собственную CMS 151 13.2. Вопросы планирования 153 13.3. "Принципиальная" схема CMS 155 13.4. Разработка шаблонизатора для CMS 157 Глава 14. Реализация основных функций CMS 162 14.1. Разработка TPL-шаблона 162 14.2. Файл настроек 163 14.3. Основной файл CMS - index.php 164 14.4. Проектирование базы данных 167 14.4.1. Таблица static 167 14.4.2. Таблица cats 168 14.4.3. Таблица pages 169 14.5. Иерархическая структура сайта. Создание иерархического меню 170 14.5.1. Алгоритм работы меню 170 14.5.2. Сценарий menu.php 173 14.5.3. Вывод содержимого раздела и страницы 179 14.6. Подведем итоги проделанной работы 184 Глава 15. Дополнительные функции CMS 185 15.1. Вывод информации из таблицы static 185 15.2. Постраничный вывод 186 15.3. Функция вывода содержимого HTML-файла 191 15.4. Версия для печати 192 Глава 16. Работа с RSS: получаем новости на сайт 194 16.1. Краткие сведения о RSS 194 16.2. Формат RSS-файла 195 16.3. Написание сценария импорта новостей 197 16.4. Подключение файла import.php к сайту 201 16.4.1. Интеграция с нашей CMS 201 16.4.2. Интеграция с произвольной CMS 202 16.5. Создание граббера новостей 203 Глава 17. Интеграция CMS с LiveJournal 207 17.1. Что такое "живой" журнал 207 17.2. Интеграция фотогалереи LiveJournal и сайта 209 17.3. Настройка внешнего вида галереи 213 Глава 18. Защита собственной CMS 215 18.1. Сайт в опасности 215 18.2. Два самых распространенных метода взлома 216 18.3. Межсайтовый скриптинг 217 18.4. SQL-инъекции 219 Часть V. Интеграция CMS с форумом phpBB 225 Глава 19. Базовая интеграция 227 19.1. Преимущества и недостатки интеграции с форумом 227 19.2. Разработка формы входа 228 19.3. Вывод последних сообщений форума на главной странице 230 19.4. Вывод онлайн-посетителей 234 19.5. Изменение названий полей 236 Глава 20. Разработка и интеграция панели администрирования CMS 240 20.1. Возможности панели управления 240 20.2. Создание HTML-редактора 240 20.3. Разработка модулей для панели администрирования phpBB 244 20.4. Модуль редактирования таблицы static 246 20.5. Домашнее задание 253 Глава 21. Изменение TPL-шаблонов phpBB 255 21.1. Основные TPL-шаблоны phpBB 255 21.2. Изменение дизайна форума 260 Глава 22. Фотогалерея за 20 минут 262 22.1. Установка фотоальбома Smartor 262 22.1.1. Правильная распаковка архива 262 22.1.2. SQL-запросы 262 22.1.3. Установка прав доступа 265 22.1.4. Редактирование файлов phpBB 266 22.1.5. Небольшой бонус от автора 268 22.2. Использование фотоальбома 269 Часть VI. Специальные движки 275 Глава 23. WordPress: создай свой блог 277 23.1. Что такое блог 277 23.2. Установка и использование WordPress 278 Глава 24. Wiki: создай свою энциклопедию 283 24.1. Вкратце о MediaWiki 283 24.2. Установка Вики 284 24.3. Настройка MediaWiki 290 24.3.1. Название сайта и его логотип 290 24.3.2. Параметры доступа к БД 291 24.3.3. Выбор языка MediaWiki 291 24.3.4. Изменение скина (графической темы) 292 24.3.5. Разрешение загрузки файлов на сайт 292 24.3.6. Управление правами доступа 292 24.4. Создание и редактирование страниц 296 24.5. Специальные страницы 299 Глава 25. Движок для интернет-магазина 301 25.1. Выбор движка 301 25.2. Сценарий Shop-Script FREE 303 25.3. Установка сценария 304 25.4. Использование сценария 305 Приложения 313 Приложение 1. Установка форума phpBB 315 Приложение 2. Права доступа в UNIX/Linux 317 Приложение 3. Основы SQL 320 П3.1. Немного истории 320 П3.2. Преимущества SQL 321 П3.3. Как выглядят запросы 322 П3.4. Что такое база данных 322 П3.5. Создание таблиц 324 П3.6. Добавление записей в таблицу 328 П3.7. Обновление записей 329 П3.8. Выборка записей 330 П3.9. Удаление записей 331 П3.10. Встроенные функции 332 П3.11. Группировка записей. Сложные запросы 333 Приложение 4. Программа phpMyAdmin 337 П4.1. Действия над таблицами 339 П4.2. Создание новой таблицы. Изменение структуры таблицы 339 П4.3. Вставка записей 342 П4.4. Обзор таблицы 342 П4.5. Выполнение произвольного SQL-кода 342 П4.6. Резервное копирование БД 343 Приложение 5. Описание компакт-диска 345 Предметный указатель 348
Книга познакомит с популярным языком программирования Python, его наиболее распространенными модулями и приложениями, стилями и приемами программирования. Python изначально разрабатывался как объектно-ориентированный язык программирования, который позволяет использовать методы быстрой разработки приложений, легко создавать прототипы программных систем и интегрировать различные программные системы.
В книге известных американских специалистов в области языков программирования Т. Пратта и М. Зелковица рассматриваются общие концепции разработки и реализации языков программирования, а также основы формальных грамматик и конечных автоматов — математических моделей, используемых для определения и реализации языков программирования.