Украинская Баннерная Сеть
 User
Логин: Пароль: Запомнить
 
Small.Net.UA © - Портал для друзей!
 User Регистрация | Забыли пароль? СправкаСправка    

Навигация

 На главную

 Вход
 Регистрация
 Восстановить пароль
 Правила Сайта

 Написать мне
 Рекомендовать меня

 Форумы
 Наши пользователи

 Списки новостей

 ЧаВо/Справка

 Топ-десятка
 Статистика

 Дневники
 Сообщения
 Голосования


Реклама



Украинская Баннерная Сеть



Счётчики

Я В.Контакте






Счётчик тИЦ PR







Об администраторах





Очень часто у многих пользователей, впервые столкнувшихся с CMS PHP-Nuke (да и не только у них), возникает вопрос: "А кто такие администраторы, где мне их найти и как отличить друг от друга?".
Начнем по-порядку.


Администратор сайта - это лицо, отвечающее за корректное функционирование отдельной части сайта (модуля) или всего сайта целиком.
Все данные об администраторах хранятся в базе данных в таблице $prefix_authors.
Для каждого администратора в таблице предусмотрены следующие поля:
1) aid - логин;
2) name - имя;
3) url - адрес домашней страницы;
4) email - адрес электронной почты;
5) pwd - md5-хеш пароля;
6) counter - счетчик количества статей;
7) radminsuper - флаг суперадминистратора;
8) admlanguage - язык интерфейса;
9) editor - визуальный редактор по умолчанию (добавлен в версии Rus-PHPNuke 8.1.4)

В CMS PHP-Nuke существуют следующие типы администраторов:
1) базовый администратор (God)
Уровень доступа: неограниченный.
Отличительные параметры: поле name в таблице $prefix_authors содержит значение God.
Создание: создается при установке системы на сайт (возможно ручное добавление, путем модификации поля name для любого администратора).
Удаление: удаление невозможно штатными средствами (возможно ручное удаление, путем модификации поля name).
Личное мнение: не рекомендуется производить никаких работ на сайте с использованием прав базового администратора. Исключение составляет только добавление, модификация или удаление администраторов.
2) суперадминистратор
Уровень доступа: "Панель управления порталом" (за исключением апплета "Админы"), "Панель управления модулями".
Отличительные параметры: поле radminsuper в таблице $prefix_authors содержит значение 1.
Создание: создаются базовым администратором в "Панели управления порталом" с помощью апплета "Админы"
. Удаление: удаляются базовым администратором в "Панели управления порталом" с помощью апплета "Админы".
3) администраторы модулей
Уровень доступа: "Панель управления модулями" исключительно в рамках назначенного модуля.
Отличительные параметры: логин администратора модуля содержится в поле admins таблицы $prefix_modules базы данных.
Создание: создаются базовым администратором в "Панели управления порталом" с помощью апплета "Админы".
Удаление: удаляются базовым администратором в "Панели управления порталом" с помощью апплета "Админы".

Таким образом получается следующая схема взаимодействия администраторов:
- для назначения человека администратором модуля, необходимо войти базовым администратором и поставить флажок рядом с модулем для которого необходим доступ;
- для назначения человека суперадминистратором, необходимо войти базовым администратором и поставить флажок рядом с надписью "Суперпользователь".

И напоследок поговорим об ограничительных условиях для администраторов.
1) проверка для пропуска только базового администратора:
а) для стандартных версии PHP-Nuke:

Код:

global $prefix, $db;
$aid = substr("$aid", 0,25);
$row = $db->sql_fetchrow($db->sql_query("SELECT name, radminsuper FROM " . $prefix . "_authors WHERE aid='$aid'"));
if (($row['radminsuper'] == 1) && ($row['name'] == 'God')) {
//проверка пройдена
}



б) для версии Rus-PHPNuke 8.1.4 и старше:

Код:

global $admin_info;
if (($admin_info['radminsuper'] == 1) && ($admin_info['name'] == 'God')) {
//проверка пройдена
}



2) проверка для пропуска базового администратора и суперадминистратора:
а) для стандартных версий PHP-Nuke:

Код:

global $prefix, $db;
$aid = substr("$aid", 0,25);
$row = $db->sql_fetchrow($db->sql_query("SELECT radminsuper FROM " . $prefix . "_authors WHERE aid='$aid'"));
if ($row['radminsuper'] == 1) {
//проверка пройдена
}



б) для версии Rus-PHPNuke 8.1.4 и старше:

Код:

global $admin_info;
if ($admin_info['radminsuper'] == 1) {
//проверка пройдена
}



3) проверка для доступа суперадминистратора или администратора модуля:
а) для стандартных версий PHP-Nuke:

Код:

global $prefix, $db, $admin_file;
$aid = substr("$aid", 0,25);
$row = $db->sql_fetchrow($db->sql_query("SELECT title, admins FROM ".$prefix."_modules WHERE title='ИМЯ_МОДУЛЯ'"));
$row2 = $db->sql_fetchrow($db->sql_query("SELECT name, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
$admins = explode(",", $row['admins']);
$auth_user = 0;
for ($i=0; $i if ($row2['name'] == "$admins[$i]" AND !empty($row['admins'])) {
$auth_user = 1;
}
}
if ($row2['radminsuper'] == 1 || $auth_user == 1) {
//проверка пройдена
}



б) для версии Rus-PHPNuke 8.1.4 и старше:

Код:

global $admin_info;
if ($admin_info['radminsuper'] == 1 OR is_moduleadmin("ИМЯ_МОДУЛЯ")) {
//проверка пройдена
}











Алексей Щеткин aka KrasivayaSvo
http://www.kolomna-spravka.ru

Защищено Small.Net.Ua
При перепечатке материалов гиперссылка на сайт автора обязательна

Размещено: 2008-07-31
(Прочтено 108 раз)

[ Вернуться назад ]
Content ©




Основан на системе Php-Nuke Разработка www.small.net.ua
Открытие страницы: 0.162 секунды
Выполнено: 5 запросов к базе данных за 0.082 с.
Gzip: включено