From 6e320051297ed460b48910ae2be36d8c2717a98d Mon Sep 17 00:00:00 2001 From: Alexey Berezhok Date: Mon, 20 Jul 2026 01:00:35 +0300 Subject: [PATCH] Fixes --- README.ru.md | 14 +++- img/isp_mod_rewrite1.png | Bin 0 -> 37026 bytes img/isp_mod_rewrite2.png | Bin 0 -> 28931 bytes .../mgr5/addon/nginx_mod_rewrite_plugin.py | 70 ++++++++++++++---- .../ispmgr_mod_nginx_mod_rewrite_plugin.xml | 20 ++--- 5 files changed, 80 insertions(+), 24 deletions(-) create mode 100644 img/isp_mod_rewrite1.png create mode 100644 img/isp_mod_rewrite2.png diff --git a/README.ru.md b/README.ru.md index 498e30c..ad9fc14 100644 --- a/README.ru.md +++ b/README.ru.md @@ -72,4 +72,16 @@ sudo dnf install _packages/ispmanager-plugin-nginx_mod_rewrite_plugin-0.0.1-1.el Если вдруг установка провалилась, лог установки можно изучить здесь - `/usr/local/mgr5/var/nginx-mod-rewrite-plugin.log` -Если все прошло успешно, то необходимо перейти +Если все прошло успешно, то необходимо перейти в раздел "Модули": + +![Модули](img/isp_mod_rewrite1.png) + +Найти модуль с названием "Модуль nginx mod_rewrite" и нажать на значек настройки модуля. На изображении выше обведены синим контуром. + +Далее откроется окно сборки модуля: + +![Сборка](img/isp_mod_rewrite2.png) + +Для отмены сборки, нажмите кнопку "Отменить сборку". Для сборки и установки хука пересборки при обновлении nginx необходимо нажать "Собать модуль и установить хук на пересборку". + +Процесс сборки можно будет изучить в логе: `/usr/local/mgr5/var/nginx-mod-rewrite-plugin.log. diff --git a/img/isp_mod_rewrite1.png b/img/isp_mod_rewrite1.png new file mode 100644 index 0000000000000000000000000000000000000000..dd00d71add25d96db22f3580de8e86688aff16d9 GIT binary patch literal 37026 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 BQse*t literal 0 HcmV?d00001 diff --git a/usr/local/mgr5/addon/nginx_mod_rewrite_plugin.py b/usr/local/mgr5/addon/nginx_mod_rewrite_plugin.py index 5fedbb5..d920782 100755 --- a/usr/local/mgr5/addon/nginx_mod_rewrite_plugin.py +++ b/usr/local/mgr5/addon/nginx_mod_rewrite_plugin.py @@ -68,22 +68,42 @@ def Handle(root): result = True result_error = CheckModuleExists() if result_error is None: + for parent in root.iter(): + for child in list(parent): + if child.tag == 'textdata' and child.get('name') == 'nginx_mod_rewrite_plugin_msg_info': + parent.remove(child) result_error = InstallModule() - result = result_error is None + result = result_error is None - if not result: - # Формирование сообщения об ошибке согласно структуре в metadata - error = etree.SubElement(root, "error") - error.set('code', '1') - error.set('type', 'nginx_mod_rewrite_plugin') - error.set('object', 'wrong_value') - param = etree.SubElement(error, 'param') - param.text = 'wrong_value' - param.set('name', 'object') - param.set('type', 'msg') - param = etree.SubElement(error, 'param') - param.set('name', 'value') - param.text = result_error + if not result: + # Формирование сообщения об ошибке согласно структуре в metadata + error = etree.SubElement(root, "error") + error.set('code', '1') + error.set('type', 'nginx_mod_rewrite_plugin') + error.set('object', 'wrong_value') + param = etree.SubElement(error, 'param') + param.text = 'wrong_value' + param.set('name', 'object') + param.set('type', 'msg') + param = etree.SubElement(error, 'param') + param.set('name', 'value') + param.text = result_error + else: + # Add element to root + etree.SubElement(root, 'ok') + else: + # Remove textdata element with name="nginx_mod_rewrite_plugin_msg" + for parent in root.iter(): + for child in list(parent): + if child.tag == 'textdata' and child.get('name') == 'nginx_mod_rewrite_plugin_msg': + parent.remove(child) + # Find the messages element with name "nginx_mod_rewrite_plugin.settings" + messages_elem = root.find(".//messages[@name='nginx_mod_rewrite_plugin.settings']") + if messages_elem is not None: + # Find the msg element with name "msg_create" and change its text + msg_create_elem = messages_elem.find(".//msg[@name='msg_create']") + if msg_create_elem is not None: + msg_create_elem.text = 'Ничего не делать' if __name__ == "__main__": @@ -100,6 +120,28 @@ if __name__ == "__main__": if correct_function: if os.getenv("PARAM_clicked_button") == "ok": Handle(root) + else: + result_error = CheckModuleExists() + if result_error is None: + for parent in root.iter(): + for child in list(parent): + if child.tag == 'textdata' and child.get('name') == 'nginx_mod_rewrite_plugin_msg_info': + parent.remove(child) + else: + # Remove textdata element with name="nginx_mod_rewrite_plugin_msg" + for parent in root.iter(): + for child in list(parent): + if child.tag == 'textdata' and child.get('name') == 'nginx_mod_rewrite_plugin_msg': + parent.remove(child) + + # Find the messages element with name "nginx_mod_rewrite_plugin.settings" + messages_elem = root.find(".//messages[@name='nginx_mod_rewrite_plugin.settings']") + if messages_elem is not None: + # Find the msg element with name "msg_create" and change its text + msg_create_elem = messages_elem.find(".//msg[@name='msg_create']") + if msg_create_elem is not None: + msg_create_elem.text = 'Ничего не делать' + etree.dump(root) quit(0) diff --git a/usr/local/mgr5/etc/xml/ispmgr_mod_nginx_mod_rewrite_plugin.xml b/usr/local/mgr5/etc/xml/ispmgr_mod_nginx_mod_rewrite_plugin.xml index 569ac11..ea9180b 100644 --- a/usr/local/mgr5/etc/xml/ispmgr_mod_nginx_mod_rewrite_plugin.xml +++ b/usr/local/mgr5/etc/xml/ispmgr_mod_nginx_mod_rewrite_plugin.xml @@ -9,15 +9,16 @@ -
- - - -
- -