Тема: [Релиз] AnyCode Tool (1.0.0 Beta)
http://punbb.ru/downloads/anycodetool.7z
http://punbb.ru/downloads/anycodetool.zip
Данное расширение предназначено для разработчиков, но может быть использовано кем угодно.
AnyCode позволяет внедрять код пхп в ядро форума "на коленке", не создавая расширения, используя механизм хуков.
По сути в системе появляется параллельный механизм расширений, которые можно редактировать "не отходя от кассы".
Примеры использования.
Задача 1
Показать рекламный блок гостям - после первого сообщения в теме, зарегистрированным пользователям - перед формой ответа.
Решение
1. Создаем решение (solution) с именем Google_Adsense (имя решения должно быть обязательно латиницей до 42 символов, допускаются символы _- и цифры) на соответсвующей вкладке в панели администратора
2. Создаем хуки, тоже в соответсвующей вкладке, заполняем поля следующим образом:
имя 1 хука: vt_row_pre_display
код хука:
if ($forum_page['item_count'] == 2 && $forum_user['is_guest']) {
echo 'Рекламный блок для уважаемого гостя';
}жмем "добавить"
2 хук имя: vt_end
код:
if ($forum_page['item_count'] == 1 && $forum_user['is_guest']) {
echo 'Рекламный блок для уважаемого гостя';
}жмем "добавить"
3 хук имя: vt_quickpost_pre_display
код:
if (!$forum_user['is_guest']) {
if($forum_user['g_id']=FORUM_ADMIN)
echo 'Админу рекламу не показываем, мы ево любим ;)';
else
echo
' Рекламный блок для зарегистрированного пользователя';
}жмем "добавить".
Если решение не было ранее активировано, то активируем на странице решений, после чего в просмотре темы можем наблюдать соответсвующие изменения.
Задача 2
Убрать надпись Зарегистрирован в инфо пользователя в сообщении
Решение
Обнуляем переменную $forum_page['author_info']['registered'] В хуке vt_row_pre_display:
Код ддля хука:
unset($forum_page['author_info']['registered']);Для хука нужно сначала создать решение, либо добавить хук к существующему, например из примера выше.
Таким образом можно наращивать функциональность, менять стандартное решение на свое, корректировать работу форума не меняя ядро и не дожидаясь, когда добрый дядя сделает нужное расширение.
Если что-то хочешь сделать - сделай это сам! ![]()
Мод имеет статус BETA, поэтому все последствия на вашей совести. Принимаю замечания, предложения, баг-репорты и материальные вознаграждения.
В планах сделать секции install-uninstall и функцию экспорта, чтобы можно было выгружать решения в обычные расширения и продавать буржуям.
http://punbb.ru/downloads/anycodetool.7z
http://punbb.ru/downloads/anycodetool.zip
