Баг при темизации профиля [РЕШЕНО]

Главные вкладки

Аватар пользователя aa2ndrew@drupal.org aa2ndrew@drupal.org 27 марта 2009 в 23:17

Сделал свою темизацию профиля. Все вышло класно, но есть один момент. В профиле есть поля, которые должны быть скрыты для других пользователей. Но если эти поля выводить через следующий код:

<?php if( $user->profile_icq): ?>
    <strong>ICQ: </strong><?php print $user->profile_icq?>
<?php 
endif ?>

то они видны всем пользователям. Может кто знает, как сделать так, чтобы эти поля показывались только тем пользователям, которые имеют на это права?

Комментарии

Аватар пользователя aa2ndrew@drupal.org aa2ndrew@drupal.org 30 марта 2009 в 10:24

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

<?php if(user_access('access user profiles')
         && (
user_access('administer users') && $user->profile_icq) || $GLOBALS['user']->uid == $user->uid): ?>
    <strong>ICQ: </strong><?php print $user->profile_icq?>
<?php 
endif ?>

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

Аватар пользователя iNFerNo iNFerNo 8 декабря 2010 в 15:18

1. как вывести категории полей профиля?
2. если поля не заполнены как сделать так что бы категория профиля не выводилась