Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Хаки » Как запретить bb коды в добавлении новости для определённой группы?

Как запретить bb коды в добавлении новости для определённой группы?


     Все вопросы » Хаки    496

вопрос
Как запретить bb коды в добавлении новости для определённой группы?

не только панель с кнопками а мне нужно чтоб сами коды не работали


[b][/b]
[i][/i]
[img][/img]


и так далее

Ответа пока нет


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

ТeraМoune
Юзер

ТeraМoune - -

до $parse->BB_Parse произвести удаление тегов в $_POST['full_story'] и $_POST['short_story']

REDFLAME
Юзер

REDFLAME - -

Как запретить bb коды в добавлении новости для определённой группы

REDFLAME
Юзер

REDFLAME - -

и где искать эти строки в каких файлов

ТeraМoune
Юзер

ТeraМoune - -

в файлах отвечающие за добавление новости в базу
искать файлы в папках engine/modules/ и engine/inc/ последнее для админов

имена файлов более чем понятны даже для человека не знающего английский, сопоставьте названия файлов по смыслу и найдите нужный или произведите поиск по среди файлов с содержанием например данной строчки $_POST['full_story']

REDFLAME
Юзер

REDFLAME - -

if ( !$user_group[$member_id['user_group']]['allow_html'] ) {

		$_POST['short_story'] = strip_tags ($_POST['short_story']);
		$_POST['full_story'] = strip_tags ($_POST['full_story']);

	}

ТeraМoune
Юзер

ТeraМoune - -

Отлично что-то нашли, но это вырезает абсолютно все теги для группы у которой запрещено использование html тегов. У strip_tags есть второй параметр в котором можно перечислить теги которые можно пропустить.

Примечание

Так как strip_tags() не проверяет корректность HTML кода, незавершенные тэги могу привести к удалению текста, не входящего в тэги.


P.S. примерно вот такими условиями сверяйте группу удалив ['allow_html'] оставив лишь либо $user_group[$member_id['user_group']] либо $member_id['user_group'] (Второе проще ведь условия будут выглядеть проще и сравниваться по ID группы, а не по названию её)

В условии вместо strip_tags еще раньше чем представленный кусок кода сделать удаление при помощи функции str_replace или её аналогах. Если надо просто удалить тег не трогая текст между ними то str_replace подойдёт.

$_POST['short_story'] = str_ireplace("[b]", "", $_POST['short_story']);
$_POST['short_story'] = str_ireplace("[/b]", "", $_POST['short_story']);

REDFLAME
Юзер

REDFLAME - -

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

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

наверх