This commit is contained in:
Alexey Berezhok
2026-07-01 23:00:40 +03:00
parent e9628b8128
commit bcd2ca49e1
5 changed files with 140 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
#!/usr/bin/env python3
import os
import xml.etree.ElementTree as etree
from sys import stdin
def CheckModuleExists():
module_path = '/usr/share/nginx/modules/ngx_http_apache_rewrite_module.conf'
if os.path.isfile(module_path):
return 'mod_rewrite already installed'
return None
def InstallModule():
#Todo func
return None
# Обработка нажатия на кнопку "Сохранить"
def Handle(root):
result = True
result_error = CheckModuleExists()
if result_error is None:
result_error = InstallModule()
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 __name__ == "__main__":
func = os.getenv("PARAM_func")
correct_function = False
if func == "nginx_mod_rewrite_plugin.settings":
correct_function = True
elif func == "plugin.settings":
if os.getenv("PARAM_plugin_settings") == "nginx_mod_rewrite_plugin":
correct_function = True
root = etree.parse(stdin).getroot()
if correct_function:
if os.getenv("PARAM_clicked_button") == "ok":
Handle(root)
etree.dump(root)
quit(0)

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<mgrdata>
<plugin name="nginx_mod_rewrite_plugin">
<dist>1</dist>
<free />
<settings>nginx_mod_rewrite_plugin.settings</settings>
<msg name="desc_short" lang="ru">Модуль nginx mod_rewrite</msg>
<msg
name="desc_full"
lang="ru"
>Модуль добавления поддержки mod_rewrite правил и .htaccess в nginx&lt;br/&gt;&lt;a href="https://github.com/bayrepo/ngx_http_apache_rewrite_module" target="_blank"&gt;Документация по настройкам модуля&lt;/a&gt;</msg>
</plugin>
</mgrdata>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" ?>
<mgrdata>
<plugin name="nginx_mod_rewrite_plugin">
<dist>1</dist>
<settings>nginx_mod_rewrite_plugin.settings</settings>
<free />
</plugin>
<handler name="nginx_mod_rewrite_plugin.py" type="xml">
<func name="nginx_mod_rewrite_plugin.settings" />
</handler>
<metadata name="nginx_mod_rewrite_plugin.settings" type="form" mgr="ispmgr">
<form>
<field name="nginx_mod_rewrite_plugin_field" noname="yes" fullwidth="yes">
<textdata name="nginx_mod_rewrite_plugin_msg" type="msg" />
</field>
</form>
<buttons>
<button name="ok" type="ok" />
<button name="cancel" type="cancel" />
</buttons>
</metadata>
<lang name="ru">
<messages name="nginx_mod_rewrite_plugin.settings">
<msg name="title">Установка модуля для nginx</msg>
<msg name="nginx_mod_rewrite_plugin_msg">Данный плагин установит ряд пакетов для сборки модуля nginx</msg>
<msg name="msg_create">Собрать модуль и установить хук на пересборку</msg>
<msg name="msg_back">&lt;&lt; Отменить сборку</msg>
</messages>
<messages name="mgrerror_nginx_mod_rewrite_plugin">
<msg name="msg_error_nginx_mod_rewrite_plugin">Ошибка модуля: __object__</msg>
<msg name="wrong_value">__value__</msg>
</messages>
</lang>
</mgrdata>