Как сделать "Сейчас на форуме" видимым только админу?

Автор ksana24, 19 апреля 2012, 13:59:08

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

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

ksana24

Подскажите, пожалуйста, как сделать раздел "Сейчас на форуме" видимым только админу и Global Moderator?

В настройках стоит Отображать список "Сейчас на форуме" или не отображать.

Других вариантов не предусмотрено.


GeorG

Как определить глобального, писалось тут - http://www.simplemachines.ru/index.php?topic=14072.0
Определить админа, можно так - $user_info['is_admin']
Код вывода ников, находится в файле BoardIndex.template.php вашей темы:

// Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
if (!empty($context['users_online']))
{
echo '
', sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />', implode(', ', $context['list_users_online']);

// Showing membergroups?
if (!empty($settings['show_group_key']) && !empty($context['membergroups']))
echo '
<br />[' . implode(']&nbsp;&nbsp;[', $context['membergroups']) . ']';
}


Если хотите скрыть всё содержимое поля "Сейчас на форуме", то надо взять дополнительно код, который ещё есть - "чуть выше и чуть ниже", и заключить его в условие отображения для админа и глобального модератора.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

ksana24

Проверила для админа:

if ($user_info['is_admin']) {
          // "Users online" - in order of activity.
          echo '
              <div class="title_barIC">
                <h4 class="titlebg">
                  <span class="ie6_header floatleft">
                    ', $context['show_who'] ? '<a href="' . $scripturl . '?action=who' . '">' : '', '<img class="icon" src="', $settings['images_url'], '/icons/online.gif', '" alt="', $txt['online_users'], '" />', $context['show_who'] ? '</a>' : '', '
                    ', $txt['online_users'], '
                  </span>
                </h4>
              </div>
              <p class="inline stats">
                ', $context['show_who'] ? '<a href="' . $scripturl . '?action=who">' : '', comma_format($context['num_guests']), ' ', $context['num_guests'] == 1 ? $txt['guest'] : $txt['guests'], ', ' . comma_format($context['num_users_online']), ' ', $context['num_users_online'] == 1 ? $txt['user'] : $txt['users'];


          // Handle hidden users and buddies.
          $bracketList = array();
          if ($context['show_buddies'])
            $bracketList[] = comma_format($context['num_buddies']) . ' ' . ($context['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']);
          if (!empty($context['num_spiders']))
            $bracketList[] = comma_format($context['num_spiders']) . ' ' . ($context['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']);
          if (!empty($context['num_users_hidden']))
            $bracketList[] = comma_format($context['num_users_hidden']) . ' ' . $txt['hidden'];

          if (!empty($bracketList))
            echo ' (' . implode(', ', $bracketList) . ')';

          echo $context['show_who'] ? '</a>' : '', '
              </p>
              <p class="inline smalltext">';

          // Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
          if (!empty($context['users_online']))
          {
            echo '
                ', sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />', implode(', ', $context['list_users_online']);

            // Showing membergroups?
            if (!empty($settings['show_group_key']) && !empty($context['membergroups']))
              echo '
                <br />[' . implode(']&nbsp;&nbsp;[', $context['membergroups']) . ']';
          }

          echo '
              </p>
              <p class="last smalltext">
                ', $txt['most_online_today'], ': <strong>', comma_format($modSettings['mostOnlineToday']), '</strong>.
                ', $txt['most_online_ever'], ': ', comma_format($modSettings['mostOnline']), ' (', timeformat($modSettings['mostDate']), ')
              </p>';
}


Это условие скрывает блок "Сейчас на форуме" полностью, т.е. он становится невидимым для всех, включая админа.

Что я делаю не так?

0daliska

function template_info_center()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;

Откуда там возникнет $user_info?
Либо пробуйте использовать $context['user']['is_admin']
Либо попробовать сначала добавление внешней переменной $user_info в приведенный мною участок кода и тогда пробовать $user_info['is_admin']
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

ksana24