Автор | Сообщение |
Amro | |
![]() |
В общем изложу свои предложения: 1. Думаю нужно полностью удалять все функции связанные с bbcode: sed_parse, sed_parse_cond, sed_bbcode, sed_bbcode_autourls и д.р. а также их использование. Таким образом переходить только на HTML без всякой поддержки BB. Ещё как вариант вынести их в отдельный плагин совместимости. Но не оставлять в ядре, т.к. со временем мусора накопится ого-го. 2. Для совместимости достаточно будет написать нормальный конвертер DB seditio 12x to 170 объединив в нём все апшрейды. Чтобы можно было к примеру перейти сразу даже со 110 версии на 170. Конвертер должен парсить BB и переводить в HTML. Туда же прикрутить возможность перекодировки базы из cp1251 -> utf8. 3. Необходимо проверить на совместимость все наиболее распространённые плагины и привести к рабочему виду. Что уже сделано: 0. Перевели все на русский ) естественно с возможностью смены на английский и на любой другой, былиб тока lang файло. 1. В инсталлятор добавлена возможность выбора языка установки 2. В плагинах по-мимо lang файлов (plugins/nameplugin/lang/nameplugin.ru.lang.php) плагина добавлена возможность перевода конфигов плагина на лету при установке (plugins/nameplugin/lang/nameplugin.ru.setup.lang.php). Пример: плагин contact с именами конфигов: emails, recipients, admincopy1 и т.д. тобишь: [BEGIN_SED_EXTPLUGIN_CONFIG] emails=1:text:::Emails, separated by commas recipients=2:text:::Names of the recipients, separated by commas, in the same order as the emails admincopy1=3:string:::Also send a copy to this email admincopy2=4:string:::Also send a copy to this email extra1=5:text:::Extra slot #1 / {PLUGIN_CONTACT_EXTRA1} in skins/.../plugin.standalone.contact.tpl extra2=6:text:::Extra slot #2 / {PLUGIN_CONTACT_EXTRA2} in skins/.../plugin.standalone.contact.tpl extra3=7:text:::Extra slot #3 / {PLUGIN_CONTACT_EXTRA2} in skins/.../plugin.standalone.contact.tpl [END_SED_EXTPLUGIN_CONFIG] чтобы в sed_config описания параметров записывались на родном языке достаточно создать файл: plugins/contact/lang/contact.ru.setup.lang.php со следующим содержимым: $L['setup_cfg_emails'] = "Список email адресов, разделенных через запятую"; $L['setup_cfg_recipients'] = "Имена получателей, разделенные через запятые, в порядке списка email"; $L['setup_cfg_admincopy1'] = "Отсылать копию сообщения на email"; $L['setup_cfg_admincopy2'] = "Отсылать копию сообщения на email"; 3. Все функции касаемые bbcode пока вынесены в functions.deprecated.php а вызовы в файлах закоментированы. 4. Модифицированы функции sed_cc, sed_selectbox 5. Добавлен файл database.mysqli.php с функциями MySQLi коннектора. При исталляции пользователь сможет выбрать тип драйвера mysql или mysqli
Forever unshaven, red-eyed, detached from reality, with his cockroaches in my head. And let it always will be! |
Amro | |
![]() |
6. Решаем проблему с more, пока придумано вот такое: function sed_checkmore($text, $more = false) { if ($more == true) { return str_replace('<hr id="readmore">' ,'<!-- readmore -->', $text); } else { return str_replace('<!-- readmore -->' ,'<hr id="readmore">', $text); } }
Т.е. при инсерте и апдейте заменяем '<hr id="readmore">' to '<!-- readmore -->' В CKeditor добавили кнопочку с тремя точками ) которая вставяет в нужном месте '<hr id="readmore">' Forever unshaven, red-eyed, detached from reality, with his cockroaches in my head. And let it always will be! |
Amro | |
![]() |
7. в functions.php в функцию sed_import добавлен новый хук import.tags case 'HTM': $v = trim($v); /* == Hook for the plugins html filter == */ $extp = sed_getextplugins('import.tags'); if (is_array($extp)) { foreach($extp as $k => $pl) { include('plugins/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } } /* ===== */
При помощи него будут подключаться плагины HTML фильтрации
В настоящее время ведётся работа над плагином Jevix, точнее над удобством добаления разрешающих тегов и их отрибутов. 8. Для вставки из popup окна миниатюр, изображений в CKeditor, в pfs.inc.php добавлены 2 хука stndl.icons и pfs.stndl Forever unshaven, red-eyed, detached from reality, with his cockroaches in my head. And let it always will be! |
Amro | |
![]() |
Немного модифицировал sed_checkmore function sed_checkmore($text, $more = false) { if ($more == true) { return preg_replace('/(\<hr id="readmore"(.*?)?\>)/' ,'<!--readmore-->', $text); } else { return preg_replace('/(\<!--readmore--\>)/' ,'<hr id="readmore" />', $text); } } Forever unshaven, red-eyed, detached from reality, with his cockroaches in my head. And let it always will be! |
Antony | |
![]() |
Welcome to mother Russia: Putin, medvedi, matrioshka, balalayka, okhuenno! |
Amro | |
![]() |
1. В MySQL таблицах удалены колонки page_text_ishtml, pm_text_ishtml, user_text_ishtml, com_text_ishtml и их использование в коде. 2. Модифицирован файл database.mysqli.php 3. В нескольких файлах system/core/admin/admin.*.inc.php в нужных местах сделаны вставки sed_xg() и sed_check_xg() для защиты процесса установки/удаления плагинов, защиты сброса конфигов (Фикс уязвимости http://packetstormsecurity.org/files/111814/Seditio-170-Cross-Site-Request-Forgery-SQL-Injection.html) 4. В файле plugins/search/search.php явное использование функции mysql_num_rows() заменено на sed_sql_numrows() 5. Протестировали Jevix, теперь он устанавливается по-умолчанию. Forever unshaven, red-eyed, detached from reality, with his cockroaches in my head. And let it always will be! |