[решено]Call to undefined function... не знаю, что делать

Главные вкладки

Аватар пользователя Geldora Geldora 26 июля 2009 в 0:56

С момента обновления на 6ку мои сайты стали выдавать следующую ошибку:

Call to undefined function emailHtml() in /путь до сайта/includes/common.inc(1655) : eval()'d code on line 2

Поначалу ошибка проходила для меня "незаметно", в смысле на работу сайта не влияла. Теперь из-за неё не запускается крон + белый экран по любому поводу...

Функция эта реально неизвестная - обшарила и Др.орг, и даже Гугл: ничего нет...

Посмотрела Коммон.инк - там тоже ничего особенного в указанных строках:

На второй строчке: // $Id: common.inc,v 1.756.2.57 2009/07/01 20:51:55 goba Exp $

На 1655:  print eval('?>'. $code);, полная функция такая:

function drupal_eval($code) {
  global $theme_path, $theme_info, $conf;

  // Store current theme path.
  $old_theme_path = $theme_path;

  // Restore theme_path to the theme, as long as drupal_eval() executes,
  // so code evaluted will not see the caller module as the current theme.
  // If theme info is not initialized get the path from theme_default.
  if (!isset($theme_info)) {
    $theme_path = drupal_get_path('theme', $conf['theme_default']);
  }
  else {
    $theme_path = dirname($theme_info->filename);
  }

  ob_start();
  print eval('?>'. $code);
  $output = ob_get_contents();
  ob_end_clean();

  // Recover original theme path.
  $theme_path = $old_theme_path;

  return $output;
}

Я вообще-то, в пхп не смыслю, но в этой функции упоминаний об эмейле не нашла.

Я думала, это проблемы с хостингом - только что сменила хостинг, проблема не прошла. на др.орге пишут, что ошибки Неизвестная Функция означают, чаще всего, неправильно апгрейд модуля или темы - НО! я использую все модули с .орг, если бы там что-то было, это бы заметили. Все модули - самых новых версий. Версия Друпала тоже новая...

Я пробовала убрать все лишние модули и запустить крон - не помогает.

Блоки - вроде остались с 5ой версии, но они не активны. Разве они могут так глобально влиять на работу сайта?

В общем, не знаю что и думать... Сайт уже третий день без крона - кто что может посоветовать? Что эта ошибка вообще означает?

Комментарии

Аватар пользователя neochief neochief 26 июля 2009 в 1:09

1. Поиск по всем файлам строки "emailHtml".
2. Если ничего не дало, значит оно в базе. Где-то сидит вызов emailHtml() из кода с включенным PHP фильтром. В phpMyAdmin кажется есть функция поиска по базе. Или же сделаейте дамп, и поищите в нем "emailHtml".

P.S. Код в базе — зло.

Аватар пользователя kosilko kosilko 26 июля 2009 в 1:38

eval()'d code on line 2 говорит о том что код в базе - либо нода, либо блок с ПХП-кодом. Учитывая что крон падает, скорее всего нода - была похожая проблема - оказалось что стандартный модуль search выполняет код в ноде при индексации по крону, если она в формате PHP. Правда в моем случае крон не вылетал, просто перманентно оставалось 8 непроиндексированных элементов в очереди индексации.

Аватар пользователя Geldora Geldora 26 июля 2009 в 9:38

Уфф, точно, нода...

Старый код, неизвестно какой давности... Не удалила тестовую ноду в свое время...

Уфф, спасибо, всем! Помогло! Smile