Условие для групп

Автор recived, 12 марта 2010, 20:36:35

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

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

recived

Сорри если не туда написал.  Вопрос для гуру. Как можно описать условие в файлик index.template.php чтобы для конкретной группы отображался конкретный текст ?
Типа
if ($context['member'] && $group['id'] == 2) где 2 id группы. Или типа этого. Спасибо

0daliska

Цитата: recived от 12 марта 2010, 20:36:35
Сорри если не туда написал.  Вопрос для гуру. Как можно описать условие в файлик index.template.php чтобы для конкретной группы отображался конкретный текст ?
Типа
if ($context['member'] && $group['id'] == 2) где 2 id группы. Или типа этого. Спасибо
Извините, отвечу цитатой... Поиском нашла за минуту
Цитата: Avdenago от 18 ноября 2006, 00:22:01
Экспертный  ФАК по SSI (Expert SSI FAQ)
....
Пример:У вас есть сайт и, соответственно, форум. Также у вас есть специальная группа пользователей, для которой вы хотите сделать доступной какую-либо область, недоступную для других.
Для начала нам необходимо определить идентификатор (ID) нужной нам группы. Для этого идем в Администрирование->Группы Пользователей и для нужной группы нажимаем "Изменить". Теперь смотрим на строку адреса в браузере и видим следующее:
http://forum.belweb.by/index.php?action=membergroups;sa=edit;group=6
Как видим ID будет 6 (group=6). Теперь, когда у нас есть ID группы мы будем использовать следующийкод:

<?php

if (in_array(6$user_info['groups']))
   {
       echo 
'Ого! Я в группе 6!';
   }
else
   {
       echo 
'Извините, но у вас нет прав для просмотра страницы.';
   }

?>


.....
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

recived

Все можно удалять топик. Сделал через права доступа по группам подшаманив над исходниками

trora

Цитата: recived от 12 марта 2010, 22:39:32
Все можно удалять топик. Сделал через права доступа по группам подшаманив над исходниками
вот это не лениво было писать, а как именно сделал- лениво?
теперь все, кому нужна инфа, будут стучать вам в личку и в асю.... оно вам надо?
выложили бы инфу здесь- может плюсика в карму от кого нить дождались....
я не доллар чтоб всем нравиться

recived

Цитата: trora от 13 марта 2010, 05:00:53
вот это не лениво было писать, а как именно сделал- лениво?
теперь все, кому нужна инфа, будут стучать вам в личку и в асю.... оно вам надо?
выложили бы инфу здесь- может плюсика в карму от кого нить дождались....
Менюшка для каждой группы своя. Код для 2.0rc3
subs.php
Ищем:
$context['allow_moderation_center'] = $context['user']['can_mod'];
Перед:

$context['allow_spmenuorg'] = allowedTo('spmenuorg');
$context['allow_spmenuuser'] = allowedTo('spmenuuser');


ManagePermissions.php
Ищем:

'profile_remote_avatar',
'profile_remove_own',

После

'spmenuorg',
'spmenuuser',


Ищем

'pm_view_attachments' => array(false, 'pm', 'use_pm_system'),
'pm_post_attachments' => array(false, 'pm', 'use_pm_system'),

Перед

'spmenuorg' => array(false, 'spmenuorg', 'spmenuorg'),
'spmenuuser' => array(false, 'spmenuuser', 'spmenuuser'),


GeorG

Поискал по форуму ответ на свой вопрос, но не чего конкретного не нашёл, хотя вроде вопрос затрагивался много раз, но конкретного ответа так и нет.

Как подправить данное условие, в смысле что добавить в условие (см. ниже скрин (как хотелось-бы и код)), чтобы к примеру, находясь сам в 6 группе, я видел «Группа 6», только у себя, а не у всех групп (а остальных видел принадлежность к их группам). А находящийся, к примеру, в группе 3 , видел вывод своей группы «Группа 3», и.т.д.


                  if (in_array(3, $user_info['groups']))
                     {
     echo ' «Группа 3»';
                     }

                    else if(in_array(4, $user_info['groups']))
                     {
     echo ' «Группа 4»';
                     }

                     else if(in_array(5, $user_info['groups']))
                     {
     echo ' «Группа 5»';
                     }

                    else if(in_array(6, $user_info['groups']))
                     {
     echo ' «Группа 6»';
                     }
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Drakonsa

Это все можно сделать в управлении группами, количество звезд и картинка звезды

GeorG

ЦитироватьЭто все можно сделать в управлении группами, количество звезд и картинка звезды

Мне вообще-то нужно это для файла load.php... Выводить некоторые цифры, в зависимости от группы пользователя. Для меня главное условие, а не то что оно выводит.

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

Drakonsa

Если мне не изменяет память, то user_info грузиться в display после обработки load'a ито не во всех случаях. Поэтому надо более точно, что, где и когда. Хотя можно это все сделать и в шаблоне, но будет не красиво.

GeorG

ЦитироватьПоэтому надо более точно, что, где и когда.
Не думаю, что это чем-то поможет (если только в конец не отпугнёт)... Хотелось-бы универсальное условие просто...

Вообще это для расширения мода репутации Advanced Reputation System, я там сделал, чтобы вес голоса зависел от подгруппы пользователя, на данный момент всё работает, кроме вывода в профиль поста самого веса голоса.

За это отвечает это строка в файле load.php (установленного мода):
$power = ($points - ($points % $modSettings['karmaBarPower'])) / $modSettings['karmaBarPower'];

Такая-же строка и в файле Xml.php, которую я изменил так:
Цитироватьif (in_array(4, $user_info['groups']))
                    {
    $power = 1;
                    }

                    else if(in_array(5, $user_info['groups']))
                    {
    $power = 2;
                    }

                    else if(in_array(6, $user_info['groups']))
                    {
  $power = 3;
                    }

                    else if(in_array(7, $user_info['groups']))
                    {
  $power = 4;
                    }
(И это работает, потому как вывод на экран, здесь не нужен^^)


И по умолчанию (в моде) всё работает (т.е., у каждого пользователя выводится именно его вес голоса), у меня каждый пользователь, видит только свой "вес" во всех профилях постов (левая сторона поста).

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