Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 2096 Просмотров
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Не хочется создавать для этого статусы (ранги) и назначать их в ручную. Поэкспериментировав я заметил, что если удалить все статусы, то у Администратора всё-равно выводится картинка rankadmin.gif. А у модератора: rankmod.gif (если включено отображение статусов)

Ну вкратце, хочу, чтобы Тип пользователя из профиля отображался под аватаром, как у Администратора. Как его получить?


У меня реализованы дополнительные группы пользователе вот по этой методике: http://joomlaforum.ru/index.php/topic,89665.0.html
Вот такая вот схема:

Это сайт игрового клана. Надо сказать, что права доступа прекрасно работают, но нужно, чтобы под аватаркой в постах выводилась группа, в которой состоит пользователь и/или статус (ранг) без необходимости добавлять его каждому отдельно вручную, т.к. там текучка "кадров" так сказать и вручную совсем неудобно. Хочется, как у администратора и модераторов, чтобы ранг и группа выводилась автоматом.
Нашел код во view.php отвечающий за вывод статуса и названия группы пользователей. Может кто из гуру поможет, что дописать в нём, чтобы учесть остальные группы пользователей?
Код
//user type determination
                                    $ugid = $userinfo->gid;
                                    $uIsMod = 0;
                                    $uIsAdm = 0;
                                    $uIsMod = in_array($userinfo->userid, $catModerators);

                                    if ($ugid > 0) { //only get the groupname from the ACL if we're sure there is one
                                        $agrp = strtolower($kunena_acl->get_group_name($ugid, 'ARO'));
                                    }

                                    if ($ugid == 0) {
                                        $msg_usertype = _VIEW_VISITOR;
                                    }
                                    else
                                    {
                                        if (strtolower($agrp) == "administrator" || strtolower($agrp) == "superadministrator" || strtolower($agrp) == "super administrator")
                                        {
                                            $msg_usertype = _VIEW_ADMIN;
                                            $uIsAdm = 1;
                                        }
                                        elseif ($uIsMod) {
                                            $msg_usertype = _VIEW_MODERATOR;
                                        }
                                        else {
                                            $msg_usertype = _VIEW_USER;
                                        }
                                    }

                                    //done usertype determination, phew...
                                    //# of post for this user and ranking
                                    if ($userinfo->userid)
                                    {
                                        $numPosts = (int)$userinfo->posts;

                                        //ranking
                                        $rText = ''; $showSpRank = false;
                                        if ($fbConfig->showranking)
                                        {

                                            if ($showSpRank = $userinfo->rank != '0')
                                            {
                                                //special rank
                                                $kunena_db->setQuery("SELECT * FROM #__fb_ranks WHERE rank_id='{$userinfo->rank}'");
                                            } else {
                                                //post count rank
                                                $kunena_db->setQuery("SELECT * FROM #__fb_ranks WHERE ((rank_min <= '{$numPosts}') AND (rank_special = '0')) ORDER BY rank_min DESC", 0, 1);
                                            }
                                            $rank = $kunena_db->loadObject();
                                            $rText = $rank->rank_title;
                                            $rImg = KUNENA_URLRANKSPATH . $rank->rank_image;
                                        }

                                        if ($uIsMod and !$showSpRank)
                                        {
                                            $rText = _RANK_MODERATOR;
                                            $rImg = KUNENA_URLRANKSPATH . 'rankmod.gif';
                                        }

                                        if ($uIsAdm and !$showSpRank)
                                        {
                                            $rText = _RANK_ADMINISTRATOR;
                                            $rImg = KUNENA_URLRANKSPATH . 'rankadmin.gif';
                                        }

                                        if ($fbConfig->rankimages) {
                                            $msg_userrankimg = '<img src="' . $rImg . '" alt="" />';
                                        }

                                        $msg_userrank = $rText;
« Последнее редактирование: 03.02.2010, 12:58:47 от ChaosHead »
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Ну в общем сам решил! Сначала переименовал группы на английский язык, чтобы использовать их названия в коде на английском.
Русифицировать их для админки можно в файле administrator\langugage\RU-ru\Ru-ru.ini
Потом изменил код view.php на
Код
if ($ugid > 0) { //only get the groupname from the ACL if we're sure there is one
                                        $agrp = strtolower($kunena_acl->get_group_name($ugid, 'ARO'));
                                    }

                                    if ($ugid == 0) {
                                        $msg_usertype = _VIEW_VISITOR;
                                    }
                                    else
                                    {
                                        if (strtolower($agrp) == "administrator" || strtolower($agrp) == "superadministrator" || strtolower($agrp) == "super administrator")
                                        {
                                            $msg_usertype = _VIEW_ADMIN;
                                            $uIsAdm = 1;
                                        }


                                        else if ($agrp == "diplomat")
{
$msg_usertype = _VIEW_DIPLOMAT;
                                        }
                                        else if ($agrp == "trial period")
{
$msg_usertype = _VIEW_TRIAL_PERIOD;
                                        }
                                        else if ($agrp == "academy")
{
$msg_usertype = _VIEW_ACADEMY;
                                        }
                                        else if ($agrp == "archangel")
{
$msg_usertype = _VIEW_ARCHANGEL;
                                        }
                                        else if ($agrp == "clan officer")
{
$msg_usertype = _VIEW_CLAN_OFFICER;
                                        }
                                        else if ($agrp == "clan high council")
{
$msg_usertype = _VIEW_CLAN_HIGH_COUNCIL;
                                        }




                                        elseif ($uIsMod) {
                                            $msg_usertype = _VIEW_MODERATOR;
                                        }
                                        else {
                                            $msg_usertype = _VIEW_USER;
                                        }
                                    }
Долго возился из-за того, что название группы по какой-то причине надо писать с маленькой буквы. Затем русифицировал их отображение на форуме в kunena_russian.php
Код
DEFINE('_VIEW_TRIAL_PERIOD','Испытательный срок');
DEFINE('_VIEW_DIPLOMAT','Дипломат');
DEFINE('_VIEW_ACADEMY','Академия');
DEFINE('_VIEW_ARCHANGEL','Архангел');
DEFINE('_VIEW_CLAN_OFFICER','Оффицер клана');
DEFINE('_VIEW_CLAN_HIGH_COUNCIL','Высший совет клана');
Вот теперь всё так, как я и хотел!

Жду новую Joomla и Кунену, где нормально реализуют управление группами пользователей.
« Последнее редактирование: 03.02.2010, 17:18:40 от ChaosHead »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод Имя & Логин в Kunena 5.1.0?

Автор warlocksp

Ответов: 8
Просмотров: 1544
Последний ответ 31.05.2018, 17:51:47
от korkka44
Kunena 5.0.7 вывод в списке категорий всех модераторов и администраторов как убрать?

Автор Vasilij30

Ответов: 1
Просмотров: 1257
Последний ответ 14.05.2017, 11:00:03
от Vasilij30
Названия тем и сообщения выравниваются по центру

Автор Yakov51

Ответов: 1
Просмотров: 1101
Последний ответ 28.01.2017, 10:50:59
от Yakov51
Кто такой "скрытый пользователь"?

Автор afina2009

Ответов: 3
Просмотров: 1784
Последний ответ 03.07.2015, 05:12:03
от sword852d
Как убрать аватар админа у удаленных пользователей?

Автор romagromov

Ответов: 0
Просмотров: 1280
Последний ответ 16.06.2014, 21:56:32
от romagromov