Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как реализовать чтобы пользователь в админке мог редактировать только определенные доп. поля?

Как реализовать чтобы пользователь в админке мог редактировать только определенные доп. поля?


     27.07.2018    Общие вопросы, Общие вопросы по PHP, Модули, Хаки, Ламерские вопросы    1584

вопрос
Привет. На DLE 12.1 нужно как-то сделать так, чтобы пользователи в админке могли видеть и редактировать только те доп поля, которые им разрешены. В DLE, в настройки доп полей уже есть пункт
"Разрешить добавление для следующих групп", если там выставить нужную группу и в эту группу занести пользователей, то они видят только разрешенные доп поля и текст полной новости / краткой новости, но если они отредактируют что-то и новость сохранят, то все доп. поля которые от них были скрыты станут пустыми и вся информация в них пропадет. Может у кого-то есть решение как сделать, чтобы скрытые доп поля не становились пустыми и текст полной/краткой новости был скрыт?

Ответил: PunPun


Открываем /engine/inc/xfields.php находим
case "init":
Ниже вставляем
$xf_perm = $db->super_query("SELECT xfields FROM " . PREFIX . "_post WHERE id='{$id}'");
$xf_perm = xfieldsdataload($xf_perm['xfields']);
$arrayXfGroup = [];
Чуть ниже найти
if( $value[19][0] AND !in_array( $member_id['user_group'], $value[19] ) ) {
	continue;
}
Заменить на
if( $value[19][0] AND !in_array( $member_id['user_group'], $value[19] ) ) {
	$arrayXfGroup[] = $value[0];
}
Далее найти
$postedxfields = $newpostedxfields;
Ниже вставить
foreach($arrayXfGroup as $xfPName) {
	if ($xf_perm[$xfPName]) {
		$postedxfields[$xfPName] = stripslashes($xf_perm[$xfPName]);
	}
}

17 комментариев

oxana
Юзер

oxana - 31 июля 2018 01:18 -

Присоединяюсь к вопросу. Проблема действительно есть.

m4sterweb
Юзер

m4sterweb - 31 июля 2018 07:46 -

Странно, что разработчики DLE об этом совсем не позаботились, ведь очевидно, что не всем работникам можно доверять редактировать всю новость.
Мне уже в лс предложили за 100$ это реализовать.

LazyDev
PHP-developer

LazyDev - 31 июля 2018 10:53 -

m4sterweb, 100$ за пару строчек кода? Сильно.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

m4sterweb
Юзер

m4sterweb - 31 июля 2018 12:03 -

Вова, давай я тебе 20 долларов дам за эти пару строчек кода.

LazyDev
PHP-developer

LazyDev - 31 июля 2018 12:11 -

m4sterweb, увы, я не принимаю заказы. Но цена как по мне в 100$ завышена. Каждый оценивает работу по разному и каждый ценит время по разному. Может не знаю всего ТЗ.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

m4sterweb
Юзер

m4sterweb - 31 июля 2018 12:13 -

PunPun, всё т.з выше). Ну да, я понимаю, что 100$ это много.
Жаль, что не принимаешь заказы.

dj-avtosh
PHP-developer

dj-avtosh - 31 июля 2018 13:02 -

сделаю за 25$ ;) если это только редактирования новости касается :))

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

m4sterweb
Юзер

m4sterweb - 31 июля 2018 13:03 -

В топике я указал что требуется, больше ничего не надо.

oxana
Юзер

oxana - 31 июля 2018 21:18 -

Обычно происходит так

Корреспондент создает новость заполняя доступные для него поля
Главный редактор проверяет, добавляет информацию в дополнительных полях доступных только главному редактору.
Спустя время, корреспондент решает дополнить новость текстом или исправить неточность. Пересохраняет новость и тем самым уничтожает всю информацию из дополнительных полей доступных только главному редактору.

Этот баг, полностью сводит на нет систему допуска к дополнительным полям.

LazyDev
PHP-developer

LazyDev - 1 августа 2018 11:59 -

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

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

dj-avtosh
PHP-developer

dj-avtosh - 1 августа 2018 14:35 -

А это не даст эффект того, что все таки если убрать display:none и изменить значение доп. поля, то оно все таки отработается на бэкенд и изменится?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

LazyDev
PHP-developer

LazyDev - 1 августа 2018 15:26 -

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

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

oxana
Юзер

oxana - 3 августа 2018 23:42 -

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

oxana
Юзер

oxana - 3 августа 2018 23:54 -

Хотя нет, все получилось ))
Правки которые закреплены ответом работают как надо.
Спасибо!

souz21
Юзер

souz21 - 5 августа 2018 11:36 -

Цитата: m4sterweb
Мне уже в лс предложили за 100$ это реализовать.

Случайно не 6rey ?

m4sterweb
Юзер

m4sterweb - 5 августа 2018 12:13 -

Да, он.

souz21
Юзер

souz21 - 5 августа 2018 12:32 -

Цитата: m4sterweb
Да, он.

Да, у него какие то ценники неадекватные )) Мне 300$ предложил за хак, который должен был выводить в краткой новости количество видео с актером . По сути это обращение к БД. Видимо посредник.

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

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

наверх