Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Documentation (Genoa and older) / Russian / Плагины / Список и описание хуков

Все хуки ядра для подключения плагинов

Хуки - это места в ядре движка, куда можно подключать плагины для расширения функционала.
Подключение происходит путем include() , что позволяет использовать все переменные движка, определенные ранее.

Лучший способ понять, для чего предназначен хук - смотреть в код ядра.
Ниже приведен список всех используемых в движке хуков. Основано на http://neocrome.net/page.php?id=2094 , этот список исправлен и дополнен.

1. header (файл system/header.php, шаблон header.tpl)

header.first Хук в самом начале кода, до каких-либо действий.
header.main Хук перед определением тэгов и выбора файла скина
header.tags Хук после определения тэгов - применяется для создания своих тэгов для header.tpl в зоне MAIN

2. footer (файл system/footer.php, шаблон footer.tpl)

footer.first Хук в самом начале кода, до каких-либо действий.
footer.main Хук перед определением тэгов и выбора файла скина
footer.tags Хук после определения тэгов - применяется для создания своих тэгов для footer.tpl в зоне MAIN

3. admin (файл system/core/admin/admin.inc.php, шаблон admin.tpl)

admin.main Начало файла, пройдена проверка, что данный юзер - админ.
admin.tags После определения тэгов - применяется для создания своих тэгов в админке admin.tpl в зоне MAIN
admin.home Местонахождение - admin.home.inc.php . Применяется для добавления контента на главную страницу админки (admin.php)

4. admin.rights (файл system\core\admin\admin.rights.inc.php)

admin.rights.main
admin.rights.end

5. admin.rightsbyitem (new in v110)

admin.rightsbyitem.case

6. comments (файл system/functions.php , функция sed_build_comments(). Шаблон comments.tpl)


comments.send.first Новый коммент принят через POST, но еще не занесен в mysql. Текст коммента в переменной $rtext
comments.send.new Новый коммент проверен на валидность и занесен в mysql. Хук может быть использован для плагинов типа "уведомлений о приходе нового коммента"
comments.main Хук перед началом вывода всех комментов к странице
comments.newcomment.tags Сформированы тэги для отображения формы добавления нового коммента. Хук приеняется для добавления своих тэгов в зоне COMMENTS_NEWCOMMENT шаблона.
comments.loop Сформированы тэги COMMENTS_ROW_XXX для отображения коммента (одного из). Хук приеняется для добавления своих тэгов в зоне COMMENTS_ROW шаблона.
comments.tags Сформированы все тэги ленты комментов и отпарсены все внутренние зоны. Хук может применяться для добавления своих тэгов глобального свойства, для всей ленты комментов.

7. forums.posts (файл system/core/forums/forums.posts.inc.php, шаблон forums.posts.tpl)

forums.posts.first Хук в начале кода
forums.posts.newpost.first Постинг нового поста на форум - до приема текста поста и исполнения sql
forums.posts.newpost.done Постинг нового поста на форум - после добавления данных в mysql
forums.posts.delete.first Удаление поста - начало
forums.posts.delete.done Удаление поста - после выполнения sql
forums.posts.emptytopicdel
forums.posts.main Хук после основного функционала - перед определением тэгов
forums.posts.loop Хук после определения тэгов одного из постов в списке. Применяется для создания своих тэгов в зоне FORUMS_POSTS_ROW шаблона
forums.posts.tags Хук после определения всх тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона


8. forums.editpost

forums.editpost.first
forums.editpost.update.first
forums.editpost.update.done
forums.editpost.main
forums.editpost.tags

9. forums.topics

forums.topics.first
forums.topics.main
forums.topics.tags
forums.topics.loop

10. forums.newtopic.inc

forums.newtopic.first
forums.newtopic.newtopic.first
forums.newtopic.newtopic.done
forums.newtopic.main
forums.newtopic.tags

11. forums.sections

forums.sections.first
forums.sections.main
forums.sections.tags
forums.sections.loop

12. index (файл system/core/index/index.inc.php , шаблон index.tpl)

index.first Хук в самом начале кода
index.main Хук в середине кода. Непонятно, зачем он нужен, видимо, добавлен по аналогии с pages.
index.tags Хук для определения своих тэгов.

13. list (файл system/core/list/list.inc.php, шаблон list.tpl)

list.first Хук в самом начале кода
list.main Хук до начала формирования вывода
list.loop Сформированы тэги одной страницы из списка. Применяется для создания своих тэгов для list.tpl в зоне LIST_ROW
list.tags Сформированы тэги для всего list. Применяется для создания своих тэгов для list.tpl в зоне MAIN

14. message (файл system/core/message/message.inc.php, шаблон message.tpl)

message.first Начало кода, определены код, тайтл и тело выводимого сообщения
message.main Хук перед началом формирования вывода
message.tags Хук после определения тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

15. page (файл system/core/page/page.inc.php, шаблон page.tpl)

page.first Хук в начале кода, после приема (GET) переменных
page.main Хук до определения тэгов
page.tags Хук после определения тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

16. page.add (файл system/core/page/page.add.inc.php, шаблон page.add.tpl)

page.add.first Хук в начале кода
page.add.add.first Хук в начале участка кода, ответственного за прием POST-данных (добавление контента)
page.add.add.done Хук после занесения данных о новой страницы в mysql. Может использоваться для уведомлений о добавленном контенте
page.add.main Хук до определения тэгов добавления новой страницы
page.add.tags Хук после определения тэгов добавления новой страницы. Применяется для создания своих тэгов в зоне MAIN шаблона

