ГЛЮК: При просмотре определенных типов материалов (нод) => любой пользователь становится администратором

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

Аватар пользователя fit fit 23 октября 2011 в 23:17

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

Если смотреть любую ноду определенных типов материалов, то любой юзер сайта тут-же получается суперадмином т.е. как будто происходит быстрый переброс из любого профиля в администраторский.
Когда создаю новые типы материалов, то заходя на них такого глюка уже нет т.е. видимо что-то (может модуль какой) наколбасило мне такой "подарок".

Пробовал удалить тип материала task, чистил кэш (как в движке, так и в БД), потом создавал тип материала с таким же машинным названием task и глюк повторяется Sad
Видимо, что-то прочно засело и не хочет убираться...

Помогите, что может быть?

Комментарии

Аватар пользователя fit fit 23 октября 2011 в 23:54

да я так тоже думал, потом решил съесть чего-нибудь сладкого, но не помогло... разработчик продолжил работать еще 2 часа и сдался.

Аватар пользователя fit fit 24 октября 2011 в 0:19

Еще странность выяснилась:
Если изменить автора материала на другого пользователя (не админа), то при его просмотре вышеописанный глюк не появляется.

Аватар пользователя fit fit 24 октября 2011 в 0:34

становятся доступны абсолютно все функции админа
ну и как проверка, если зайти на свою страницу профиля /user то вместо профиля пользователя "Vasya" (как пример) - выводится профиль админа.

Аватар пользователя v1adimir@drupal.org v1adimir@drupal.org 24 октября 2011 в 3:08

orion76 wrote:
такое ощущение, что гдето
вместо $user->uid==1
написано $user->uid=1
или что-то подобное...

И такое присваивание на одной странице сохраняет полноценный логин и на прочих страницах сайта?

up. сейчас попробовал, на д7 не сработал такой фокус.

Аватар пользователя fit fit 24 октября 2011 в 18:29

orion76 wrote:
такое ощущение, что гдето
вместо $user->uid==1
написано $user->uid=1
или что-то подобное...

А вы были правы!!!
Такую глупость я не заметил, каюсь!

Мое условие в task.tpl.php было такое:
<?php global $user; if($user->uid = $node->uid) {profile_load_profile($user);}?>
profile_role; ?>: <?php print $user->profile_phone; ?>" href="/user/<?php print $uid; ?>"><?php print $user->profile_fio; ?>

Давно бездумно скопировал код из какого то топика и вот результат на лицо!

Аватар пользователя Orion76 Orion76 24 октября 2011 в 5:14

"<a href="mailto:v1adimir@drupal.org">v1adimir@drupal.org</a>" wrote:
попробовал, на д7 не сработал такой фокус.

вот так:

<?php
global $user;
$user->uid=1;
?>

???

вставил в hook_init
сработало(drupal 6)..

Аватар пользователя Orion76 Orion76 24 октября 2011 в 5:21

поиграю в телепата-))))
На сайте где-то еще (кроме таблицы node) хранятся данные о авторстве материала типа task
Где-то, при открытии материала типа task, производиться проверка на авторство или суперадмина по этим данным.
и в этой проверке вместо сравнения, происходит присваивание...

Аватар пользователя drupby drupby 24 октября 2011 в 8:17

вывод один - вы кинули разработчика и он каким то способом сделал подобное .
ищите причины в себе .

Аватар пользователя fit fit 24 октября 2011 в 17:23

Искал по БД все что связанно с task, удалил все что казалось лишним - проблему не решило.
Но разобрался в причине проблемы: изначально я устанавливал на движок кучу модулей для работы Case Tracker Plus (http://drupal.org/project/ct_plus), но после тестирования этой системы я решил сделать свое с нуля и удалил лишние модули (сначало из движка, потом с сервера). Видимо, проблема образовалась еще на начале проекта, а тестирование ролей и прав доступа произошло уже на готовой системе.

Сейчас дублирую настройки вручную на чистой установке D6... Омммм