Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Настройка и Изменение > Модули
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
makfatum вне форума      Старый "добавление нового админа" (модули на администрирование)) #1  
makfatum
Новенький
Регистрация: 12.07.2006
Сообщения: 15


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для makfatum Найти все сообщения от makfatum Добавить makfatum в список друзей  
07.03.2007, 16:39

Здравствуйте!

Возник такой вопрос.
Есть галерея 4nAlbum.
При добавлении нового админа, ему почему-то нет возможности дать доступ к соответствуюшему модулю (нет чекбокса в перечне).

это мне очень нужно....

Начал смотреть...
в файле authors.php
нашел следующее:

PHP код:
 if (file_exists("modules/$row[title]/admin/index.php") AND file_exists("modules/$row[title]/admin/links.php") AND file_exists("modules/$row[title]/admin/case.php")) { 


смутно понял назначение,
но добавил в папку modules/4nAlbum
папку admin c файлами внутри нулевого размера index.php, case.php, links.php

чекбокс 4nAlbum в меню Админы - Добавление нового админа появился...

посмотрел у остальных модулей как сделано и добавил
в файл admin/modules/4nAlbum/index.php в начало вот это:

PHP код:
 global  $prefix$db;

$aid substr("$aid"0,25);
$row $db->sql_fetchrow($db->sql_query("SELECT title, admins FROM ".$prefix."_modules WHERE title='4nAlbum'"));
$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 sizeof($admins); $i++) {
    if (
$row2['name'] == "$admins[$i]AND $row['admins'] != "") {
        
$auth_user 1;
    }



а потом, все остальное что находится в файле index.php
добавил в условие

PHP код:
 if ($row2['radminsuper'] == || $auth_user == 1) { 


вобщем ничего не работает...
добавляю админа, ставлю чекбокс на доступ к 4nAlbum захожу и ничего нету...
нет доступа, вобще нет ссылки даже на модуль...

в Базе данных nuke_modules в столбце admins в строке 4nAlbum логины админов добавляются..

вобщем поможите, чем можите....один не справлюсь...

Astrix вне форума      Старый #2  
Аватара для Astrix
Astrix
Бывалый
Регистрация: 09.01.2007
Сообщения: 309


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Astrix Посетить домашнюю страницу Astrix Найти все сообщения от Astrix Добавить Astrix в список друзей  
07.03.2007, 17:47

У меня такая же история была с модулем Files
Я проблему решил, но пришлось изрядно повозиться!
Ща гляну, что и как - тогда скажу...

итак, сразу скажу - это самый простой, но не самый безопасны метод... все сделал за 15 минут, поэтому ничего не обещаю, но у меня работает.
1) Создаем в modules/4nAlbum папку admin
2) создаем там файл index.php:
PHP код:
<?php
if (!defined('ADMIN_FILE')) {
    die (
"Access Denied");
}

global 
$prefix$db$admin_file;
$aid substr($aid0,25);
$row $db->sql_fetchrow($db->sql_query("SELECT title, admins FROM ".$prefix."_modules WHERE title='4nAlbum'"));
$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 sizeof($admins); $i++) {
    if (
$row2['name'] == "$admins[$i]AND !empty($row['admins'])) {
        
$auth_user 1;
    }
}

if (
$row2['radminsuper'] == || $auth_user == 1) {
    include (
"admin/modules/4nalbum/index.php");
}
?>

3) там же создаем файл case.php:
PHP код:
<?php
if (!defined('ADMIN_FILE')) {
    die (
"Access Denied");
}

switch(
$op) {
    case 
"4nalbum":
                    include(
"modules/4nalbum/admin/index.php");
    break;
}
?>

4) там же создаем файл links.php:
PHP код:
<?php
if (!defined('ADMIN_FILE')) {
    die (
"Access Denied");
}

global 
$admin_file;
if ((
$radminsuper==1) OR ($auth_user==1)) {
        
adminmenu("".$admin_file.".php?op=4nalbum""4nAlbum""topicsman.gif");
}
?>

5) даем нужному админу права на доступ к 4nAlbum
6) проверяем, работает ли все это дело.

ЗЫ
У меня работает...

Последний раз редактировалось Astrix, 07.03.2007 в 17:55.
 
Хочешь обнять весь мир? - Купи глобус!


Astrix вне форума      Старый #3  
Аватара для Astrix
Astrix
Бывалый
Регистрация: 09.01.2007
Сообщения: 309


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Astrix Посетить домашнюю страницу Astrix Найти все сообщения от Astrix Добавить Astrix в список друзей  
07.03.2007, 20:01

Еще небольшая поправочка (под виндой проблем не возникнет, но линух сильно ругаться будет): в пункте 3 строчку:
PHP код:
 include("modules/4nalbum/admin/index.php"); 

замените на:
PHP код:
 include("modules/4nAlbum/admin/index.php"); 
 
Хочешь обнять весь мир? - Купи глобус!


makfatum вне форума      Старый #4  
makfatum
Новенький
Регистрация: 12.07.2006
Сообщения: 15


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для makfatum Найти все сообщения от makfatum Добавить makfatum в список друзей  
07.03.2007, 21:46

спасибо!
все действительно работает!
а в чем заключается "небезопасность метода"?

Astrix вне форума      Старый #5  
Аватара для Astrix
Astrix
Бывалый
Регистрация: 09.01.2007
Сообщения: 309


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Astrix Посетить домашнюю страницу Astrix Найти все сообщения от Astrix Добавить Astrix в список друзей  
07.03.2007, 22:28

на первый взгляд вроде все нормально. я постарался по возможности все дыры в коде заткнуть. но т. к. делал сразу десять дел, включая и написание этого кода, мог где-нить что-нить недосмотреть... если кто ошибки заметит - буду признателен!
 
Хочешь обнять весь мир? - Купи глобус!


Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +4, время: 21:01.


На Верх
Рейтинг@Mail.ru