Fatal error: Call to undefined function get_user_rank()

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
snvck
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 6 месяцев
Благодарил (а): 2 раза

Fatal error: Call to undefined function get_user_rank()

Сообщение snvck »

понимаю, что это я что-то не так сделала, но знаний моих пока недостаточно для решени данной проблемы... прошу вашей помощи!!

версия phpbb3 - 3.0.11
при входе через админа и при нажатии кнопки" вынести предупреждение" участнику конферении, вылезает ошибка

Fatal error: Call to undefined function get_user_rank() in S:\home\localhost\www\phpBB3\includes\mcp\mcp_warn.php on line 311
Как видно, работаю пока на денвере...

В файле 311 строка вида:

Код: Выделить всё

get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img, $rank_img_src);
файл mcp_warn.php сверила с оригиналом - ошибок нет.

Похожая ошибка если админ отправляет пользователю ЛС. При нажатии кнопки отправить происходит предпросмотр. Потом нажимаем еще раз отправить и вродебы все норм, т.к. пишет, что ваше сообщение успешно отправлено НООО потом выдает ошибку Fatal error: Call to undefined function get_user_rank() in S:\home\localhost\www\phpBB3\includes\ucp\ucp_pm_viewmessage.php on line 313

файл ucp_pm_viewmessage.php сверила с оригиналом. Были небольшие расхождения, я вручную вернула к заводскому виду, но изменений не произошло :(

Возможно нехватает вызова функции в functions.php? Проверила нотпедом на наличие слова "rank" - ничего не нашел...
очень надеюсь на вашу помощь!!!
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение Татьяна5 »

Функция get_user_rank задана в includes/functions_display.php

Код: Выделить всё

function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)

код функции
и в includes/mcp/mcp_warn.php перед ее вызовом есть подключение файла

Код: Выделить всё

if (!function_exists('get_user_avatar'))
		{
			include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
		}
Все на месте?
snvck
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 6 месяцев
Благодарил (а): 2 раза

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение snvck »

Большое спасибо за ответ!
К сожалению, функции наместе, пунктуация ненарушена :(
Однако, я сравнила файл functions_display.php с оригиналом и там оказались некие расхождения, а именно, в оригинале отсутствовало

Код: Выделить всё

	prime_links();
Вотя и не знаю..удалять или нет? Ведь у меня еще установлены моды...
Закомментировала, но ошибка осталась :(

Код: Выделить всё

function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
{
	global $ranks, $config, $phpbb_root_path;
//-- mod: Prime Links -------------------------------------------------------//
	if (!function_exists('prime_links'))
	{
		global $phpEx;
		include($phpbb_root_path . 'includes/prime_links.' . $phpEx);
	}
	prime_links();
//-- end: Prime Links -------------------------------------------------------//
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение Balamut »

Бр-р-р... А что у вас вообще делает мод внешних ссылок в этом файле вообще и в этой функции в частности?
Этот кусок кода должен находиться в includes/functions_content.php, перед строчкой

Код: Выделить всё

	if ($force_option || !$config['allow_smilies'] || !$user->optionget('viewsmilies'))
Добавлено спустя 1 минуту 48 секунд:
Естественно, я про кусок кода между //-- mod: Prime Links -------------------------------------------------------// и //-- end: Prime Links -------------------------------------------------------//
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение Татьяна5 »

Smayliks, это из contrib, install user website links.xml
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение Balamut »

Татьяна5, а-а-а, не видел, сам этим модом не пользуюсь.

Можно попробовать if (!function_exists('get_user_avatar')) поменять на if (!function_exists('get_user_rank')) (уж не знаю, где там ещё могла объявиться функция get_user_avatar, видимо не из functions_display.php, а из какого-то мода). А вообще - либо конфликт, либо неправильная установка модов.
//
// That's all, Folks!
// -------------------------------------------------
snvck
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 6 месяцев
Благодарил (а): 2 раза

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение snvck »

Smayliks, не думаю, что это хорошая идея, т.к.

Код: Выделить всё

if (!function_exists('get_user_avatar'))
родная функция
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 633 раза
Поблагодарили: 2413 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение rxu »

По-моему, та же самая проблема: Posts merging - Склеивание сообщений / постов
Изображение
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение Balamut »

snvck, вы не поверите, но функция get_user_rank ничуть не менее родная.

Добавлено спустя 1 минуту 42 секунды:
rxu, грубый инклуд includes/prime_notify.php - тоже выход, но это тоже костыли.

Добавлено спустя 8 минут 22 секунды:
Всё-таки, мне кажется, какой-то мод объявляет функцию get_user_avatar (не из functions_display.php, а откуда-то из своих файлов).
А в части модов проверка заинклуден functions_display.php или нет проверяется именно по функции get_user_avata.
В данном случае, я предложил делать проверку по функции get_user_rank, которая тоже объявляется в файле functions_display.php.

А уж если инклудить в любом случае, то лучше использовать include_once, дабы небыло повторных инклудов.
//
// That's all, Folks!
// -------------------------------------------------
snvck
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 6 месяцев
Благодарил (а): 2 раза

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение snvck »

Спасибо за подсказки, буду проверять
snvck
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 6 месяцев
Благодарил (а): 2 раза

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение snvck »

Проблему решить сама не смогла...к сожалению не тот уровень знания программирования у меня :(
Однако, я поняла в чем "косяк" - пыталась установить вывод аватары текущего пользователя на главной странице. Аватар корректно выводился, но, как выяснилось позже, с вышеизложенными "косяками". Функции писала не сама, а следовала инструкциям пользователя PPK с форума под названием ppkbb3cker.
Возможно Вы сможете мне помочь выяснить в чем кроется проблема? Где несостыковка? Как мне кажется, это уже отдельная тема. Пошла создавать

Добавлено спустя 9 минут 9 секунд:
тему создала Доработка вывода аватары текущего пользователя на главной
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение Balamut »

Вот, как я и говорил, там ещё раз объявляется функция get_user_avatar

Вот в этом посте - Fatal error: Call to undefined function get_user_rank() делали, что я сказал?
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: Fatal error: Call to undefined function get_user_rank()

Сообщение ВладимирТ »

snvck писал(а):Однако, я поняла в чем "косяк" - пыталась установить вывод аватары текущего пользователя на главной странице. Аватар корректно выводился, но, как выяснилось позже, с вышеизложенными "косяками".
snvck писал(а):Возможно Вы сможете мне помочь выяснить в чем кроется проблема?
Все проще пареной репы, если внимательно посмотреть на файл includes/mcp/mcp_warn.php то мы видим что:

Код: Выделить всё

if (!function_exists('get_user_avatar'))
		{
			include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
		}

		get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img, $rank_img_src);
		$avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']);
повторяется 2 раза в 411 и 306 строке. Что происходит дальше, мы устанавливаем вывод аватара где ни поподя, то бишь глобально, для этого мы переносим функцию get_user_avatar из
includes/functions_display.php в includes/function.php, а заодно и прицеп $avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']); и получаем везде, глобально get_user_avatar.

Что делаем? Удаляем или комментируем весь паровоз с 411 строки в includes/mcp/mcp_warn.php, а в 306 строке комментируем только функцию get_user_avatar или если нравится меняем на get_user_rank, хотя вроде и не к чему, а можно и ни фига с ней не делать, а оставить как есть.
На вкус и цвет - разный CSS

Вернуться в «Поддержка phpBB 3.0.х»