Как реализовать в DLE разделение профилей. Т.е. юзер видит только свой профиль.

kolobok74
На сайте с 29.01.2006
Offline
267
1125

Не сложное дело нужно сделать на ДЛЕ, но не могу понять, как лучше это реализовать.

В общем, нужно сделать так, чтоб пользователи, зарегистрированные в одной из групп получали доступ к данным только своего профиля. А незарегистрированные пользователи доступа к профилям не имели. Т.е, например, пользователь с именем "name" мог зайти по ссылке site.ru/user/name/ и видеть все свои данные. При этом профили других пользователей ему были не видны.

kolobok74
На сайте с 29.01.2006
Offline
267
#1

Ну или кто-то может помочь с написанием такого модуля за денежки?

KB
На сайте с 01.09.2012
Offline
14
#2
kolobok74:
Ну или кто-то может помочь с написанием такого модуля за денежки?

Тут даже модуль не нужно писать, достаточно пары строк кода в шаблон

kolobok74
На сайте с 29.01.2006
Offline
267
#3

KoBaL, может подскажете эту пару строк.

Как закрыть профили от незарегистрированных пользователей, это я сделал [group=X]. А вот как сделать, чтоб пользователь видел только свой профиль, не могу дойти своей головой.

siv1987
На сайте с 02.04.2009
Offline
427
#4

Сложно, не сложно, но в дле такая убогая система ошибок, что для того что-бы ее вывести нужно в десять местах ставить условия.

/engine/modules/profile.php

найти:


$parse->safe_mode = true;

добавить после:


$view_profile = false;
if( $member_id['user_group'] == 1 )
{
$view_profile = true;
}
elseif( in_array($member_id['user_group'], array(/*группы которые могут просматривать только свой профиль. через запятую*/)) )
{
if( strcasecmp($member_id['name'], $user) == 0 )
{
$view_profile = true;
}
}

найти


$user_found = TRUE;

добавить перед


if( ! $view_profile ){
break;
}

+ еще нужно сделать подобные модификации в аджакс файле /engine/ajax/profile.php

kolobok74
На сайте с 29.01.2006
Offline
267
#5

В /engine/modules/profile.php замены сделал, не помогло.

А в /engine/ajax/profile.php вообще таких строк не нашлось.

siv1987
На сайте с 02.04.2009
Offline
427
#6
kolobok74:
В /engine/modules/profile.php замены сделал, не помогло.

Код проверялся.

kolobok74:
А в /engine/ajax/profile.php вообще таких строк не нашлось.

Речь не шло именно о таких, речь о том что нужно проделать "примерно" то же самое.

ЗЫ.

По традиции тут сделано так, что админы могут просматривать чужие профили.

kolobok74
На сайте с 29.01.2006
Offline
267
#7
siv1987:
Речь не шло именно о таких, речь о том что нужно проделать "примерно" то же самое.

Для моего ума это слишком сложно. Сколько стоит готовое решение?

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

siv1987
На сайте с 02.04.2009
Offline
427
#8

Сделаю за плюшку 10$ :)

kolobok74
На сайте с 29.01.2006
Offline
267
#9
siv1987:
Сделаю за плюшку 10$

Я готов пойти на такие расходы :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий