CMS DataLife Engine - Система управления сайтами

proba

Интересная логика кода

Рекомендуемые сообщения

Ну все правильно. Вы не забывайте, что настройка config['allow_comments_wysiwyg'] указывает какой редактор используется, и когда используется визуальный редактор, вы вставляете свою строчку не в исходный код, а в визуальную часть, соответственно при использовании визуальный редакторов, на сервер уже поступает визуальная часть, т.е. просто в виде строки, а не в виде кода, а чтобы на странице эта строка была обычной строкой, а не воспринималось как HTML код, эти теги браузером при визуальном редактировании переводятся в HTML сущности. А в простом редакторе нет такого понятия как визуальная часть, там текстовое поле, соответственно браузер на сервер шлет в том виде в котором в ставили в textarea, а в визуальный редакторах вы код не в textarea ставите, он работает совершенно по другому. 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В файле parse.class.php для переменных find и replace есть регулярка и замена для onmouseenter, соответственно. Во всех остальных упоминаниях этих переменных отсутствует onmouseenter. Так и должно быть? Зато, в тех остальных упоминаниях, в массиве переменной find имеются дубликаты регулярок javascript.

 

По предыдущему "вопросу". В файле parse.class.php фун-ия filterTags() не работает (не обрезает теги). Это недоработка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Диплом по СMS сдаёшь или мания?:)

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К багам не относится, но ...

В файлах xfields.php и userfields.php добавление доп. полей осуществляется через xfieldssubactionadd, являясь каким-то аппендиксом от xfieldssubaction. С чем связана такая реализация? Ведь можно реализовать через одну xfieldssubaction не создавая её "дубликат".

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По предыдущему "вопросу". В файле parse.class.php фун-ия filterTags() не работает (не обрезает теги). Это недоработка?

Нет никакой недоработки или багов в данном вопросе. Эта функция обрабатывает исполняемый HTML код, а он в вашем предыдущем вопросе перестает быть таковым, т.к. экранируется в HTML сущности, т.е. в обычный текст. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В xfields.php удаляется editedxfield["2_custom"], но где оно вносится / присваивается - нет. При этом, для добавления / редактирования доп. поля формируется скрипт с фун-ей onCategoryChange() которая не нужна, т.к. не задействована.

В куске

if( ! $user_group[$member_id['user_group']]['admin_xfields'] ) {
	msg( "error", $lang['index_denied'], $lang['index_denied'] );
	die();
}

не нужна die(), в msg() уже имеется.

 

В userfields.php описание поля обрабатывается так:

$editedxfield[1] = htmlspecialchars(trim($editedxfield[1]), ENT_QUOTES, $config['charset']);

в xfields.php обработки нет.

 

Хотелось бы ещё узнать ответ на "простой" вопрос: die() является псевдонимом exit() и выполняют в принципе одно и тоже. Но используются почему-то, то одна, то другая. Например, в xfields.php при сохранении данных доп. полей в файл используется die(), в userfields.php в том же случае используется exit(). Покопавшись в сети, выяснил, что в xfields.php 9.7 применялась exit(), но в 9.8 её заменили на die(). Так же, встретилось упоминание, о том, что комбинация header + exit криво работают в IE и советуют применять header + die. Но такого на IE не замечал. С чем всё-таки связано использование то die, то exit? Если есть разница, то в чём конкретно?:huh:

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С чем всё-таки связано использование то die, то exit? Если есть разница, то в чём конкретно?

С временем это связано. Некоторому коду DLE уже 10 лет. Когда то писалось одним стилем, потом другим. При этом переписывать код ради кода нет никакого смысла. И это пустая трата времени в данном случае. Разницы в этих функциях нет никакой. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во многих файлах встречаются строки подобные таким:

$_COOKIE['dle_skin'] = trim( totranslit($_COOKIE['dle_skin'], false, false) );
$skin = trim( totranslit($_REQUEST['skin'], false, false) );
$rss_tag = totranslit( strip_tags( trim( $_POST['rss_tag'] ) ) );
$editedxfield[0] = totranslit(trim($editedxfield[0]));

но trim() применяется в totranslit() и выходит, что применение trim() в подобных строках лишне.

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В /inc/editusers.php строка

<td class="news-list-tab" tyle="width: 40px"><i class="icon-comment-alt tip" data-original-title="{$lang['edit_com']}"></i></td>

атрибут style был обрезан после добавления атрибута class.

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

принципиально это или нет,

