После установки темы на форум появились ошибки в логах

Автор Vasias, 27 июля 2020, 10:03:00

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Vasias

Доброго времени суток!
Поставил недавно тему vVide, версия форума 2.0.17 и в логах появились ошибки, вызываемые по нескольким адресам но ссылающиеся на один и тот же файл установленной темы:


https://xxxxxxx.ru/index.php?action=quickmod2%3Btopic%3D3673.0
8: Undefined offset: 0
Файл: /Themes/vVide/BoardIndex.template.php
Строка: 209

https://xxxxxxx.ru/index.php?https://xxxxxxx.ru/
8: Undefined offset: 0
Файл: /Themes/vVide/BoardIndex.template.php
Строка: 209

https://xxxxxxx.ru/index.php?theme=3%3Baction%3Dprintpage%3Btopic%3D1154.0
8: Undefined offset: 0
Файл: /Themes/vVide/BoardIndex.template.php
Строка: 209

https://xxxxxxx.ru/index.php?theme=3%3Bboard%3D157.75%3Bsort%3Dsubject
8: Undefined offset: 0
Файл: /Themes/vVide/BoardIndex.template.php
Строка: 209



в файле BoardIndex.template.php темы vVide
это кусок кода:

    /* The board's and children's 'last_post's have:
203: time, timestamp (a number that represents the time.), id (of the post), topic (topic id.),
204: link, href, subject, start (where they should go for the first unread post.),
205: and member. (which has id, name, link, href, username in it.) */
206: if (!empty($board['last_post']['id'])){
207: loadMemberData($board['last_post']['member']['id']);
208: loadMemberContext($board['last_post']['member']['id']);

==>209: if($memberContext[$board['last_post']['member']['id']]['avatar']['image'])

210: echo'', $memberContext[$board['last_post']['member']['id']]['avatar']['image'],'';
211: else
212: echo'<img class="avatar" src="'.$settings['images_url'].'/theme/default_avatar.png" alt="*" />';
213: echo '
214: <p> ', $txt['by'], ' ', $board['last_post']['member']['link'] , '<br />
215: <strong>', $txt['last_post'], '</strong> ', $board['last_post']['link'], '<br />
216: ', $txt['on'], ' ', $board['last_post']['time'],'
217: </p>';
218: }
219: echo '
220: </td>
221: </tr>';
222: // Show the "Child Boards: ". (there's a link_children but we're going to bold the new ones...)

Может кто подскажет как поправить?
Заранее спасибо за помощь.

p.s.
установленные моды:
Scrolling Buttons 0.5
YandexGarland    1.3.3
Snow and Garland  1.4.1
Extended Help    1.0
Proxy Blocker    1.1.4
Cut Text          1.1.7
Board Icons      1.0
Sitemap          2.2.0
Similar Topics    0.6
[HTML] Permission Mod 1.02
NiceTooltips      1.9
Post Ratings Pro  1.6
Redirector        1.2.6

Yarik

Понизить версию РНР
Ну или автору темы написать про ошибку.

Сан

209 строку попробуйте заменить на
if(!empty($memberContext[$board['last_post']['member']['id']]['avatar']['image']))В логах может и пропадёт сообщение, но "кривизна" скрипта останется.

Не по вопросу.
"Понравилась" строка 210: echo'', ... ,'';

Vasias

Цитата: S.T.A.L.K.E.R. от 27 июля 2020, 12:21:33Понизить версию РНР
Ну или автору темы написать про ошибку.
Спасибо, но PHP у меня там самое древнее и ниже просто не куда, зато нашел вариант среди обсуждений проблем данной темы замены данного глючного участка кода на этот:

if (!empty($board['last_post']['id'])) {
loadMemberData($board['last_post']['member']['id']);
loadMemberContext($board['last_post']['member']['id']);
if (!empty($memberContext[$board['last_post']['member']['id']]['avatar']['image']))
echo $memberContext[$board['last_post']['member']['id']]['avatar']['image'];
else
echo'<img class="avatar" src="'.$settings['images_url'].'/theme/default_avatar.png" alt="*" />';
echo '
<p> ', $txt['by'], ' ', $board['last_post']['member']['link'] , '<br />
<strong>', $txt['last_post'], '</strong> ', $board['last_post']['link'], '<br />
', $txt['on'], ' ', $board['last_post']['time'],'
</p>';
}
echo '
 


пока вроде ошибок нет. Будем наблюдать...

Yarik

По сути дела то что выше написали. Добавка проверки.
А об код глаза поломать можно,тут я с Сан согласен.

Vasias

Цитата: S.T.A.L.K.E.R. от 27 июля 2020, 14:06:54По сути дела то что выше написали. Добавка проверки.
А об код глаза поломать можно,тут я с Сан согласен.
Спасибо всем за помощь, ошибки пропали... :D