Вероятно баг? Не понятная фича
Alex300 |
|
---|---|
Сейчас пишу новый плагин:)
Заметил интересную вещь: В панели управления плагинами у некоторых установленных плагинов есть опция: "Удалить плагин с сохранением существующих настроек и прав доступа". У некоторых плагинов ее нет. Начал искать откуда оно бетерся, понял, что ее наличие зависит от переменных $isinstalled и $totalconfig из файла admin.plug.inc.php, а выводится она в файле скина admin.plug.inc.tpl такой конструкцией: <!-- IF {PHP.isinstalled} AND {PHP.totalconfig} --> <br /> <small><a href="{ADMIN_PLUG_UNINSTALL_KO_URL}"{ADMIN_PLUG_UNINSTALL_KO_URL_AJAX}>{PHP.L.adm_opt_uninstall_warn}</a></small> <!-- ENDIF --> Но вот странная вещь, при значениях: $isinstalled == 2; $totalconfig == 3; опция: "Удалить плагин с сохранением существующих настроек и прав доступа" не выводится. а при $isinstalled == 3; $totalconfig == 3; - выводится. Можно и дальше эксперементировать с $isinstalled и $totalconfig получая тот или иной результат... С нулевыми значениями все ясно, а вот разный эффект, когда оба значения > 0 - как-то странно. Это глюк? (Версия Cotonti 0.6.7) И еще, хотелось бы по точнее узнать, что конкретно происходит при использовании этой опции, зачем она нужна. Спасибо заранее ![]() Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
root |
|
---|---|
И еще, хотелось бы по точнее узнать, что конкретно происходит при использовании этой опции, зачем она нужна. Ну название говорит само за себя, когда вырубаешь плагин, все настройки которые ты в нем делал, и права которые на него ставил, сохранятся, и при новой установке сразу выставятся как и были раньше. Вещь реально полезная, хотелось бы, что бы все плагинмейкеры её использовали ![]() Горе админ :о)
|
Landgraft |
|
---|---|
И в продолжение темы.
Если вы при удалении плагина воспользовались ссылкой "удалить с сохранением настроек", и при последующей установке нажали "установить с использованием сохраненных настроек" - то количество настроек удваивается (если несколько раз удалять устанавливать - то и утраивается и т.д.): кроме сохраненных появляются еще и настройки по-умолчанию. Решение (для 0.6.10). В файле system/core/admin/admin.plug.inc.php находим 349 строку и в запросе $sqltmp = sed_sql_query("SELECT COUNT(*) FROM $db_config WHERE config_owner='plug' AND config_cat='$pl' AND config_name='".$line[0]."' ");исправляем $line[0] на $i, чтобы получилось $sqltmp = sed_sql_query("SELECT COUNT(*) FROM $db_config WHERE config_owner='plug' AND config_cat='$pl' AND config_name='".$i."' "); И заодно исправляем невнимательность в строке 420 (отвечает за права доступа): elseif(!$ko)редактируем до состояния elseif($ko)(убираем "!") |