Topic: Как обновить хуки расширения PunBB
Как работает система хуков?
В файле между кодом расположены хуки , то есть своего рода функция у которой есть свой собственный ID. К примеру:
($hook = get_hook('in_start')) ? eval($hook) : null;, это самый первый хук файла index.php
Единая функция загрузки хуков get_hook(), а его ID - 'in_start'.
При загрузке файла функция проверяет, есть ли в базе данных код какого либо расширения навешенный на этот ID, т.е 'in_start'. Если в каком либо расширении присутствует данный ID , то функция загружает код расширения, как будто он находится в самом файле.
Зачем обновлять хуки?
Код хуков хранится в базе данных. А также кешируется в файл папки /cache/
Затем все хуки расширений загружаются из этого файла.
Если вы отредактировали файл manifest.xml а затем сохранили его, не важно как, напрямую, или через файловый менеджер, необходимо еще обновить хуки.
Причем в исходном состоянии такой функции нет. Для того чтобы иметь такую возможность, достаточно установить официальное расширение Pun Admin Manage Extensions Improved. После его установки в разделе Расширения появятся еже пару пунктов.
Что происходит при обновлении хуков?
При нажатии на кнопку обновить хуки, новый код находящийся в файле manifest.xml обновляется в базе данных.
Когда нужно обновлять хуки?
Хуки необходимо обновлять лишь в том случае, когда был отредактирован именно файл manifest.xml, а не какой либо другой. После правки остальных подключаемых файлов, обновлять хуки не нужно.