Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Блок администратора, версия 1.3
===============================
Позволяет администратору быстро переходить к наиболее используемым разделам админпанели, что ускоряет обновление сайта.
Выдает статистику по кол-ву поступивших в публикацию новостей, файлов, сайтов, вопросов, а также о недоступных файлах и ссылках.
Функция наблюдения позволит админам видеть, кто из них на сайте, где, какой IP и многое другое.
Новое в версии 1.3
===============================
1. Функция наблюдения (см. описание выше)
2. Новый пункт 'Загрузить файл' - поможет быстро перейти на страницу загрузки файлов (картинок)
3. Возмижность настраивать конфигурацию блока (в коде самого блока)
4. Возможность отключать ненужные или не используемые пункты из конфига
5. Немного переписан и оптимизирован код блока (7 запросов в базу)
И еще много мелких исправлений и дополнений...
Установка
===============================
1. Скопировать block-Admin.php в корень сайта в папку blocks.
2. Обязательно прочитать файл Lang-files.txt для установки языков.
3. Зайти в админку => Блоки и баннеры => Добавить новый блок и выбрать из списка блок Admin.
4. Не забудьте сделать его видимым только для админов.
5. Пользоваться :)
Создатели
==============================
Идея и воплащение: AntDima (antdima@mail.ru)
Тестирование: Lustrik (madlustrik@mail.ru)
А также спасибо за помощь: Serg_pnz (print58@yandex.ru)
Поддержка данного блока проходит на форуме в топике http://www.slaed.net/forum/index.php?showtopic=5258
За то, что вы видите в определенной последовательности на странице текст и картинки, отвечает язык разметки гипертекстовых документов HTML. Он достаточно прост, и освоить его вам поможет наш учебник, в котором мы попытались вести изложение доступным для всех языком и с юмором.
Вы можете сразу перейти к учебнику, а можете посмотреть сначала оглавление или краткий словарь по тэгам, чтобы найти быстрее то, что вам нужно, если вы уже были здесь. Не игнорируйте примечания, вынесенные в правую колонку, они содержат полезную дополнительную информацию.
Прежде чем перейти к описанию новых возможностей и основных изменений данной версии системы, хотелось бы остановиться на основных пунктах, тоесть глобальных отличиях новой версии SLAED CMS 3.3 Pro. Основной из них является файловая система прикреплений файлов, как в редакторе ББ, так и без него. Загрузка файлов выполнена по средствам технологий AJAX + Flash. Отображение и просмотр загруженных файлов работает с применением AJAX. Две данные функции работают в независимом друг от друга режиме, что снижает нагрузку на сервер, уменьшает скорость загрузки, увеличивает сферу и возможность использования.
Применения данной возможности предусмотрено для всех посетителей без ограничения, начиная от анонимного пользователя и заканчивая администратором, в зависимости от настроек. Естественно, что использование прикреплений возможно во всех отделах и модулях системы, в зависимости от настроек. Модификациям, таким как добавление возможностей публикации материалов на сайте были подвергнуты все основные модули.
Исправления и корректировки
Исправлена недоработка в оформлении системы связанная с некорректным отображением в отделах конфигурации при использовании нестандартных расширений экрана.
Исправлена ошибка, связанная с фильтрацией слов в системе. Данная проблема возникала в случае активированной фильтрации слов с не указанными для этого параметрами в конфигурациях системы.
Исправлена ошибка вывода не активированной модератором или администратором новой статьи в отделе профиля пользователя.
Корректировки подвергся файл генерации канала RSS. Формат приближен к всеобще принятым стандартам.
Модифицирована функция генерации и вывода категорий при публикации материалов на сайте в опции выбора. Значительным образом снизилась нагрузка на базу данных, откорректирована сортировка категорий.
Исправлена ошибка медиа каталога связанная с установкой года выпуска релиза. Данная ошибка проявлялась только в версии 3.2 Pro.
Решён вопрос, связанный с корректной сортировкой содержания списка при использовании базы данных. Таблицы заголовков базы данных переведены в бинарный режим.
Произведены коррекции файла интеграции системы с форумами. Исправлены неточности связанные с записью информации в базу данных форума.
Общие изменения, новые возможности, модификации
Переписана функция генерации секретного кода, что значительным образом повышает уровень безопасности и исключает регистрацию в системе спамерских роботов. Угол наклона и место размещения кода генерируется в случайном режиме. Ко всему этому Вы можете установить свой, желаемый шрифт для кода.
Модифицирован модуль RSS Информер, добавлена возможность генерации каналов для модуля магазина и медиа каталога. В соответствии с этим внесены необходимые изменения в основной файл генерации каналов.
Добавлены правила ЧПУ для корректной работы при сортировки содержания модулей по алфавиту. Внесены соответствующие изменения в модуле, где присутствует данная возможность.
Модифицирована функция категорий, добавлена возможность отображения графического элемента установленного для категории непосредственно в самой категории.
Модифицирован вывод предварительного просмотра информации на главной странице в модулях каталога файлов и сайтов. Решён вопрос конфликта BB и HTML кода при сокращении текста вывода.
Модифицирована поисковая функция системы. Изменена подсветка поисковых запросов, таким образом, исключена подсветка поисковых запросов в коде, что приводило к некорректному отображению информации. Добавлена возможность подсветки каждого слова в результатах поискового запроса.
Написан новый модуль страниц с полным набором стандартных функций системы, таки как: Рейтинг на основе AJAX, Комментарии посетителей, Возможность распечатки, Количество просмотров, Автор публикации, Дата публикации, Добавить страницу.
Модификации подвергся модуль новостей, добавлена возможность разделения новости на неограниченное количество новостей, как правило, эта функция эффективно при большом количестве текста в статье.
Удалён модуль добавления новости на проект, взамен него произведена интеграция добавления новостей в самом модуле, из опыта использования, данная возможность является более универсальной.
Написан новый модуль вопросов и ответов с полным набором стандартных функций системы, таки как: Рейтинг на основе AJAX, Комментарии посетителей, Возможность распечатки, Количество просмотров, Автор публикации, Дата публикации, Добавить вопрос.
Во все существующие формы добавления модулей добавлена проверка секретного кода по умолчанию в случае активации данной возможности для анонимных пользователей. Данный тип проверки значительным образом повышает защиту Вашего проекта от спамерких роботов и программ.
С учётом добавления новых модулей модифицирована система поиска. Улучшена его функциональность за счёт введения новых модулей.
Значительным образом переписан модуль автоматического обмена ссылками. Улучшена его административная часть, автоматизирована установка размера баннера, добавлен выбор баннера с использованием AJAX. Модифицирована форма добавления новых сайтов в пользовательской части модуля. Установлена проверка на существование предлагаемого сайта в базе, для исключения двойников.
В модуле анекдотов установлено подтверждение секретного кода в случае установки возможности добавления анекдотов анонимным посетителям.
Реализована новая функция генерации тем оформления системы дающая возможность уникального оформления главного шаблона системы персонально для каждого модуля.
Написана и установлена централизованная функция, которая даёт возможность её использования во всех отделах проекта, где необходимо использования окна ввода информации с применением текстового ББ редактора. В соответствии с этим, там, где это необходимо, произведены изменения во всех модулях и файлах системы.
Написана и установлена функция генерации и проверки секретного кода. Данная функция даёт возможность быстрого использования и применения без написания функции для каждого участка кода.
Установлена и проработана полная поддержка мультиязычьности для модулей, где используются категории. Вы можете установить язык для каждой категории в отдельности.
Написана новая система загрузки файлов с использованием технологий AJAX+Flash. Данная система предусмотрена для загрузки, использования и просмотра уже загруженных файлов в онляйн режиме непосредственно в ББ редакторе при публикациях или в панели администратора системы.
В ББ редакторе добавлена возможность прикрепления графических элементов с функцией предпросмотра.
Установлено преобразование ссылок в ЧПУ для следующих модулей: "Auto_Links", "Contact", "FAQ", "Files", "Info", "Jokes", "Links", "Media", "News", "Pages", "Recommend", "Shop", "Voting".
Установлена актуальная версия HTML редактора Tiny MCE в котором исправлен ряд ошибок, в том числе корректировка текста в режиме кода.
Полную версию можно будет преобрести начиная с 07.07.2007 в магазине нашего проекта. Актуальные пользователи версии 3.1, 3.2 Pro смогут скачать бесплатное обновление до версии 3.3 Pro непосредственно в отделе для клиентов.
Идея состоит в том, чтобы дать пользователю полную свободу действий при формировании темы оформления системы. Обычно управление формирование внешнего вида сайта ложится на систему, сама тема оформления влияет на этот процесс лишь косвенно, то есть она пассивна. Мы уже делали шаги в сторону интерактивности тем оформления вставляя переменные в HTML код и обрабатывая их, но тем не менее заставить тему управлять сайтом было невозможно. Кроме того, оформление сайта разбросанное по отдельным файлам не позволяло выстроить общей картины и затрудняло разработку тем. Даже человеку знакомому с HTML достаточно сложно, было, нарезать готовый HTML шаблон на куски.
Продолжая в том же духе, уместно будет сказать о том, что внешний вид сайта очень сильно зависит от разработчиков системы, другими словами существуют жестко вшитые куски, которые достаточно сложно менять или перемещать, чтобы изменить некоторые из них нужно править саму систему, что прямо скажем не всем и не всегда удобно. Для примера можно назвать такие вещи как табличная структура, модуль, лицензия, генерация страниц, левые правые верхние нижние блоки, а также банеры.
Другими словами задача стояла такая
1. Создать симбиоз ядра системы и темы оформления, когда не только ядро жестко задает правила поведения и отображения элементов системы, но и тема активно управляет видимостью и управлением элементов.
2. Позволить дизайнеру воплощать любые дизайнерские идеи без оглядки на ядро. То есть, хочет чтобы, верхние блоки отображались слева, правые и левые блоки были расположены вместе справа - нет проблем.
3. Не тормозить продвинутых пользователей в реализации различных способов форматирования текста, таких как HTML - различных версий. XHTML и даже XML, то есть наиболее полно реализовать CMS, так как CMS - это система управления контентом, а вот отображение этого контента может быть любым.
4. Решив задачу 2 и 3 увести систему от табличного дизайна и подготовить к отображению на различных устройствах, таких как мобильных, наладонных и так далее...
5. Жестко разграничить понятия оформление и данные.
Итог
Выполнив все поставленные задачи, мы можем смело сказать, что система не будет тянуть пользователей назад, даже тогда когда все дружно решат перейти на DIV, никаких изменений в движке не потребуется нужно будет только поправить дизайн.
Реализация и как всё работает
В пользовательской теме оформления должен присутствовать файл index.html. Это обычный HTML файл, предназначенный для формирования внешнего вида системы. Соответственно надобность в файлах: header.html, footer-close.html и footer-open.html отпадает.
Синтаксис, простейший файл оформления будет иметь вид:
Естественно, верстальщик и дизайнер могут наполнить его любым HTML оформлением и применить все возможные и известные приемы верстки. Как мы видим, табличная структура отсутствует, и мы можем все построить на дивах (DIV) или переписать код в XHTML.
В данном случае и в целом все понятно, просто и наглядно. Остается только объяснить какие переменные вида {%XXXX%} за что отвечают. Расставить эти переменные естественно можно по всему файлу, в каком угодно порядке.
{%HEAD%} - Стандартное формирование шапки - меты и титлы, а также содержание, которое присутствует в системе по умолчанию.
{%MODULE%} - Нарезка для модуля, который должна подставить система.
{%LICENSE%} - Копирайты системы.
{%BLOCKS banner%} или {%BLOCKS b%} - Верхний банер.
{%BLOCKS left%} или {%BLOCKS l%} - Левые блоки.
{%BLOCKS center%} или {%BLOCKS c%} - Верхние блоки.
{%BLOCKS down%} или {%BLOCKS d%} - Нижние блоки.
{%BLOCKS right%} или {%BLOCKS r%} - Правые блоки.
{%BLOCKS foot%} или {%BLOCKS f%} - Нижний банер.
{%BLOCKS time%} или {%BLOCKS t%} – Время генерации страницы.
{%BLOCKS none,ХХХ%} или {%BLOCKS n,ХХХ%} - Произвольный блок системы или свободный блок без оформления, где ХХХ - это либо ID блока, либо название файла блока.
{%BLOCKS standart,ХХХ%} или {%BLOCKS s,ХХХ%} - Произвольный блок системы или свободный блок с оформлением свободного блока, где ХХХ - это либо ID блока, либо название файла блока.
{%BLOCKS message%} или {%BLOCKS m%} – Сообщение на главной странице.
{%BLOCKS variables%} – Анализатор переменных.
{%BLOCKS query%} – Анализатор запросов в базу данных.
Новая система оформления тем будет доступна, начиная с версии SLAED CMS 2 Pro.
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов PHP-Nuke. Программу, написанную специально для нашей системы, для автоматической интеграции модулей PHP-Nuke в SLAED CMS Вы можете скачать на нашем проекте в каталоге файлов.
Прошу учитывать, что старые варианты использования кода в модулях PHP-Nuke могут незначительно отличаться от описанных в данной статье.
1. В самом верху изменяем способ защиты для модулей от стороннего доступа.
Старый вариант: if (!eregi("modules.php", $_SERVER["PHP_SELF"])) {
die ("You can"t access this file directly...");
}
Новый вариант: if (!defined("MODULE_FILE")) {
Header("Location: ../../index.php");
exit;
}
2. Старые модули PHP-Nuke используют соединение с базой по средствам переменной $dbi. Наша система использует соединение с базой по средствам переменной $db, по этой причине необходимо изменить все переменные $dbi на $db.
Меняем все глобальные переменные $dbi в функциях, на новые $db. Если это необходимо, указываем переменную $db как глобальную.
Старый вариант: global $prefix, $dbi;
Новый вариант: global $prefix, $db;
Изменяем структуру запроса в базу данных.
Старый вариант: $result = sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id", $dbi);
Новый вариант: $result = $db->sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id");
Как вы заметили, удалена переменная $dbi в конце запроса и добавлена переменная $db в начале. Это нужно проделать со всеми запросами.
В запросах необходимо изменить:
sql_fetch_array на $db->sql_fetchrow sql_query на $db->sql_query sql_fetch_row на $db->sql_fetchrow sql_num_rows на $db->sql_numrows sql_free_result на $db->sql_freeresult
Если появляются вопросы по поводу запросов или правильности их написания, смотрим файл function/mysql.php
В некоторых модулях используются прямые запросы в базу данных в обход файла классов соединения с базой. В таком варианте запросы не подсчитываются. При желании вы так же можете изменить запросы подобного рода.
В запросах необходимо изменить:
mysql_fetch_array на $db->sql_fetchrow mysql_query на $db->sql_query mysql_fetch_row на $db->sql_fetchrow mysql_num_rows на $db->sql_numrows mysql_free_result на $db->sql_freeresult
В функциях не забываем указывать переменную $db как глобальную.
3. В некоторых модулях производится соединение с файлом конфигурации которое нужно заменить.
Старый вариант: include("config.php");
Новый вариант: include("config/config.php");
4. В некоторых модулях используется переменная основного адреса сайта, которую нужно заменить.
Старый вариант: $nukeurl
Новый вариант: $conf['homeurl']
Не исключено что в последствии возникнет необходимость использования параметров основных конфигураций системы. Для этих целей рекомендуется прописать в глобальные, переменную $conf, отвечающую за основные настройки, которые хранятся в файле config/config_global.php
5. В некоторых модулях используются функции темы OpenTable2() и CloseTable2() которые нужно заменить.
Старый вариант: OpenTable2();
Новый вариант: OpenTable();
Старый вариант: CloseTable2();
Новый вариант: CloseTable();
6. В стандартных модулях в начале скриптов используется соединение с файлом mainfile.php.
Необходимо удалить: require_once("mainfile.php"); или include("mainfile.php");
7. Во всех скриптах нужно произвести поиск и изменить стандартные ссылки modules.php на index.php.
Старый вариант: modules.php
Новый вариант: index.php
8. Во всех скриптах нужно произвести поиск и удалить стандартные цветовые переменные в глобальных, и заменить их в коде.
Старый вариант: bgcolor="$bgcolor1"
Новый вариант: class="bgcolor1"
Старый вариант: bgcolor="$bgcolor2"
Новый вариант: class="bgcolor2"
Старый вариант: bgcolor="$bgcolor3"
Новый вариант: class="bgcolor3"
Старый вариант: bgcolor="$bgcolor4"
Новый вариант: class="bgcolor4"
В сегодняшнем мировом Интернет-сообществе стремительно набирают популярность системы управления контентом – CMS. С их помощью любой пользователь может с минимальными усилиями создать полноценный web-сайт. При этом пользователь не обязан знать всех тонкостей web-программирования. Достаточно установить CMS на сервер, наполнить получившийся web-сайт необходимым содержанием и новый портал готов принимать посетителей. Остается только один вопрос – какую CMS выбрать? В этой статье мы познакомим вас с новой, но уже набирающей популярность системой Open SLAED.
Предыстория
Проект SLAED CMS (http://www.slaed.net) был создан несколько лет назад и сразу зарекомендовал себя с лучшей стороны. Сегодня разработано уже четвертое поколение SLAED CMS Pro, и несомненным ее козырем является стабильность работы и отлично проработанная система защиты.
Совсем недавно разработчики SLAED CMS представили первую версию системы, относящуюся к новому поколению CMS. Ее название – Open SLAED. Это поколение не только вобрало в себя лучшие качества платной версии SLAED CMS, но и содержит абсолютно новые функции и технологии. Поэтому в сегодняшней статье я познакомлю вас с этой системой управления контентом. Для начала давайте узнаем, какие же преимущества имеет Open SLAED:
• Использование UNICODE для функции многоязычности
• Внедренная технология AJAX
• Поддержка PHP 4, PHP 5, а также готовящейся к выходу PHP 6
• Повышенный уровень безопасности системы и ее компонентов
• Работа системы под лицензией GPL 3
Пожалуй, о последнем пункте нужно рассказать отдельно. Как известно, ветка SLAED CMS Pro является платной, а предшественница Open SLAED – SLAED CMS Lite распространялась как freeware. Open SLAED – это первое поколение SLAED CMS, которое распространяется под лицензий GNU/GPL. Таким образом, эта система имеет большие перспективы в мире CMS, поскольку теперь разработчики и энтузиасты могут свободно расширять функциональность Open SLAED, создавать неограниченное количество компонентов для нее: блоков, модулей, тем, языковых пакетов.
Установка
Перед тем, как познакомиться с Open SLAED, ее необходимо установить на сервер. Для начала нам потребуется сам дистрибутив системы. Open SLAED можно загрузить на сайте: http://www.slaed.net. Для установки системы нам потребуется web-сервер, совместимый с Apache, интерпретатор PHP, а также СУБД MySQL. Итак, для начала необходимо распаковать дистрибутив Open SLAED в корневую папку сайта, после чего нужно выставить необходимые права доступа:
• 666 – на все файлы в папке config/, config/cache/, config/counter/, config/logs/ (кроме файлов .htaccess и index.html);
• 777 – на папки (именно папки, а не файлы!) config/cache/, config/counter/, config/logs/, а также на папку uploads/ и все остальные папки, вложенные в нее.
Кроме этого, разработчики рекомендуют изменить имя файла admin.php в целях безопасности.
Еще один важный момент – подготовка базы данных для Open SLAED. Для этого достаточно создать новую БД с помощью имеющегося средства для управления MySQL (скорее всего, это будет phpMyAdmin), например, с именем openslaed (рис.1).
Рис.1. Создание БД для Open SLAED.
Теперь, подготовив почву для CMS, запускаем установочный скрипт, который находится по адресу: http://корневая_папка/setup.php. Инсталлятор приветливо встречает нас и предлагает выбрать один из языков системы – английский, немецкий, русский. Кстати, сразу же бросается в глаза отличный и тщательно проработанный дизайн инсталлятора (рис.2).
Рис.2. Выбор языка CMS.
Далее система отобразит лицензионное соглашение и спросит, согласны ли вы с ним. Теперь следует важный этап инсталляции – установка соединения с базой данных. Для этого необходимо указать сервер БД, имя пользователя и пароль для авторизации, а также название той базы данных, которую вы создали для Open SLAED, также можно изменить стандартный префикс для таблиц БД (это необязательно). Кроме того, если вы изменили в целях безопасности имя файла admin.php, обязательно укажите в конфигурации новое имя этого файла (без расширения .php). Теперь, если вы все параметры указали верно, инсталлятор соединится с БД и добавит необходимые для Open SLAED таблицы (рис.3).
Рис.3. Процесс установки таблиц.
Финальным аккордом будет создание учетной записи администратора. Больших трудностей этот шаг вызвать не должен – вводим имя, пароль, e-mail и адрес сайта. Также можно разрешить создание учетной записи администратора как обычного пользователя. На этом процесс установки окончен. Теперь можно авторизоваться и войти в админ-панель.
- Уголок web-мастера -
Перед тем, как перейти к изучению интерфейса системы, должен обратить ваше внимание на следующую деталь. На некоторых серверах возможна ситуация, когда браузеры ошибочно используют для русского варианта Open SLAED не UNICODE, а другую кодировку, чаще всего Windows-1251 или KOI8-R. Чтобы избежать такого эффекта, необходимо явно указать браузеру использование UNICODE. Для этого открываем файл .htaccess, находящийся в корневой папке, и добавляем в него следующую строку:
AddDefaultCharset UTF-8
Теперь все будет отображаться без ошибок.
- Уголок web-мастера -
Админ-панель
Итак, вы вошли в админ-панель (рис.4). Как можно заметить, ее интерфейс разделен на несколько частей:
Главной частью админ-панели является рабочее место администратора, где отображаются системные сообщения и ссылки на все имеющиеся модули админ-панели; отсюда начинается настройка и администрирование Open SLAED. Первым делом мы обратимся к модулю «Конфигурации». Здесь собраны основные параметры CMS, как то: название сайта, адрес, логотип и т.д. Кроме того, если вы собираетесь устанавливать форум на свой web-сайт, то здесь можно объединить регистрацию пользователей форума и Open SLAED, а также интегрировать в систему профили и сервис личных сообщений форума. Open SLAED поддерживает следующие форумы:
• phpBB 2.0.x;
• Invision Power Board 1.3.1, 2.0.x, 2.1.x, 2.2.x, 2.3.x;
• vBulletin;
• Simple Machines Forum (SMF).
Кроме этого, модуль «Конфигурации» содержит немало других интересных параметров. Здесь можно настроить работу графического кода (captcha) для защиты от рекламных роботов, использование редакторов в модулях системы, cookies, ЧПУ, языки, цензуру, кэширование и многое другое. Кстати, Open SLAED содержит и поддерживает четыре редактора для публикации: обычный BB-редактор, TinyMCE 3, Spaw 2 и FCKeditor.
В отличие от предыдущего поколения Lite, в Open SLAED также был вынесен отдельный модуль для управления рейтингами. В стандартной комплектации возможно настройка рейтингов в модулях «Новости», «Профиль» и «Каталог файлов».
Также заметно улучшился модуль «RSS каналы». Теперь пользователи могут создать собственное оформление новостей, управлять количеством выводимых новостей, подробно просматривать отдельные каналы RSS.
Должен обрадовать тех, кто создает многоязычные порталы. В Open SLAED появился отдельный модуль для управления языками. Сюда были вынесены все настройки языков для модулей системы и админ-панели. Но не это главное. Изюминка модуля «Языки» состоит в том, что теперь можно редактировать языковые файлы прямо из админ-панели с помощью редактора языков! Причем все языковые константы отсортированы и разделены по установленным языкам, поэтому теперь вы сможете легко и быстро создать многоязычный web-сайт (рис.5).
Рис.5. Редактор языков.
Еще я должен отметить новый модуль «Файловый редактор». Используя его, вы забудете о длительных загрузках на FTP-сервер файлов для каталога или изображений для новостей. По умолчанию для загрузки используется папка uploads/news/ и файлы форматов *.gif, *.jpg, *.jpeg, *.png. Однако, используя конфигурации, можно настроить загрузки под себя и разрешить другие форматы файлов, а также указать допустимый размер файлов, количество одновременных загрузок, количество файлов на страницу, разрешить гостям добавлять файлы.
Конечно, не ударил лицом в грязь и модуль «Безопасность». Как всегда, здесь можно найти все для блокировки нежелательных IP-адресов, настройки правил для администраторов, защиты от DDoS- и Flood-атак, работы со статистикой.
Пользователи
Итак, изучив основные возможности админ-панели, перейдем к одному из фундаментальных компонентов Open SLAED – управлению пользователями. Важным нововведением в этой сфере является система очков (пунктов) и рейтингов.
С помощью очков (пунктов) можно судить об активности на портале того или иного пользователя. Например, за просмотр страницы добавляется 1 пункт, за публикацию материала в FAQ – 10 пунктов, а за оценивание какого-либо файла в каталоге – 3 пункта. В Open SLAED уже имеется некоторый набор действий, за которые добавляются очки, а администратор уже может настроить количество выставляемых очков по своему вкусу (рис.6).
Рис.6. Настройка системы пунктов.
Рейтинг, в отличие от очков, выставляет не CMS, а другие посетители вашего портала. Оценку определенному пользователю можно выставлять по пятибалльной шкале в комментариях и только один раз (рис.7).
Рис.7. Комментарий и рейтинг.
Кстати, у администраторов есть возможность изменять количество пунктов у посетителя. Для этого достаточно зайти в модуль «Пользователи», найти там нужного пользователя и отредактировать его профиль. Кроме количества очков, здесь можно указывать такую контактную информацию, как web-сайт, e-mail, аккаунты в ICQ, AIM, Yahoo и MSN, личную информацию (увлечения, род занятий и т.д.), используемый язык на сайте. Кроме того, можно создать с помощью редактора собственное меню, которое будет отображаться на панели блоков.
Как всегда, имеется стандартный набор инструментов для работы с комментариями (рис.7):
• Персональная информация о комментаторе;
• Переход на web-сайт комментатора;
• Отправка писем на e-mail;
• Информация об IP-адресе;
• Блокировка нежелательных посетителей;
• Редактирование комментария:
• Удаление комментария.
Страничка с профилем комментатора, на которую ведет первая ссылка, содержит подробную информацию о нем, как то: ник, дата рождения, IP-адрес, пол, количество набранных пунктов, группы, контакты и даже подробная информация о браузере пользователя (рис.8)!
Рис.8. Персональная информация.
Выводы
Итак, новая CMS Open SLAED уже зарекомендовала себя как стабильная и мощная система с отличным набором инструментов для управления порталом, необходимых для создания собственного web-сайта. С помощью Open SLAED можно создать сайт практически любой направленности – от домашней странички до сложного корпоративного портала или софтового каталога. Поэтому, если вы хотите создать хорошо защищенный и функционирующий web-сайт, попробуйте эту систему, она прекрасно выполнит свою работу, а вы и ваши посетители останутся довольны. На этом позвольте попрощаться, до новых встреч!
Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.
В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов PHP-Nuke. Программу, написанную специально для нашей системы, для автоматической интеграции модулей PHP-Nuke в SLAED Вы можете скачать на нашем проекте в каталоге файлов.
Прошу учитывать, что старые варианты использования кода в модулях PHP-Nuke могут незначительно отличаться от описанных в данной статье.
1. В самом верху изменяем способ защиты для модулей от стороннего доступа.
Старый вариант: if (!eregi("modules.php", $_SERVER["PHP_SELF"])) {
die ("You can"t access this file directly...");
}
Новый вариант: if (!defined("MODULE_FILE")) {
Header("Location: ../../index.php");
exit;
}
2. Старые модули PHP-Nuke используют соединение с базой по средствам переменной $dbi. Наша система использует соединение с базой по средствам переменной $db, по этой причине необходимо изменить все переменные $dbi на $db.
Меняем все глобальные переменные $dbi в функциях, на новые $db. Если это необходимо, указываем переменную $db как глобальную.
Старый вариант: global $prefix, $dbi;
Новый вариант: global $prefix, $db;
Изменяем структуру запроса в базу данных.
Старый вариант: $result = sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id", $dbi);
Новый вариант: $result = $db->sql_query("SELECT id, name FROM ".$prefix."_categories WHERE id=$id");
Как вы заметили, удалена переменная $dbi в конце запроса и добавлена переменная $db в начале. Это нужно проделать со всеми запросами.
В запросах необходимо изменить:
sql_fetch_array на $db->sql_fetchrow sql_query на $db->sql_query sql_fetch_row на $db->sql_fetchrow sql_num_rows на $db->sql_numrows sql_free_result на $db->sql_freeresult
Если появляются вопросы по поводу запросов или правильности их написания, смотрим файл function/mysql.php
В некоторых модулях используются прямые запросы в базу данных в обход файла классов соединения с базой. В таком варианте запросы не подсчитываются. При желании вы так же можете изменить запросы подобного рода.
В запросах необходимо изменить:
mysql_fetch_array на $db->sql_fetchrow mysql_query на $db->sql_query mysql_fetch_row на $db->sql_fetchrow mysql_num_rows на $db->sql_numrows mysql_free_result на $db->sql_freeresult
В функциях не забываем указывать переменную $db как глобальную.
3. В некоторых модулях производится соединение с файлом конфигурации которое нужно заменить.
Старый вариант: include("config.php");
Новый вариант: include("config/config.php");
4. В некоторых модулях используется переменная основного адреса сайта, которую нужно заменить.
Старый вариант: $nukeurl
Новый вариант: $conf['homeurl']
Не исключено что в последствии возникнет необходимость использования параметров основных конфигураций системы. Для этих целей рекомендуется прописать в глобальные, переменную $conf, отвечающую за основные настройки, которые хранятся в файле config/config_global.php
5. В некоторых модулях используются функции темы OpenTable() и CloseTable() которые нужно заменить.
Старый вариант: OpenTable(); или OpenTable2();
Новый вариант: open();
Старый вариант: CloseTable(); или CloseTable2();
Новый вариант: close();
6. В стандартных модулях в начале скриптов используется соединение с файлом mainfile.php.
Необходимо удалить: require_once("mainfile.php"); или include("mainfile.php");
7. Во всех скриптах нужно произвести поиск и изменить стандартные ссылки modules.php на index.php.
Старый вариант: modules.php
Новый вариант: index.php
8. Во всех скриптах нужно произвести поиск и удалить стандартные цветовые переменные в глобальных, и заменить их в коде.
Старый вариант: bgcolor="$bgcolor1"
Новый вариант: class="bgcolor1"
Старый вариант: bgcolor="$bgcolor2"
Новый вариант: class="bgcolor2"
Старый вариант: bgcolor="$bgcolor3"
Новый вариант: class="bgcolor3"
Старый вариант: bgcolor="$bgcolor4"
Новый вариант: class="bgcolor4"