в файле init.php кодировка ('charset') в config переводится в нижний регистр, но при подключении website.lng такое преобразование отсутствует.

 

в engine/editor/shortsite.php имеется строка:

content_css : "{$config['http_home_url']}engine/editor/css/content.css",

здесь замена на root случаем не нужна?!

ниже в этом же файле ещё 2 строки

image : '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/skins/dle_upload.gif',
url: '{$config['http_home_url']}engine/editor/jscripts/tiny_mce/plugins/emoticons/emotions.php',

 

Изменено пользователем proba
добавление
  • Поддерживаю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, proba сказал:

в файле init.php кодировка ('charset') в config переводится в нижний регистр, но при подключении website.lng такое преобразование отсутствует.

Этого и не нужно, там кодировка должна быть пописана именно в нижнем регистре, ее вообще нужно всегда писать в нижнем регистре, поэтому принудительный привод, это лишь если пользователь в настройках в админпанели напишет неправильно.

 

7 часов назад, proba сказал:

здесь замена на root случаем не нужна?!

Нет. В данном вопросе все так, как и должно быть.

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В окошках смайлов WYSIWYG редакторов смайлы отображаются в левой части. Если в 2-х файлах emotions.php в теге table указать атрибут width=100%, как в bbcode.php, смайлы смотрятся симпатичнее. И может так же добавить переменную count_smilies и учитывать ее при формировании таблицы?!

 

При включенном BB-редакторе, если заглянуть в исходный код страницы, например при добавлении новости, то объявленных переменных в script будет и от краткой, и от подробной части, а если ещё и в доп. полях используется редактор, то и от них тоже. Хотя достаточно одного раза.

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в ajax/editnews.php есть строка:

<textarea name="dleeditnews{$id}" id="dleeditnews{$id}" {$params} class="quick-edit-textarea">{$news_txt}</textarea>

если config['allow_quick_wysiwyg'] > 0, то params = "class=\"wysiwygeditor\"". Такое же для "полной новости" и доп. полей.

Планировалось объединение классов?

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В inserttag.php есть две функции, DLEimagePrompt() и DLEurlPrompt(), с виду однозначные, но в одной имеется проверка на наличие http, https, ftp, в другой - нет.

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 минуту назад, proba сказал:

В inserttag.php есть две функции, DLEimagePrompt() и DLEurlPrompt(), с виду однозначные, но в одной имеется проверка на наличие http, https, ftp, в другой - нет.

Они и разные по своему назначению. Так и должно быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата

Так и должно быть.

Просто заметил, что со стороны сайта в обоих фун-иях имеется проверка, а со стороны админки - только в одной.

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В файле inc/editnews.php имеются два одинаковых запроса на удаление записи из таблицы _post_log. (стр. 1737 и 1740).

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, proba сказал:

В файле inc/editnews.php имеются два одинаковых запроса на удаление записи из таблицы _post_log. (стр. 1737 и 1740).

Принято

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В файле /inc/categories.php в самом низу, в функции DisplayCategories() строка:

$category_name = $cat[$id];

не используется.

  • Поддерживаю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ниже написанное - не баг, но лёгкое недоразумение...

Попробуйте создать пользователя с логином, например, таким 1234%%%%55.

Во время регистрации, указав в качестве логина и проверив его, можно увидеть сообщение о возможности использовать данный логин. Сама регистрация проходит успешно и пользователь будет авторизован. Вот только войти в профиль он не сможет. В адресной строке будет красоваться как 1234%25%25%25%2555, а в спидбаре - 1234%%%U.

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Файл /modules/static.php содержит две строки (286 и 333):

if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue;

Файл /inc/cmoderation.php содержит две строки (156 и 172) с двойными знаками вопроса:

$body = str_replace( "{%unsubscribe%}", $slink . "index.php??subaction=userinfo&user=" . urlencode ( $news_author_subscribe['name'] ), $body );

 

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@celsoft не совсем баг, но при добавлении статической страницы на кнопке пишет не Добавить а Сохранить, что малость не разумно, так как  мы только добавляем ее.

U-27W0KSQGOPrKjdsBZHXw.png

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 04.10.2017 в 15:11, Gameer сказал:

не Добавить а Сохранить, что малость не разумно

Это уже бабка надвое сказала. На кнопке можно написать и "Создать". Создашь, а как же тогда сохранить? Или сохранишь, а как же тогда создать? Ну а если добавить, тогда вообще дело труба - как же тогда создать и сохранить? Мда, надо думать :) 

  • Нравится 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти