Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Помогите, пожалуйста, с тегами

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


     26.07.2014    хак, теги, профиль пользователя    Хаки, Ламерские вопросы    4078

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

Тег [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
Юзер

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
Юзер

User_3218 - 26 июля 2014 01:23 -

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

User_3218
Юзер

User_3218 - 26 июля 2014 01:23 -

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

Gopr
Юзер

Gopr - 26 июля 2014 06:39 -

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


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

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


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

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

User_3218
Юзер

User_3218 - 26 июля 2014 09:46 -

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

User_3218
Юзер

User_3218 - 26 июля 2014 09:51 -

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

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

User_3218
Юзер

User_3218 - 27 июля 2014 19:55 -

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

ychelovek33
Юзер

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
Юзер

User_3218 - 5 августа 2014 23:08 -

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

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

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

наверх