Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Модули Проблема с написанием модуля

Проблема с написанием модуля


     13.08.2011    Модули    2327

вопрос
Здравствуйте! Я начал учится писать модули для DLE, а именно по этой статье
Внимание! У вас нет прав для просмотра скрытого текста.
. У меня возникла такая проблема: когда заходишь в админку модуля, пишешь что то в поля которые там и нажимаешь сохранить мне выдает Доступ отклонен. Подскажите пожалуйста, что там не так.Заранее спасибо!

Ответил: rashpil


Как правильно подметили в коментах ниже. Чтобы писать модули, нужно овладеть хотя бы основами программирования на php. Ну а если по вопросу, пологаю, что и админку ты писал по тому мануалу, а он можно сказать просроченый :)

if ($member_db[1] != 1) {
    msg ("error", $lang['opt_denied'], $lang['opt_denied']);
}


Вот такое условие есть в админке, которое нацелено на проверку принадлежности посетителя к группе админов. Но вся проблема в том, что в новых версиях движка массива $member_db просто нет. Вместо него появился массив $member_id. В котором теперь совсем другие ключи (Их можно проследить по названиям колонок в таблице dle_users)

Стало быть, этот код нужно исправить на:

if ($member_id['group'] != 1) {
    msg ("error", $lang['opt_denied'], $lang['opt_denied']);
}

Комментарии пользователей (18)

ПафНутиЙ
1064

3393 | 2433

ПафНутиЙ - 13 августа 2011 16:55 - Админ

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

Каков вопрос - таков и ответ. Просто помните об этом.

kronon
1

57 | 52

kronon - 13 августа 2011 17:13 - Юзер

не, ну я хочу научится с админкой делать, так как мне нужен модуль именно с админкой )))

nowheremany
192

1659 | 1292

nowheremany - 13 августа 2011 17:38 - Эксперт

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

Благодарность принимаю тут Связь

kronon
1

57 | 52

kronon - 13 августа 2011 17:40 - Юзер

ну я как бы первый раз. Решил посмотреть структуру написания модуля.

kronon
1

57 | 52

kronon - 13 августа 2011 18:30 - Юзер

***Комментарий удален***

kronon
1

57 | 52

kronon - 13 августа 2011 18:35 - Юзер

не помогло((((
все равно пишет Доступ отключен (

Sander
1125

1637 | 1202

Sander - 13 августа 2011 19:20 - Эксперт

Ну прям как панацея от всех бед wink
/*код против взлома*/
if(!defined('DATALIFEENGINE'))
{die("Hacking attempt!");}
/*код против взлома*/


Убрать <strong> из кода, закрывающий тег тоже.
$action - я так понимаю это _POST параметр, почему нет обработчика?

<?php
/* Подключаемые файлы */
<strong>require_once</strong>(ENGINE_DIR.'/inc/test.func
tions.php');
<strong>require_once</strong>(ENGINE_DIR.'/data/config.t
est.php');

/**
* Сохранение настроек модуля
*/
if ($action == "dosave") {


За что не люблю такие "уроки" ламера для ламера, то что ошибок в нем туева хуча, а начинающие программисты учатся по этому шлаку.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

kronon
1

57 | 52

kronon - 13 августа 2011 19:34 - Юзер

Олег, у меня к вам предложение. Не могли бы вы меня научить строить модули ?
конечно же не бесплатно
и если у вас есть время

ПафНутиЙ
1064

3393 | 2433

ПафНутиЙ - 13 августа 2011 19:58 - Админ

lol Улыбнуло.
Лучший способ научиться писать модули - начать писать их, пусть это и звучит как "масло масляное".
Для начала берём простейший модуль, который выводи чтототам, кудатонасайт, при этом в нём есть админка. и начинаем его модифицировать, улучшать, расширять и т.д.
Т.е. нужно тренироваться на кошках работающем модуле.

Каков вопрос - таков и ответ. Просто помните об этом.

rashpil
33

232 | 182

rashpil - 13 августа 2011 21:16 - Эксперт

Да так тоже далеко не уехать, проверено :) Нужно начинать курить мануалы по php там, по базам данных и всяким не менее приятным штукам. А дальше уже браться за "удачные" примеры и уже крехтеть над ними :)

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

kronon
1

57 | 52

kronon - 13 августа 2011 22:24 - Юзер

Ребята можете посмотреть код админки ?
в общем все нормально работает, но не сохраняются данные

вот файлик)
http://rghost.ru/17865161

Sander
1125

1637 | 1202

Sander - 13 августа 2011 23:04 - Эксперт

Н-да... Как всегда за пример берется мой первый модуль...
Полета фантазии вообще нету.
Как я делал приставку у переменных по первым 3м буквам своего ника, так и клонируются модули с моей переменной lol
Вот тебе домашнее задание, в коде есть строка:
$tp[8]=implode(',', $tp[8]);
Откуда взялась переменная $tp ?

PS. Хорошо преподам. Задают элементарный вопрос, а у студента дым с ушей идет wink

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

kronon
1

57 | 52

kronon - 13 августа 2011 23:41 - Юзер

я не понял от куда она взялась recourse

Sander
1125

1637 | 1202

Sander - 14 августа 2011 01:53 - Эксперт

Гениально! Писать модуль и не знать, что откуда берется...
А вообще ты должен быть в состоянии объяснить вообще каждую строчку.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

ПафНутиЙ
1064

3393 | 2433

ПафНутиЙ - 14 августа 2011 08:26 - Админ

Это как раз тот случай, о котором я говорил. Не нужно никакой админки этому модулю. Объясню почему.
1. - Модуль сокращается до 1 небольшого файла.
2. - Не нужно вносить изменения в двиг - и следовательно можно спокойно его обновлять.
3. - В стопиццот раз снижается уровень гемороя при написании модуля.
P.S. Я конечно ни на что не претендую, но всёже - взгляни на этот модуль настроек гораздо больше, а админки нет, так же как и шаблона, потому что они не нужны.

Каков вопрос - таков и ответ. Просто помните об этом.

Sander
1125

1637 | 1202

Sander - 14 августа 2011 13:19 - Эксперт

Такой метод написания хорош только для мини-модов. Когда передается более 10 параметров, управления таким модулем проблематично, невозможно запомнить все параметры.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

kronon
1

57 | 52

kronon - 14 августа 2011 11:27 - Юзер

для начала я лучше php выучу )))))

я думал что у меня получиться разобраться, а оно вон как получается recourse

ПафНутиЙ
1064

3393 | 2433

ПафНутиЙ - 14 августа 2011 12:18 - Админ

Ничего страшного, главное - желание, а остальное - дело времени smile

Каков вопрос - таков и ответ. Просто помните об этом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы