Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Помогите, пожалуйста, с тегами

Помогите, пожалуйста, с тегами


     26.07.2014    Хаки, Ламерские вопросы    1420

вопрос
Добрый день. Помогите, пожалуйста, с реализацией небольшого хака. Суть такая: создание специальных тегов для вывода информации, если пользователь принадлежит к группе "ПОЛЬЗОВАТЕЛЬ", "АДМИНИСТРАТОР", "ЖУРНАЛИСТ". Понимаю, что звучит не очень ясно. Попробую объяснить)))

Тег [admin]ТЕКСТ[/admin] позволяет вывести текст - информацию, если пользователь перешел в профиль администратора.
Тег [users]ТЕКСТ[/users] выводит текст, если пользователь (любой) находится в профиле юзера группы "Пользователь".
Тег [jornalist]ТЕКСТ[/jornalist] выводит текст, если пользователь (любой) находится в профиле "Журналиста".

То есть, как Вы поняли, в этих тегах заключается текст публичный (для любого юзера), отображение текста зависит от того, в профиле какой группы находится юзер в данный момент. Теги нужно сделать рабочими только в profile.php

Заранее спасибо! Надеюсь, понятно обозначил просьбу))

Ответил: ychelovek33


Открыть файл engine/modules/profile.php
Найти с помощью CTRL+F строчку со словом {status}.
После этой строчки вставить (P.S. можно и в другое место мне тут удобнее)

$username = $db->query( "SELECT * FROM " . USERPREFIX . "_users where name = '$user'" );
    while ( $rowUser = $db->get_row( $username ) ) {
    
    $gr = $rowUser['user_group'];
    }
    
    
    $arrId = array('1' , '3');
    
    $arrRes = array('<div class="foradmin" title="Администратор">1</div>' , '<div class="forjournalist" title="Журналист">3</div>');
    
    for ($i=0; $i<count($arrId); $i++ )    
    if ($gr==$arrId[$i])
    {
    
        $Res =  $arrRes[$i];
    
    }
    $tpl->set( '{statuus}', $Res);


Выводим с помощью {statuus}

P.S.
а) Можно в самом начале файла маленько изменить и не делать лишний запрос.
б) Великие умы могут сделать тег как [group][/group], но это не я)

Комментарии пользователей (9)

Gopr
10

494 | 164

Gopr - 26 июля 2014 00:51 - Юзер

Если хотим показывать то:
[group=1]ТЕКСТ[/group] - админ
[group=2]ТЕКСТ[/group] - модератор
[group=3]ТЕКСТ[/group] - журналист
[group=4]ТЕКСТ[/group] - пользователь
[group=5]ТЕКСТ[/group] - гость
Если не хотим показывать то:
[not-group=1]ТЕКСТ[/not-group] - админ
[not-group=2]ТЕКСТ[/not-group] - модератор
[not-group=3]ТЕКСТ[/not-group] - журналист
[not-group=4]ТЕКСТ[/not-group] - пользователь
[not-group=5]ТЕКСТ[/not-group] - гость
Теги работают в любом tpl шаблона

User_3218
1

32 | 3

User_3218 - 26 июля 2014 01:23 - Юзер

Спасибо за Ваш ответ, но, Вы не поняли вопроса, если заключить инфо - текст в такие теги, то пользователь из другой группы не сможет просмотреть текст, мне нужно, чтобы текст видели абсолютно все пользователи групп, только отображение текста зависело от того, какой профиль просматривает юзер

User_3218
1

32 | 3

User_3218 - 26 июля 2014 01:23 - Юзер

Надеюсь, сейчас более понятно )))

Gopr
10

494 | 164

Gopr - 26 июля 2014 06:39 - Юзер

Тег [admin]ТЕКСТ[/admin] позволяет вывести текст - информацию, если пользователь перешел в профиль администратора.
Тег [users]ТЕКСТ[/users] выводит текст, если пользователь (любой) находится в профиле юзера группы "Пользователь".
Тег [jornalist]ТЕКСТ[/jornalist] выводит текст, если пользователь (любой) находится в профиле "Журналиста".


отображение текста зависит от того, в профиле какой группы находится юзер в данный момент.

А разница между?
[jornalist]ТЕКСТ[/jornalist]
и
[group=2]ТЕКСТ[/group]


в этих тегах заключается текст публичный (для любого юзера)

Есть еще такие конструкции
[group=1,2,3,4]ТЕКСТ[/group]

User_3218
1

32 | 3

User_3218 - 26 июля 2014 09:46 - Юзер

Я знаю про эти теги, они выводят только инфу, если пользователь находится в этой группе, но другим группам они текст не выводят, а мне нужно, чтобы текст был виден всем группам, но только выбор текста, заключенный в теги, зависит от того, профиль чей группы просматривает пользователь.
Т е, если пользователь просматривает профиль админа, выводится текст всем без исключения пользователям (даже журналистам и всем остальным группам), а также, если юзер или админ просматривает профиль журналиста, то также текст виден всем пользователям - всем группам без исключения, просматривающим профиль журналиста, точно также и про группу пользователей. Например, если я - админ, просматриваю профиль юзера, то мне виден текст или, например, если журналист зашел на профиль юзера - то он также сможет прочитать этот текст. Надеюсь, сейчас понятнее, простите за тавтологию

User_3218
1

32 | 3

User_3218 - 26 июля 2014 09:51 - Юзер

Gopr,
разница в том, что текст смогут прочитать только те пользователи, которые попадают под 2-ую группу, но другие группы не смогут видеть текст, заключенный в эти теги))

***[group=2]ТЕКСТ[/group]***

User_3218
1

32 | 3

User_3218 - 27 июля 2014 19:55 - Юзер

Вопрос остается актуальным!

ychelovek33
3

184 | 33

ychelovek33 - 30 июля 2014 02:42 - Юзер

Если честно совсем не понятно что вам нужно... Ужс...

Если я все таки чучуть вас понял, вы хотите выводить разный текст разным группам, но в одном и том же теге...

Пример:

<div>
[group=5]<a href="index.php?do=register">Регистрация</a> [/group]
[not-group=5]<a href="#">Оставить комментарий</a> [/not-group]
</div>


Если не то - напишите Прям пример в комментарии... Там Вася посмотрел получилось так....

User_3218
1

32 | 3

User_3218 - 5 августа 2014 23:08 - Юзер

Спасибо еще раз за помощь) очень здорово))

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы