Чтение RSS каналов

Форум

Открыть Ответить

SLAED CMS 6.2 Pro - Проблемы и решения

71
12.07.2017 20:07:2112.07.2017 20:16:42
olevpa, да действительно. Большое спасибо!

Данной проблематики подвержен не только отдел дополнительных полей но и "Замена слов" и "RSS каналы". Тут дело в CSS классах скрытия...

Решение следующее

Открываем файлы: admin/modules/fields.php, admin/modules/replace.php, admin/modules/rss.php.

Заменяем участок:
$display = (empty($out[1]) && empty($out[1][$c]) != "0") ? " class=\"sl_none\"" : "";

На следующий:
$display = (empty($out[1]) && empty($out[1][$c]) != "0" && $c != "0") ? " class=\"sl_none\"" : "";


В новой версии системы данный недочёт будет исправлен.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.18

3.18
72
13.07.2017 00:56:41
спасибо
4.42

4.42
73
16.07.2017 16:36:40
При добавлении администратора
Когда ставлю галочку: отправлять сообщения, то форма закрывается
Наверное наоборот должно быть?
4.42

4.42
74
18.07.2017 10:37:48
модуль безопасность
вкладка блокирование
при использовании редактора TinyMCE данные не сохраняются
4.42

4.42
75
22.07.2017 22:19:59
Большое спасибо!
В ближайшее время всё проверю, о результатах сообщу.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.18

3.18
76
24.07.2017 16:01:2524.07.2017 16:12:51

olevpa, да действительно. Большое спасибо!

Данной проблематики подвержен не только отдел дополнительных полей но и "Замена слов" и "RSS каналы". Тут дело в CSS классах скрытия...

Решение следующее

Открываем файлы: admin/modules/fields.php, admin/modules/replace.php, admin/modules/rss.php.

Заменяем участок:

$display = (empty($out[1]) && empty($out[1][$c]) != "0") ? " class=\"sl_none\"" : "";

На следующий:
$display = (empty($out[1]) && empty($out[1][$c]) != "0" && $c != "0") ? " class=\"sl_none\"" : "";


В новой версии системы данный недочёт будет исправлен.



Видимо так "прекрасно" работает обработчик кода тут на форуме, похоже бездна поглотила некоторые ремируещие слеши
если скопировать как есть код вызывает ошибку:
Parse error: syntax error, unexpected 'sl_none' (T_STRING) in ......\htdocs\admin\modules\fields.php on line 50

class=\"sl_none\""
должен быть со слешами! Смайл - 01

Блин пипец при редактировании текста слеши есть, а визуально при чтении и копировании не отображаются.


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 7
Сервер: Сервер в интернете

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
2.71

2.71
77
24.07.2017 20:38:51
Да, действительно, при публикации текста системой производится скрытие обратных слэшей, связанно с безопасностью. Следует обратить на это внимание.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.18

3.18
78
25.07.2017 13:58:06

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


Эм.., ну окей (жаль нет того самого смайла), то есть из соображений "безопасности" он из кода не вырезается, и заливается в базу (если нажать редактирование то он как раз отображается на своем месте), а вот визуально его отобразить это "не безопасно?!"

не ковырял функцию, но там же банальный str_replace() и подобные строковые функции, в чем проблема не удалять его из визуального отображения а заменять на
\
???

Внимание анекдот ©: что точно изменят в новой версии SLAED ?
- форум станет еще уже Смайл - 06
2.71

2.71
79
25.07.2017 20:23:1425.07.2017 20:29:24
shadow, спасибо что обратили на это внимание.

Посмотрел более подробно функцию: bb_decode которая отвечает за обработку и преобразование выводимого текста. Причиной такому поведению является данный участок кода:

$sourse = str_replace(array(""", "'", "\"), array("\"", "'", "\\"), preg_replace($bb, $html, $sourse));


Появился он с версии SLAED CMS 5 Pro, в то время использовалась другая, отличающаяся о нынешней, конструкция преобразования PHP кода в тексте. Хоть убейте, но не помню причину его установки, не исключено что для корректного использования с функцией preg_replace_callback, возможно для удаления обратных слэшей созданных ранее функцией magic_quotes_gpc которая была удалена начиная с версии PHP 5.3. На стандартных проектах код как таковой и соответственно данные знаки используются весьма редко. Как бы там ни было, данная строка незаметно перекачивала до актуальной версии ;) На данный момент, искать детальную причину не позволяет время...

Соответственно с этим, рекомендую в файле: function/function.php
Заменить участок:
$sourse = str_replace(array(""", "'", "\"), array("\"", "'", "\\"), preg_replace($bb, $html, $sourse));

На данный:
$sourse = preg_replace($bb, $html, $sourse);


Данные поправки будут внесены в код ядра новой версии CMS.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.18

3.18
Открыть Ответить
скрытиянедочётnoneclassquotadminданныйdisplayфайлыбудетemptymodulesрешениеоткрываемследующее
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь