[решено] Ошибка user.module в строке 514

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

Аватар пользователя Positiff Positiff 9 ноября 2011 в 13:47

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

Делаю отдельную страницу личного счета пользователя:

        'user/%user/account' => array(
        'title' => 'User balance',
        'type' => MENU_LOCAL_TASK,
        'description' => t('User balance'),
        'page callback' => 'drupal_get_form',
        'page arguments' => array('lot_account_user_balance'),
        'access callback' => 'lot_perm_user_account',
        'access arguments' => array(1),
        'weight' => 5,
    ),

В функции lot_perm_user_account ограничиваю пользователям эту страницу в соответствии с разрешениями и также вклдака показывается если эту страницу смотрит "хозяин" или администратор.

function lot_perm_user_account($account) {
        global $user;
        return user_access('has account',$account) AND ($user->uid == $account->uid OR user_access('admin'));
}

Но периодически в логе такая ошибка:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT p.perm FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () в файле /home/u4126/domains/perevezi.ru/modules/user/user.module в строке 514.

Ошибка тут: 'r.rid IN ()' - пустой список

Помогите понять в чем ошибка. Есть ощущение что подход в принципе не верный

Комментарии

Аватар пользователя Positiff Positiff 9 ноября 2011 в 23:03

Да нет - они объявлены в соответствующем хуке. Да и ошибка то, судя по тексту запроса в том, что у проверяемого пользователя нет ролей.