Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Бип из системно... 65535
Пример работы с... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
21 ошибка прогр... 65535
Гостевая книга ... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Содержание сайт... 65535
Invision Power ... 65535
Имитационное мо... 65535
Программируемая... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,202
новичок: adssitecas
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование круглосуточного интернет кафе на GPSS + Отчет
База данных студентов на Turbo Pascal (Списки) + Пояснительная записка
Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Комплект разработчика подключаемых модулей PHP-Fusion 7

Разработка начинается с проработки деталей того, что Вы хотите сделать. Каков
будет интерфейс Вашего модуля - панелью или отдельной страницей? Нужна ли
собственная панель администрации? Требуются ли дополнительные таблицы в базе
данных?

Имеет значение название папки, которая будет содержать ваш модуль.Если Ваш
модуль будет представлен панелью, тогда ваше имя папки должно заканчиваться
суффиксом '_panel' (без кавычек). Вам не нужно делать это, если ваш модуль не
использует панель.

Один важный файл, который должен присутствовать в любом модуле - установочный
файл infusion.php. Этот файл автоматически обнаруживается панелью администрации
и благодаря ему модуль отображается в разделе "Плагины" панели администрации
PHP-Fusion. Вы найдете заготовку для infusion.php файла в этом комплекте
разработчика.

Существует множество свободно доступных модулей на наших форумах, на
сайте-архиве модулей phpfusion-mods.com или на центре аттестации
beta.phpfusion-mods.com.

СОДЕРЖАНИЕ КОМПЛЕКТА РАЗРАБОТЧИКА

new_infusion.php стандартный шаблон страницы

new_infusion_panel.php стандартный шаблон боковой или центральной панели

new_infusion_admin.php шаблон панели администрирования

infusion.php установочный информационный файл

infusion_db.php файл описания таблиц базы данных

РАЗЛИЧИЯ МЕЖДУ V6 И V7

PHP-Fusion подверглось большим изменениям, поэтому модули v6 непосредственно
несовместимы с v7, необходимы некоторые изменения. Вот наиболее важные
требования:

1. Изменения в infusion.php

Модули V7 могут иметь множество панелей администрации и навигации. Каждая панель
администрации и навигации определены через массив. Для панелей администрации мы
используем $inf_adminpanel[] по такому образцу:



$inf_adminpanel[1] = array(

"title" => $locale['xxx_admin1'],

"image" => "image.gif",

"panel" => "filename.php",

"rights" => "XXX"

);


в массиве 4 переменных:

title - имя связи показанной на панели администрации вливаний.

image - образ displayd на панели администрации вливаний.

panel - имя панельного файла администрации.

rights - v7 модули должны иметь величину прав уникального доступа, до 4 символов
(верхний регистр).

Ссылки на страницы сайта определяются через $inf_sitelink[], подобно этому:



$inf_sitelink[1] = array(

"title" => $locale['xxx_link1'],

"url" => "filename.php",

"visibility" => "0"
);



title – имя, которое будет отображено в меню навигации.

url - имя панельного файла модуля.

