Ник:
Пароль:

Download Open SLAED

Open SLAED 1.1 Open SLAED 1.1

Поиск по сайту

Поиск

Рекламные ссылки

Open SLAED
Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Статьи
Интеграция модулей PHP-Nuke в систему SLAED
Использование и изготовление модулей Прежде чем перейти к описанию интеграции модулей, хотелось бы заметить, что в системе могут быть использованы различные модули, блоки и скрипты, не только из похожих по принципу построения систем, но и совершенно не похожих. Не смотря на то, что оригинальные модули и блоки используют стандартные функции, это не является основным фактором в их работе. В системе могут работать модули, совершенно не используя основные функции ядра. В некоторых случаях потребуются только не большие изменение в коде интегрируемого модуля, блока или скрипта.

В данном примере мы рассмотрим способ ручной интеграции модулей одной из самых популярных систем построения сайтов 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"
  • Дополнительно по данной категории

    24.03.2008 - Создание собственного модуля
    xsmart
    Пункты: 2412Дата: 30.07.2008 Комментарий: 2
    xsmartshell35, Неа
    XSMART.INFO - Всё для Смартфона,Кпк и PSP
    0
    Дата регистрации: 18.12.2007 1Мужчина Персональная информация
    shell35
    Пункты: 160Дата: 06.04.2008 Комментарий: 1
    shell35Очень ценный Мануал!!!
    По больше таких желательно.
    Надеюсь он не устарел для новой версии системы?
    3
    Дата регистрации: 06.04.2008 Персональная информация
    Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.

    Сотовые Аксессуары

    Опрос

    Какой модуль Вы используете больше всего?

    Галерея
    Обмен ссылками
    Содержание
    Вопросы и ответы
    Каталог файлов
    Анекдоты
    Каталог сайтов
    Медиа каталог
    Новости
    Статьи
    Магазин
    Опросы


    Результаты
    Другие опросы

    Всего голосов: 754
    Комментарии: 10
    SLAED CMS - Content Management System Счетчик посещения страниц в сутки Счетчик уникальных посетителей в сутки Экспорт новостей в формате RSS Anti Spam