Sympathy module

Lynx

Пользователь
#12
частенько трекер крашится с 500 ошибкой и таким нотисом
Код:
Notice: Undefined index: user_sympathies in /var/www/tracker.sevstar.net/www/viewtopic.php on line 1000
Код:
1000 'POSTER_SYMPATHIES'      => $postrow[$i]['user_sympathies'],
Эта ошибка вылазит только в теме с лайками, в которой закреплён первый пост. Если открепить первый пост, ошибка исчезает.

Вылечил так:

Найти:
PHP:
// 1. Add first post of topic if it pinned and page of topic not first
$first_post = false;
if ($t_data['topic_show_first_post'] && $start)
{
   $first_post = DB()->fetch_rowset("
     SELECT
       u.username, u.user_id, u.user_rank, u.user_posts, u.user_from,
       u.user_regdate, u.user_sig,
       u.avatar_ext_id,
       u.user_opt, u.user_gender, u.user_birthday,
       p.*, g.group_name, g.group_id, g.group_signature, g.avatar_ext_id as rg_avatar_id,
       u2.username as mc_username, u2.user_rank as mc_user_rank,
       h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text
     FROM  ". BB_POSTS  ." p
     LEFT JOIN ". BB_USERS  ." u  ON(u.user_id = p.poster_id)
     LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id)
     LEFT JOIN ". BB_POSTS_HTML ." h  ON(h.post_id = p.post_id)
     LEFT JOIN ". BB_USERS  ." u2 ON(u2.user_id = p.mc_user_id)
     LEFT JOIN ". BB_GROUPS  ." g ON(g.group_id = p.poster_rg_id)
     WHERE
       p.post_id = {$t_data['topic_first_post_id']}
     LIMIT 1
   ");
}
Заменить:
PHP:
// 1. Add first post of topic if it pinned and page of topic not first
$first_post = false;
if ($t_data['topic_show_first_post'] && $start)
{
   $first_post = DB()->fetch_rowset("
     SELECT
       u.username, u.user_id, u.user_rank, u.user_posts, u.user_from, u.user_sympathies,
       u.user_regdate, u.user_sig,
       u.avatar_ext_id,
       u.user_opt, u.user_gender, u.user_birthday,
       p.*, g.group_name, g.group_id, g.group_signature, g.avatar_ext_id as rg_avatar_id,
      GROUP_CONCAT(ul.username ORDER BY l.vote_time DESC) as rated_usernames,
      GROUP_CONCAT(ul.avatar_ext_id ORDER BY l.vote_time DESC) as rated_avatars,
      GROUP_CONCAT(l.author_id ORDER BY l.vote_time DESC) as rated_ids,
       u2.username as mc_username, u2.user_rank as mc_user_rank,
       h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text
     FROM  ". BB_POSTS  ." p
     LEFT JOIN ". BB_USERS  ." u  ON(u.user_id = p.poster_id)
     LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id)
     LEFT JOIN ". BB_POSTS_HTML ." h  ON(h.post_id = p.post_id)
     LEFT JOIN ". BB_POSTS_LIKES." l  ON(l.post_id = p.post_id)
    LEFT JOIN ". BB_USERS  ." ul ON(ul.user_id = l.author_id)
     LEFT JOIN ". BB_USERS  ." u2 ON(u2.user_id = p.mc_user_id)
     LEFT JOIN ". BB_GROUPS  ." g ON(g.group_id = p.poster_rg_id)
     WHERE
       p.post_id = {$t_data['topic_first_post_id']}
     LIMIT 1
   ");
}
 

Бандерас

Пользователь
#13
а как прописать в functions_admin.php, чтобы при удалении пользователя, удалялись его Симпатии?
А то в темах столько много нотисков выскакивают по поводу что не получается этой модификации найти username.
Или как то заменить в модификации, если нет пользователя, то показывал Гость... А то ругается на эти строчки в /viewtopic.php

foreach( $likers_ids as $id => $value ) {
$post_likes_array[$value]['username'] = $likers_usrnames[$id];
$post_likes_array[$value]['avatar'] = ( $likers_avatars[$id] != 0 ) ? '/images/avatars/' . get_avatar_path ( $value, $likers_avatars[$id] ) : '/images/avatars/gallery/noavatar.png';

}
 
Сверху