Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.
Форум  ->   Разработка плагинов, вопросы по API  ->  Условие в шаблон


Показать все сообщения в этой ветке


Добавлено: 28.08.12 10:15:47  



Регистрация: 17.07.08
Сообщений: 84


Обратиться по имени

Это решение не учитывает кеш, так как кеш работает только с группами пользователей.
Вам необходимо добавить в _local/common_functions.php функцию:

function customGetUserGroupMask($groupMask, $aParams){
    global $secret_allowed;

    $res = $groupMask;
    /**
     * @var AMI_Session
     */
    $oSession = AMI::getSingleton('env/session');
    $secret_allowed = 0;
    if($oSession->isLoggedIn()){
        /**
         * @var Users_TableItem
         */
        $oUser = $oSession->getUserData();
        if($oUser->cf_secret_access){
            $secret_allowed = (int)$oUser->cf_secret_access;
            if($secret_allowed > 0) {
                $res = $secret_allowed + 1000;
            }
        }
    }
    return $res;
}


Также, вместо конструкций:

$x = @mysql_fetch_row(mysql_query('select `cf_secret_access` from `cms_members` where `id`="'.$frn->Member->User['id'].'"'));


нужно использовать класс DB_Query:
http://manual.amiro.ru/docs/api6/DB/DB_Query.html



Служба поддержки
0


Создать новую тему Ответить