17. page.edit (файл system/core/page/page.edit.inc.php, шаблон page.edit.tpl)

page.edit.first Хук в начале кода
page.edit.update.first Хук в начале участка кода, ответственного за прием POST-данных (редактирование контента)
page.edit.update.done Хук после занесения данных в mysql. Может использоваться для уведомлений о модифицированном контенте
page.edit.main Хук до определения тэгов добавления новой страницы
page.edit.tags Хук после определения тэгов редактирования страницы. Применяется для создания своих тэгов в зоне MAIN шаблона

18. pfs (файл system/core/pfs/pfs.inc.php, шаблон pfs.tpl)

pfs.first Хук после инициализации переменных
pfs.upload.first Аплоад файлов. Хук перед приемом данных из $_FILES
pfs.upload.moved Аплоад прошел успешно, хук после операции перемещения файла из временной папки в папку datas/users/
pfs.upload.done Хук после занесения данных о принятом файл в mysql

19. pm (файл system/core/pm/pm.inc.php, шаблон pm.tpl)

Отображение личных сообщений
pm.first Хук в начале кода
pm.main Хук перед определением тэгов шаблона
pm.loop Сформированы тэги для обного pm из списка. Применяется для создания своих тэгов в зоне PM_ROW
pm.tags Сформированы тэги для всего pm. Приеняется для создания своих тэгов в зоне MAIN шаблона

20. pm.send (файл system/core/pm/pm.send.inc.php, шаблон pm.send.tpl)

pm.send.first Хук в начале кода
pm.send.send.first Отсылка pm: перед приемом POST-данных
pm.send.send.done Отсылка pm состоялось успешно, хук после записи данных в mysql
pm.send.main Хук перед формированием тэгов страницы отправки PM
pm.send.tags Сформированы тэги страницы отправки PM. Применяется для создания своих тэгов в зоне MAIN шаблона

21. pm.edit (файл system/core/pm/pm.edit.inc.php, шаблон pm.edit.tpl)

pm.edit.first Хук в начале кода

22. polls (файл system/core/polls/polls.inc.php, шаблон polls.tpl)

polls.first Хук в начале кода
polls.main Хук перед формированим тэгов
polls.tags Хук после формирования тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

23. ratings (файл system/functions.php , функция sed_build_ratings(). Шаблон ratings.tpl)

ratings.main Хук до формирования тэгов.
ratings.tags Хук после формирования тэгов. Применяется для создания своих тэгов в зоне RATINGS шаблона
ratings.send.first Отправка значения рейтинга
ratings.send.done Отправка рейтинга страницы состоялось, хук после записи данных в mysql

24. users.profile (файл system/core/users/users.inc.php, шаблон users.profile.php)

profile.first Хук в начале кода
profile.update.first Апдейт профиля: самое начало
profile.update.avatar Апдейт аватара (файл закачан в папку, но данные в mysql еще не занесены)
profile.update.photo Апдейт фото (файл закачан в папку, но данные в mysql еще не занесены)
profile.update.signature Апдейт подписи (файл закачан в папку, но данные в mysql еще не занесены)
profile.update.done Все данные занесены в mysql
profile.main Хук перед определением тэгов
profile.tags Хук после определения тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

25. users.auth (файл system/core/users/users.auth.inc.php, шаблон users.auth.tpl)

users.auth.first Хук в начале кода
users.auth.check Авторизация пользователя - начало
users.auth.check.done Авторизация пользователя - успешно
users.auth.main Хук до определения тэгов
users.auth.tags Хук после определения тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

26. users.logout (файл system/core/users/users.logout.php , шаблона нет - происходит редирект на message)

users.logout Хук в начале кода, после хука происходит logout

27. users.register (файл system/core/users/users.register.inc.php, шаблон users.register.tpl)

users.register.first Хук в начале кода
users.register.add.first Регистрация юзера - начало кода
users.register.add.done Регистрация юзера - успешно, данные занесены в mysql
users.register.main Хук до определения тэгов
users.register.tags Хук после определения тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

28. users (файл system/core/users/users.inc.php, шаблон users.tpl)

Вывод списка пользователей
users.first Хук в начале кода
users.main Хук до определения тэгов
users.loop Хук после определения тэгов определенного пользователя. Применяется для создания своих тэгов в зоне USERS_ROW шаблона
users.tags Хук после определения всех тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

29. users.details (файл system/core/users/users.details.inc.php, шаблон users.details.tpl)

Отображение данных юзера (без редактирования, доступно для всех пользователей)
users.details.first Хук в начале кода
users.details.main Хук после основного функционала, до определения тэгов
users.details.tags Хук после определения тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

30. users.edit (файл system/core/users/users.edit.inc.php, шаблон users.edit.tpl)

users.edit.first Хук в начале кода
users.edit.update.first Редактирование своих данных юзером - начало кода, до приема POST-данных
users.edit.update.done Редактирование своих данных юзером - окончание, данные занесены в mysql
users.edit.main Хук до определения тэгов
users.edit.tags Хук после определения тэгов. Применяется для создания своих тэгов в зоне MAIN шаблона

31. Другие хуки


global (файл common.php, шаблона нет)
Этот хук подключается самым первым.

output (файл system/functions.php, функция sed_outputfilters(), шаблона нет)
(?) Обеспечивает некую фильтрацию

standalone
Этот хук означает, что плагин существует как отдельный модуль в системе и вызывается как plug.php?e=pluginname

No comments yet
Adding comments has been disabled for this item