Новый инсталлятор
Партия учла критические замечания трудящихся. Версия 0.11 Tractor Engine:
* новый инсталлятор для тех, кто не желает править config.php вручную;
* префиксы таблиц тем, кто хочет создать несколько трактор-сайтов на одной БД;
* md5 шифрование паролей (для трактористов-параноиков).
Система модулей. Комментарии.
«Не пора ли и мне немного расширить базовый функционал?» − подумал пони, глядя на верблюда.
Модули в Tractor Engine структура в прямом смысле третьего сорта. Напомню, на первом месте у нас активный Шаблон, на втором – Компоненты, теперь у нас еще есть Модули.
› Читать полностью
Подсветка синтаксиса. GeSHi.
Сделать подсветку синтаксиса программного (и не только) кода посредствам библиотеки GeSHi, работая с CKEditor, − задача не самая тривиальная. Не знаю как вы, а я запасся чашечкой чая и парой эклеров.
Нам нужно, чтобы код подсвечивался непосредственно перед генерацией html-странички. Мы не записываем подсвеченный код в БД, а просто обрамляем нужный участок кода специальным тэгом:<pre lang=”Язык_подсветки”>Подсвечиваемый код</pre>
Я решил использовать тот же тег, что и плагин wp_sintax для WordPress (и файл стилей оттуда позаимствовал, не люблю возиться с css;). К слову, этот плагин тоже использует библиотеку GeSHi. Конечно, подсвечивание кода здоровенной библиотекой каждый раз при запросе статьи увеличивает время работы скрипта. На пару десятых долей секунды. Но если мы запишем подсвеченный код в базу данных, то, как вы понимаете, внести изменения в такой код в редакторе статей будет весьма непросто. Представьте себе обилие всевозможных «span style=”color: #000088;”».
Соответственно, Компонент inc/article, ответственный за вывод статьи, должен научиться обрабатывать все, что находится между <pre lang=”Язык”> и </pre> функцией подсветки из библиотеки GeSHi. Мало того, он еще должен определить, какой же именно «Язык» нужно подставить в эту функцию. Другими словами, если вы еще не осознали, − будем работать с регулярными выражениями. Можете смело идти заваривать чай, дело предстоит интересное.
› Читать полностью
Tractor v0.08. Снова о логике.
Сегодня немного сумбурный топик. Ничего глобального я не сделал, поэтому расскажу всего понемногу.
Вести с полей.
Причесал авторизацию в админ-панели. Логин и пароль администратора, заданные в config.php, теперь используются только однажды. При инсталляции создается запись в таблице пользователей te_users, при этом в поле status записывается значение «admin», что дает права администратора. Пользователь с таким статусом может заходить в панель администрирования, а созданные им записи из формы для обычных пользователей не нуждаются в одобрении и сразу публикуются на сайте и в rss-канале.
› Читать полностью
RSS. Продолжение
Продолжим вчерашние рассуждения. Общий вид готового rss-канала должен быть примерно такой:
< ?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Заголовок канала</title> <link>URl сайта</link> <description>Описание сайта</description> <language>ru</language> <item> <title>Заголовок новости #1</title><link>ссылка на новость</link> <description>Описание новости #1</description> <author>( имя автора)</author> </item> <item> <title>Заголовок новости #2</title><link>ссылка на новость</link> <description>Описание новости #2</description> <author>( имя автора)</author> </item> … И т.д. … </channel> </rss>
RSS-канал и другие радости. Вступление
День добрый) Это утверждение. Если вы нашли время почитать мои скромные умоизлияния, то день для меня добрый в любом случае.
Что я проделал:
- добавил функционала зарегистрированным пользователям (далее просто пользователям);
- наконец довел до ума экспорт RSS;
- мелкие косметические изменения кода, которых еще будет тьма.
Рассылка
Заканчиваем посасывать колу на солнышке, дело не эклер, долго ждать не будет. Версия 005 нашей CMS может похвастаться наличием рассылки.
Что из себя представляет функция почтовой рассылки в Tractor Engine:
- возможность подписаться на рассылку не регистрируясь в основной таблице пользователей, достаточно просто ввести E-Mail и шлепнуть по Enter-у;
- система извещений при регистрации;
- возможность редактирования шаблонов рассылки и извещений в панели администратора;
- отсутствие вменяемой системы проверки корректности введенного адреса).
Флуд #01
Мир, Труд, Май, товарищи! Похвастаться мне сегодня нечем и ближайшее время прогресса в CMS не предвидится. Причина, конечно, прозаична, пора немного поучиться)
Что касается ошибок с сессиями, я, хоть убей, ничего не нашел. У меня все нормально работает на двух компах с разными версиями PHP, и на сервере. Я запускаю сессию теперь непосредственно в index.php, чтобы быть уверенным, что никакие заголовки не отправляются раньше сессии. Если у вас возникнут проблемы с последней версией движка, опишите проблему в подробностях, с указанием версии php (хотя бы для статистики)).
Что мы на данный момент имеем. Я немного подлатал шаблон, теперь, и я этим безмерно горжусь, новый шаблон отображается и в Internet Explorer! Невероятно, но моих знаний в верстке хватило для такого подвига)
И, о да, теперь в адрес статьи не обязательно вставлять категорию и пр., достаточно ввести id. На этом, по большому счету, изменения исчерпываются. Желаю хорошо отдохнуть на праздниках, и удачно подготовиться к сессии, если вы являетесь счастливым обладателем студенческого билета) До встречи!
Новый шаблон
Я не зря ел пельмени почти две недели. Килоджоули потраченной энергии вылились в:
-
новый шаблон "Simple_artcl";
-
небольшие усовершенствования админ-панели;
-
зачатки многопользовательской системы.
Админ-панель
Сегодня буду повествовать о том, как я модифицировал Админ-панель, а именно:
- придумывал структуру админки;
- прикручивал CKEditor;
- вымучивал редактор записей.