visibility - определяет видимость (0, 101, 102 или 103



Код Заголовка и футера V7 имеет новый шаблон, который отличается в некоторых
строках

колонтитул V6 состоит из следующего кода:



Обычная страница:



require_once "../../maincore.php";

require_once BASEDIR."subheader.php";

require_once BASEDIR."side_left.php";






Страница администратора:



require_once "../../maincore.php";

require_once BASEDIR."subheader.php";

require_once ADMIN."navigation.php";




Для v7 эти строки следующие:



Обычная страница:



require_once "../../maincore.php";

require_once THEMES."templates/header.php";






Страница администратора:



require_once "../../maincore.php";

require_once THEMES."templates/admin_header.php";






Строки Нижнего колонтитула также изменены:

нижние колонтитулы V6 состоят из следующего кода:



Обычная страница:



require_once BASEDIR."side_right.php";

require_once BASEDIR."footer.php";






Страница администратора:



echo "</td>\n";

require_once BASEDIR."footer.php"; Для v7 эти строки такие:

Обычная страница:



require_once THEMES."templates/footer.php";






Страница администратора:



require_once THEMES."templates/admin_footer.php";




3. Изменения в проверке IN_FUSION

Проверка на IN_FUSION нужна для того, чтобы страницы не могли выполняться вне
PHP-Fusion, что очень важно для безопасности. В v6 использовался редирект, но
это может быть лишней нагрузкой сервера. Поэтому в v7 редирект заменён на
команду die();.

Было:

if (!defined("IN_FUSION")) { header("Location: ../../index.php"); exit; }


Стало:
if (!defined("IN_FUSION")) { die("Access Denied"); }




4. Функции, исключенные из v7

Несколько функций в v7 упраздняются:

fallback() теперь объединен с redirect();

tablebreak() уже не нужна, делается автоматически .

5. Использование суперглобальных переменных

Основным изменением и значительным улучшением безопасности v7 является работа с
отключенными register globals. Это означает, что Вы должны использовать
суперглобальные $_GET, $_POST, $_COOKIE и т.п.. На основной практике, которую Вы
должны использовать эти таким образом:

$_GET использован для переменных, полученных из адресной строки или uri.

$_POST использован для скрытых переменных, полученных из входных форм.Есть
возможность использовать другие суперглобальные. Вы можете ознакомиться с ними
подробнее, просмотрев руководство PHP (http://php.net). Dont Забывает проверять,
что Вы очищаете ВЕСЬ ввод пользователя, неудача делать так могло бы закончиться
инцидентами подделки, которая может вызвать убыток данных или содержимого.

6. Мультисайт

Новая характеристика в v7 - мультисайт. Мультисайт позволяет несколько
PHP-Fusion – сайтов запускать полностью или частично на одной базе данных.
Основная база данных таблиц определена в includes/multisite.php. Каждый модуль
имеет это - собственная база данных табличного имени определения файла была
названа infusion_db.php. Вам понадобится определять ваши табличные имена в этом
файле (пример включался. Примеры доступа таблицы пользователей в v6

$result = dbquery("SELECT * FROM ".$db_prefix."users");



$rows = dbcount("(*)", "users"); Это - как это быть сделанным в v7

$result = dbquery("SELECT * FROM ".DB_USERS);

$rows = dbcount("(*)", DB_USERS);






Опубликовал Kest Октябрь 27 2008 15:45:47 · 0 Комментариев · 7724 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Prolog Interprete...
De Knop
3d Tank [Исходник...
Tenis [Исходник н...
ScrollCredit
ScreenSaver [Исхо...
WordReport
Создание отчетов ...
PCX
PHP 5 для "чайников"
Фильтры изображений
Фундаментальные а...
ActiveX в Delphi
Пример OpenGL гра...
IIIDTrans
Создание фракталов
Основы Delphi
Win-Prolog 3.618
Добавление басса ...
API (Применение A...

Топ загрузок
Приложение Клие... 100751
Delphi 7 Enterp... 97133
Converter AMR<-... 20228
GPSS World Stud... 16951
Borland C++Buil... 14137
Borland Delphi ... 10066
Turbo Pascal fo... 7333
Калькулятор [Ис... 5882
Visual Studio 2... 5189
FreeSMS v1.3.1 3650
Случайные статьи
Классы
— обновления серти...
Первый этап преобр...
Скачиваем казино В...
Язык С: типы членов
Коммуникационное п...
Line too long
Теперь мы можем го...
ЧТО ТАКОЕ НОРМАЛИ...
Зеркало казино Ву...
Указанные программ...
Объекты классов
Процедура DetectGr...
Технология Android...
убедиться, что сет...
Методы разработки ...
Direct Oracle Access
Дополнительные вст...
Сертифицированный ...
Глава 11. Как э...
Серверные кластеры...
Постоянно продолжа...
16-2)
Язык С: преобразов...
Коньки для фигурно...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?