Небольшое изменение внешнего вида клубов путём добавления аватаров к списку участников, модераторов и администратору.
1) файл /core/lib_clubs.php добавляем в конец файла 3 новых функции:
в этом же файле находим блок:
после него добавляем новую функцию:
2)в файле /components/clubs/frontend.php приблизительно строка 159 начинается с:
заменяем на:
3) в файле /templates/ваш_шаблон/components/com_clubs_view_club.tpl
находим блок:
после него вставляем:
находим блок:
изменяем на:
теперь списки выводятся с аватарами…
1) файл /core/lib_clubs.php добавляем в конец файла 3 новых функции:
function clubAdminWithAvatar($club_id){ $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $inPage = cmsPage::getInstance(); $sql = "SELECT u.id as id, u.nickname as nickname, u.login as login, p.imageurl as imageurl FROM cms_clubs c LEFT JOIN cms_users u ON u.id = c.admin_id LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE c.id = '$club_id'"; $rs = $inDB->query($sql); $usr = $inDB->fetch_assoc($rs); include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php'); } $usrimage = usrImageNOdb($usr['id'], 'small', $usr['imageurl'], $usr['is_deleted']); $html = '<div id="all_user_list" style="width: 190px;"><div class="avatar" style="float:left;width:78px;height:100px;text-align:center;padding-left:2px;padding-bottom:5px;margin:4px auto;">'. $usrimage.'<a href="/users/'.$usr['login'].'" class="none" style="width:76px;float:left;line-height:9px;margin-top:4px;margin-bottom:6px;">'.$usr['nickname'].'</a></div></div></div><div style="clear:both"></div>'; return $html; } function clubMembersListWithAvatar($club_id){ $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $inPage = cmsPage::getInstance(); $sql = "SELECT u.id as id, u.nickname as nickname, u.login as login, p.imageurl as imageurl FROM cms_user_clubs c LEFT JOIN cms_users u ON u.id = c.user_id LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE c.club_id = '$club_id' AND c.role = 'member'"; $rs = $inDB->query($sql); $total = $inDB->num_rows($rs); $now=0; if ($total > 10) { $html = '<div id="all_user_list" style="width: 190px; height: 570px; overflow-y:auto; overflow-x: hidden;">'; } if ($total <= 10) { $html = '<div id="all_user_list" style="width: 190px;">'; } while($usr = $inDB->fetch_assoc($rs)){ include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php'); } $usrimage = usrImageNOdb($usr['id'], 'small', $usr['imageurl'], $usr['is_deleted']); $html .= '<div class="avatar" style="float:left;width:78px;height:100px;text-align:center;padding-left:2px;padding-bottom:5px;margin:4px auto;">'. $usrimage.'<a href="/users/'.$usr['login'].'" class="none" style="width:76px;float:left;line-height:9px;margin-top:4px;margin-bottom:6px;">'.$usr['nickname'].'</a></div>'; $now ++; } $html .= '</div></div><div style="clear:both"></div>'; return $html; } function clubModersListWithAvatar($club_id){ $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $inPage = cmsPage::getInstance(); $sql = "SELECT u.id as id, u.nickname as nickname, u.login as login, p.imageurl as imageurl FROM cms_user_clubs c LEFT JOIN cms_users u ON u.id = c.user_id LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE c.club_id = '$club_id' AND c.role = 'moderator'" ; $rs = $inDB->query($sql); $total = $inDB->num_rows($rs); $now=0; $html = '<div id="all_user_list" style="width: 190px;">'; while($usr = $inDB->fetch_assoc($rs)){ include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php'); } $usrimage = usrImageNOdb($usr['id'], 'small', $usr['imageurl'], $usr['is_deleted']); $html .= '<div class="avatar" style="float:left;width:78px;height:100px;text-align:center;padding-left:2px;padding-bottom:5px;margin:4px auto;">'. $usrimage.'<a href="/users/'.$usr['login'].'" class="none" style="width:76px;float:left;line-height:9px;margin-top:4px;margin-bottom:6px;">'.$usr['nickname'].'</a></div>'; $now ++; } $html .= '</div></div><div style="clear:both"></div>'; return $html; }
function clubTotalMembers($club_id){ $inDB = cmsDatabase::getInstance(); $sql = "SELECT 1 FROM cms_user_clubs c WHERE c.club_id = '$club_id' AND c.role = 'member'"; $rs = $inDB->query($sql); if ($inDB->num_rows($rs)){ return $inDB->num_rows($rs) +1; //+1 потому что считаем еще и админа, не только юзеров } else { return 1; } }
function clubTotalModers($club_id){ $inDB = cmsDatabase::getInstance(); $sql = "SELECT 1 FROM cms_user_clubs c WHERE c.club_id = '$club_id' AND c.role = 'moderator'"; $rs = $inDB->query($sql); if ($inDB->num_rows($rs)){ return $inDB->num_rows($rs); } }
//PARAMS $club['admin'] = clubAdminLink($id); $club['members'] = clubTotalMembers($id); $club['members_list'] = clubMembersList($id);
//PARAMS $club['admin'] = clubAdminWithAvatar($id); $club['members'] = clubTotalMembers($id); $club['moders'] = clubTotalModers($id); $club['members_list'] = clubMembersListWithAvatar($id); $club['moders_list'] = clubModersListWithAvatar($id);
находим блок:
<div class="members_list"> <div class="title">{$LANG.CLUB_ADMIN}:</div> <div class="list">{$club.admin}</div> </div>
{if $club.moders > 0} <div class="members_list"> <div class="title">{$LANG.MODERATORS} ({$club.moders}):</div> <div class="list">{$club.moders_list}</div> </div> {/if}
<span class="members"><strong>{$club.members|spellcount:$LANG.USER:$LANG.USER2:$LANG.USER10}</strong></span>
<span class="members"><strong>{assign var="club_total" value =`$club.moders+$club.members`}{$club_total|spellcount:$LANG.USER:$LANG.USER2:$LANG.USER10}</strong></span>
Реклама #
Слава 13 лет назад #
• Mike • 13 лет назад #
Боюсь к версии 2.0 многое поменяется придется искать другое решение )
RooKee 13 лет назад #
picaboo 13 лет назад #
спасибо, очень нужные дополнения сделаны. имхо их бы в оффрелиз внести....
Слава 13 лет назад #
picaboo 13 лет назад #
• Mike • 13 лет назад #
fact 13 лет назад #
Но есть небольшая трабла. Имя немного накладывается на Фамилию.(Имя под аватаром, ниже фамилия) Как сделать отступ между строчками с именем и Фамилией?
• Mike • 13 лет назад #
13 лет назад #
• Mike • 13 лет назад #
13 лет назад #
13 лет назад #