Вы должны объявить $pagenumber
тоже глобальным
global $pagenumber;
if (THIS_SCRIPT == 'showthread'){
echo '<!-- pageNumber: ' . $pagenumber . ' -->';
}
Помещенным в showthread_start
хук, это даст мне следующий вывод: <!-- pageNumber: 9 -->
Но учтите, что если вызагрузите код плагина в некоторый глобальный доступный хук, такой как global_start
, эти переменные потока могут быть недоступны, потому что они были инициализированы позже в коде vBulletin.В этом случае попробуйте выбрать другой хук, который запускается раньше.Здесь попробуйте и ошибка помогает.
Я бы порекомендовал попробовать POC-код в showthread_start
, чтобы убедиться, что он работает.Затем измените крючки, чтобы узнать, что достаточно рано для запланированного действия, и которое содержит все необходимые переменные.Иногда также полезно видеть код vB вокруг хука.
Вы можете использовать, например, grep в корне установки vBulletin, чтобы найти, где выполняется global_start
:
# grep -rn --include \*.php "fetch_hook('global_start')" .
./global.php:29:($hook = vBulletinHook::fetch_hook('global_start')) ? eval($hook) : false;
Поиск в системе Windows также возможен с помощью таких инструментов, как Notepad ++ (поиск по файлам).