Друзья, помогите, четвертый час бьюсь над устранением глюка...
Если смотреть любую ноду определенных типов материалов, то любой юзер сайта тут-же получается суперадмином т.е. как будто происходит быстрый переброс из любого профиля в администраторский.
Когда создаю новые типы материалов, то заходя на них такого глюка уже нет т.е. видимо что-то (может модуль какой) наколбасило мне такой "подарок".
Пробовал удалить тип материала task, чистил кэш (как в движке, так и в БД), потом создавал тип материала с таким же машинным названием task и глюк повторяется
Видимо, что-то прочно засело и не хочет убираться...
Помогите, что может быть?
Комментарии
не заплатили разработчику
да я так тоже думал, потом решил съесть чего-нибудь сладкого, но не помогло... разработчик продолжил работать еще 2 часа и сдался.
Еще странность выяснилась:
Если изменить автора материала на другого пользователя (не админа), то при его просмотре вышеописанный глюк не появляется.
а как проявляется, что пользователь "суперадмин" ?
становятся доступны абсолютно все функции админа
ну и как проверка, если зайти на свою страницу профиля /user то вместо профиля пользователя "Vasya" (как пример) - выводится профиль админа.
такое ощущение, что гдето
вместо $user->uid==1
написано $user->uid=1
или что-то подобное...
И такое присваивание на одной странице сохраняет полноценный логин и на прочих страницах сайта?
up. сейчас попробовал, на д7 не сработал такой фокус.
А вы были правы!!!
Такую глупость я не заметил, каюсь!
Мое условие в 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; ?>
Давно бездумно скопировал код из какого то топика и вот результат на лицо!
вот так:
<?php
global $user;
$user->uid=1;
?>
???
вставил в hook_init
сработало(drupal 6)..
поиграю в телепата-))))
На сайте где-то еще (кроме таблицы node) хранятся данные о авторстве материала типа task
Где-то, при открытии материала типа task, производиться проверка на авторство или суперадмина по этим данным.
и в этой проверке вместо сравнения, происходит присваивание...
вывод один - вы кинули разработчика и он каким то способом сделал подобное .
ищите причины в себе .
Искал по БД все что связанно с task, удалил все что казалось лишним - проблему не решило.
Но разобрался в причине проблемы: изначально я устанавливал на движок кучу модулей для работы Case Tracker Plus (http://drupal.org/project/ct_plus), но после тестирования этой системы я решил сделать свое с нуля и удалил лишние модули (сначало из движка, потом с сервера). Видимо, проблема образовалась еще на начале проекта, а тестирование ролей и прав доступа произошло уже на готовой системе.
Сейчас дублирую настройки вручную на чистой установке D6... Омммм