Ник:
Пароль:

Download Open SLAED

Open SLAED 1.1 Open SLAED 1.1

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

Поиск

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

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


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

    20.11.2008 - Новая система статистики в версии SLAED CMS 4.3 Pro
    14.11.2008 - Новый форум в новой версии SLAED CMS 4.3 Pro
    11.07.2008 - Новая версия Open SLAED 1.1
    01.07.2008 - Финальная версия SLAED CMS 2.6 Lite
    20.06.2008 - Новая версия SLAED CMS 4.2 Pro
    BiAs (Гость)
    Добавлено 16.09.2005 20:07 Комментарий: 2
    BiAs (Гость)

    Вот это мне и было нужно;-) А то весь форум прочитал, так и неразобрался что к чему:-)
    Спуститься к концу Подняться к началу
    sEXEcutor (Гость)
    Добавлено 10.07.2005 23:04 Комментарий: 1
    sEXEcutor (Гость)

    Чего и следовало ожидать. Никогда не понимал разговоров о несовместимости Слаеда с нюковскими модулями.
    Спуститься к концу Подняться к началу
    Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
    Новости Наши новости Интеграция модулей Nuke систему SLAED Прежде перейти описанию интеграции хотелось заметить системе могут быть использованы различные модули блоки скрипты только похожих принципу построения систем совершенно смотря оригинальные используют стандартные функции является основным фактором работе работать используя основные ядра некоторых случаях потребуются большие изменение коде интегрируемого модуля блока скрипта данном примере рассмотрим способ ручной одной самых популярных сайтов Программу написанную специально нашей системы автоматической можете скачать нашем проекте каталоге файлов Прошу учитывать старые варианты использования кода модулях незначительно отличаться описанных данной статье самом верху изменяем защиты стороннего доступа Старый вариант eregi quot modules SERVER SELF access this file directly Новый color green defined MODULE FILE Header Location

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

    Опрос

    С какой системы Вы перешли на SLAED CMS?

    Php-Nuke
    SmallNuke
    sPaiz-Nuke
    Mambo - Joomla
    RunCMS
    Xoops
    e107
    Limbo
    Другая
    Начал с SLAED CMS


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

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