Добрый день. Переношу сайт на другой хостинг, вылетела ошибка, вижу такую впервые:
Fatal error: Call to undefined function mytheme_top() in /nas1/us0124/data/www/mysite.ru/modules/php/php.module(74) : eval()'d code on line 1
Данная функция вызывается только в template.php
Даже если закомментировать функцию, ошибка остается!
БОЛЬШАЯ ПРОСЬБА ПОМОЧЬ!!!
вот код функции:
<?php
function mytheme_top($type = 'search') {
$header = array(
array('data' => t('Count'), 'field' => 'count', 'sort' => 'desc'),
array('data' => t('Message'), 'field' => 'message')
);
$count_query = db_select('watchdog');
$count_query->addExpression('COUNT(DISTINCT(message))');
$count_query->condition('type', $type);
$query = db_select('watchdog', 'w')->extend('PagerDefault')->extend('TableSort');
$query->addExpression('COUNT(wid)', 'count');
$query = $query
->fields('w', array('message', 'variables'))
->condition('w.type', $type)
->groupBy('message')
->groupBy('variables')
->limit(30)
->orderByHeader($header);
$query->setCountQuery($count_query);
$result = $query->execute();
$t = '';
foreach ($result as $dblog) {
$a = unserialize($dblog->variables);
$t .= '<li>'.l($a['%keys']/*.' ('.$dblog->count.')'*/, 'search/node/'.$a['%keys'], array('html' => TRUE)).'</li>';
}
return
'<div class="topsearches"><h5>'.t('Популярное').'</h5><ul>'.$t.'</ul><a href="'.url('most_viewed').'" class="buttonone"><span>'.t('Самые популярные').'</span></a><a href="'.url('videos').'" class="buttonone"><span>'.t('Новинки').'</span></a></div>';
}
?>
Комментарии
Обычно так пишут, чтобы вы подставили вместо mytheme имя своей темы, когда пропишете эту функцию в template.php
Там и есть название темы, это я просто заменил тут )
eval() is evil
Уважаемые, помогите с решением проблеммы!
Недостаточно информации чтобы помочь.
Где то у тебя php фильтром формируется вывод. В блоке, ноде и т.д.
И там надо смотреть как прописан вызов этой функции. Через theme( ?
А что это за элемент - top?
Это блок что искали за время между запусками крона.
На старом хостинге кэширование есть. Однако в БД я truncate кэш таблиц делал.
Если это блок, то что он делает в template.php?!
Ну а так, если truncate делали — обновите теперь кэш.
Просто почему на старом хостинге все отлично, а на новом вылетает эта ошибка. Она на всех страницах