Биллинговая система Nodeny
28 Апреля 2024, 15:14:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Режим отладки  (Прочитано 6794 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« : 04 Апреля 2011, 11:03:45 »

Как и в 50й, в 52й версии есть т.н. режим отладки - когда в конфиге прописан пароль в переменной $sadmin. Если зайти в админку с этим паролем, то будут доступны следующие функции:
- настройки
- привилегии админов
- проверка залогинивания

последняя фишка создана для того, чтобы можно было протестить возможность входа под обычным логином, чтобы увидеть в дебаге почему не получилось зайти. Например, проблема с какой-то таблицей. Походу, мне эта фича уже пригодилась - переносил бд на новый сервер и не создал там таблицу вебсессий, не смог залогиниться, в режиме отладки при тестировании логина увидел причину ошибки.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #1 : 04 Апреля 2011, 11:11:39 »

Также логин в систему/статистика и т.д. организованы через сессии. В 50й версии в клиентской статистике доступ через хеш от пароля и времени - это небезопасно. В 52й версии в таблице сессий есть параметр, который указывает через какой модуль залогинен админ/клиент и т.д. Т.е. есть возможность писать свои точки входа в систему.

Структура точки входа:

  • загрузка конфига
  • загрузка модуля Debug (очень полезная штука, вылизал ее)
  • загрузка модуля проверки конфига
  • загрузка модуля основных подпрограмм Calls.pm
  • запуск подпрограммы иннициализации из Calls.pm
  • выполнение команды

Подпрограмма иннициализации загружает локализацию, соединяется с БД, формирует некоторые глобальные объекты (объект групп, объект админов, объекты визуализации), парсит запрос, проверяет сессию в куках
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #2 : 04 Апреля 2011, 11:21:31 »

Что касается html-рендеринга. В 50й версии все html-элементы формируются подпрограммами, прописанными прямо в коде. Общепринятой практикой является использование шаблонов.

Шаблоны я включил и в новый NoDeny. Однако я написал свой движок шаблонов) Хотя название "движок шаблонов" - это слишком громко. Функционал минимален:
- вставка значения
- условия
- вставка файла в шаблон
Однако  этого достаточно чтоб сделать довольно навороченные фишки.
С другой стороны я оставил возможность формирования html прямо из кода. Лично для меня это очень удобно. Вот пример:

Код:
my $tbl = tbl->new( -row1=>'row4', -row2=>'row5' );
$tbl->add('head','lr','Левая колонка','Правая колонка');
ToLeft $tbl->show;

этим я создал объект таблица с параметрами "четная строка имеет класс row4, нечетная row5", добавил строку с двумя ячейками, причем класс установил 'head' (класс для заголовков таблиц), отрендерил таблицу и поместил ее в область левого меню (команда ToLeft).

Лично для меня такой вариант очень прост т.к. позволяет очень быстро программировать ибо формирование шаблонов занимает больше времени. Тем не менее шаблоны я использую, например для формирования общей структуры документа, формы логина и т.д.
Записан
VitalVas
NoDeny
Спец
*

Карма: 60
Offline Offline

Сообщений: 991



Просмотр профиля WWW
« Ответ #3 : 04 Апреля 2011, 12:25:19 »

дашь поюзать демку мишкой?
уж сильно мне понравилось.....
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #4 : 04 Апреля 2011, 13:03:26 »

дашь поюзать демку мишкой?
уж сильно мне понравилось.....
чуток надо подождать, вылизываю концепцию...
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!