Error log календаря

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Error log календаря

Сообщение Erlang »

Постоянно в Error loge форума висит ошибка:

[Sun Aug 21 00:00:05 2005] [error] PHP Warning: sprintf(): Too few arguments in ***.com/www/forum/includes/functions_calendar.php on line 575

Строка 575:

$tmp_message = sprintf($lang['birthday'],$username);

В чем дело?
С уважением,
Сергей
Аватара пользователя
p00h
phpBB 1.4.4
Сообщения: 119
Стаж: 19 лет 10 месяцев
Откуда: Златоуст (Южный Урал)

Сообщение p00h »

посмотрите в языковых файлах (скорее всего language/your_language/lang_main.php) значение переменной $lang['birthday'].
Erlang писал(а):Too few arguments
очевидно означает, что в этой переменной (т.е. в тексте) лишний знак %.
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

Если только это:

$lang['Birthday_explain'] = 'The syntax used is %s, e.g. %s, remember prefixed zeros';

Вот полная цитата:

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

//Add on for Birthday Mod
$lang['Birthday'] = 'День Рождения';
$lang['No_birthday_specify'] = 'Не указано';
$lang['Age'] = 'Возраст';
$lang['Wrong_birthday_format'] = 'Неправильный формат даты.';
$lang['Birthday_to_high'] = 'Извините, на этом сайте закрыт доступ пользователям старше %d года/лет';
$lang['Birthday_require'] = 'Укажите Ваш День рождения';
$lang['Birthday_to_low'] = 'Извините, на этом сайте закрыт доступ пользователям моложе %d года/лет';
$lang['Submit_date_format'] = 'd-m-Y'; //php date() format - Note: ONLY d, m and Y may be used and SHALL ALL be used (different seperators are accepted)
$lang['Birthday_greeting_today'] = 'Мы рады поздравить Вас с вашим %s -летием.<br /><br /> Коллектив Электросвязи';//%s is substituted with the users age
$lang['Birthday_greeting_prev'] = 'Мы рады поздравить Вас с наступающим %s - летием (%s).<br /><br /> Коллектив Электросвязи';//%s is substituted with the users age, and birthday
$lang['Greeting_Messaging'] = 'Поздравляем!';
$lang['Birthday_today'] = 'Поздравляем с Днем Рождения:';
$lang['Birthday_week'] = 'Пользователи у которых будут дни рождения в ближайшие %d дней:';
$lang['Nobirthday_week'] = 'В ближайшие %d дней ни у кого Дней рождений нет'; // %d is substitude with the number of days
$lang['Nobirthday_today'] = 'Сегодня нет Дней Рождений';
$lang['Year'] = 'Год';
$lang['Month'] = 'Месяц';
$lang['Day'] = 'День';
$lang['Birthday_explain'] = 'The syntax used is %s, e.g. %s, remember prefixed zeros';
С уважением,
Сергей
Аватара пользователя
p00h
phpBB 1.4.4
Сообщения: 119
Стаж: 19 лет 10 месяцев
Откуда: Златоуст (Южный Урал)

Сообщение p00h »

Erlang писал(а):Постоянно в Error loge форума висит ошибка:

[Sun Aug 21 00:00:05 2005] [error] PHP Warning: sprintf(): Too few arguments in ***.com/www/forum/includes/functions_calendar.php on line 575

Строка 575:

$tmp_message = sprintf($lang['birthday'],$username);
если это вызывает ошибку, то я не знаю... Судя по приведенному коду там вообще нет никаких подстановок!
Erlang писал(а):$lang['Birthday'] = 'День Рождения';
Вот и ругается! Потому, что нечего подставлять!
А в браузер скорее всего и не выводит, потому что ошибка не критичная, скрипт просто полностью выводит эту строку и все!
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

p00h писал(а):Вот и ругается! Потому, что нечего подставлять!
Т. е. если пользовательне указал ДР?
С уважением,
Сергей
Аватара пользователя
p00h
phpBB 1.4.4
Сообщения: 119
Стаж: 19 лет 10 месяцев
Откуда: Златоуст (Южный Урал)

Сообщение p00h »

Erlang писал(а):Т. е. если пользовательне указал ДР?
Да нет!
Вот смотри...

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

<?php
$num = 7;
$location = "дереве";
$format = "%d обезьян сидят на %s";
sprintf($format, $num, $location);
?>
Выведет:
7 обезьян сидят на дереве
А теперь посмотри на
Erlang писал(а):$lang['Birthday'] = 'День Рождения';
и еще на
Erlang писал(а):sprintf($lang['birthday'],$username);
Есть ему что заменять???
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

И что делать?
С уважением,
Сергей
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 6 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Erlang писал(а):И что делать?
Привели же пример работы функции замещения, что непонятного?

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

$lang['Birthday'] = 'День Рождения у %s';
Вернее - сами посмотрите, мне сложно говорить, мод не юзал и не видел.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
p00h
phpBB 1.4.4
Сообщения: 119
Стаж: 19 лет 10 месяцев
Откуда: Златоуст (Южный Урал)

Сообщение p00h »

VVVas писал(а):$lang['Birthday'] = 'День Рождения у %s';
Именно! Что-то вроде этого!
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

И что с этим делать?
С уважением,
Сергей
Аватара пользователя
p00h
phpBB 1.4.4
Сообщения: 119
Стаж: 19 лет 10 месяцев
Откуда: Златоуст (Южный Урал)

Сообщение p00h »

Уф-ффф...
Попробуйте заменить вот это
p00h писал(а):Строка 575:
$lang['birthday']= 'День Рождения';
На это:
VVVas писал(а):$lang['Birthday'] = 'День Рождения у %s';
[/code]
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Erlang
А есть что-то подобное?
VVVas писал(а):$lang['Birthday'] = 'День Рождения у %s';
Если есть, то в строке
Erlang писал(а):$tmp_message = sprintf($lang['birthday'],$username);
замените birthday на Birthday.
Похоже на опечатку автора.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

Xpert есть такое:

$lang['birthday_header'] = 'День рождения! Принимает поздравления!';
$lang['birthday'] = '<b>%s</b>(%s) has birthday today!';
С уважением,
Сергей
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

Ошибка продолжается.

Может кто поможет?
С уважением,
Сергей
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 20 лет 10 месяцев
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

Xpert спасибо. Помогло.
С уважением,
Сергей

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