Core Control: лечим некорректное отображение методов в модуле cron
Патч для плагина Core Control для корректного отображения имён методов
Есть один замечательный плагин для разработчиков, называется Core Control. Данный плагин позволяет контролировать различные аспекты работы WordPress: транспорт HTTP (например, расширение PHP HTTP, cURL, потоки PHP и т.п.), протоколирование HTTP-запросов, контроль обновлений ядра, плагинов и тем, способы доступа к файловой системе, а также отображение запланированных задач.
Работая над одним плагином, в котором усиленно использовалось планирование заданий, мы столкнулись с проблемой, что cron-модуль плагина Core Control неправильно отображает запланированные задания, если задание представлено не обычной функцией, а методом класса:
К счастью, исправляется довольно легко.
+++ core-control/modules/core_control_cron.php 2010-09-10 09:31:38.000000000 -0400
@@ -138,8 +138,23 @@
if ( isset($GLOBALS['wp_filter'][$hook]) ) {
$functions = array();
foreach ( (array)$GLOBALS['wp_filter'][$hook] as $priority => $function ) {
- foreach ( $function as $hook_details )
- $functions[] = (isset($hook_details['class']) ? $hook_details['class'] . '::' : '') . $hook_details['function'] . '()';
+ foreach ( $function as $hook_details ) {
+ $hook = '';
+ $f = $hook_details['function'];
+ if (is_array($f)) {
+ if (is_object($f[0])) {
+ $hook = get_class($f[0]);
+ }
+ else {
+ $hook = $f[0];
+ }
+ $hook .= '::' . $f[1];
+ }
+ else {
+ $hook = $f;
+ }
+ $functions[] = $hook . '()';
+ }
}
echo '<br/><strong>Hooked functions:</strong> ' . implode(', ', $functions);
}
Вложения:
- Scheduled Tasks (image/png)
Сен
2010
Комментарии к статье «Core Control: лечим некорректное отображение методов в модуле cron» (1) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Core Control: лечим некорректное отображение методов в модуле cron»
गते गते पारगते पारसंगते बोधि स्वाहा

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


Bug report