diff --git a/plugins/gogs/conf/app.ini b/plugins/gogs/conf/app.ini index 08ab311a3..aca4f019f 100644 --- a/plugins/gogs/conf/app.ini +++ b/plugins/gogs/conf/app.ini @@ -13,18 +13,28 @@ PATH = data/gogs.db [repository] ROOT = {$ROOT_PATH}/gogs-repositories +FORCE_PRIVATE = false [server] DOMAIN = 127.0.0.1 HTTP_PORT = 3000 ROOT_URL = http://127.0.0.1:3000/ DISABLE_SSH = false -SSH_PORT = 222 +SSH_PORT = 2000 START_SSH_SERVER = false OFFLINE_MODE = false +LANDING_PAGE = home [mailer] -ENABLED = false +ENABLED = true +SUBJECT_PREFIX = GOGS +HOST = smtp.163.com:25 +DISABLE_HELO = +HELO_HOSTNAME = +FROM = +USER = midoks@163.com +PASSWD = *** +USE_PLAIN_TEXT = true [service] REGISTER_EMAIL_CONFIRM = false @@ -49,3 +59,9 @@ ROOT_PATH = {$SERVER_PATH}/gogs/log INSTALL_LOCK = true SECRET_KEY = jmGSJXDBH5Ng4wt + +[other] +SHOW_FOOTER_BRANDING = false +SHOW_FOOTER_VERSION = false +SHOW_FOOTER_TEMPLATE_LOAD_TIME = false + diff --git a/plugins/gogs/index.py b/plugins/gogs/index.py index a094ed552..1a479e804 100755 --- a/plugins/gogs/index.py +++ b/plugins/gogs/index.py @@ -204,13 +204,28 @@ def runLog(): def getGogsConf(): gets = [ - {'name': 'HOST', 'type': -1, 'ps': '主机地址'}, - {'name': 'NAME', 'type': -1, 'ps': '数据库名称'}, - {'name': 'USER', 'type': -1, 'ps': '数据库用户名'}, + {'name': 'DOMAIN', 'type': -1, 'ps': '服务器域名'}, + {'name': 'ROOT_URL', 'type': -1, 'ps': '公开的完整URL路径'}, + {'name': 'HTTP_ADDR', 'type': -1, 'ps': '应用HTTP监听地址'}, + {'name': 'HTTP_PORT', 'type': -1, 'ps': '应用 HTTP 监听端口号'}, + + {'name': 'START_SSH_SERVER', 'type': 2, 'ps': '启动内置SSH服务器'}, + {'name': 'SSH_PORT', 'type': -1, 'ps': 'SSH 端口号'}, + {'name': 'REQUIRE_SIGNIN_VIEW', 'type': 2, 'ps': '强制登录浏览'}, + {'name': 'ENABLE_CAPTCHA', 'type': 2, 'ps': '启用验证码服务'}, + {'name': 'DISABLE_REGISTRATION', 'type': 2, 'ps': '禁止注册,只能由管理员创建帐号'}, + {'name': 'ENABLE_NOTIFY_MAIL', 'type': 2, 'ps': '是否开启邮件通知'}, + + {'name': 'FORCE_PRIVATE', 'type': 2, 'ps': '强制要求所有新建的仓库都是私有'}, + + {'name': 'SHOW_FOOTER_BRANDING', 'type': 2, 'ps': 'Gogs推广信息'}, + {'name': 'SHOW_FOOTER_VERSION', 'type': 2, 'ps': 'Gogs版本信息'}, + {'name': 'SHOW_FOOTER_TEMPLATE_LOAD_TIME', 'type': 2, 'ps': 'Gogs模板加载时间'}, ] conf = public.readFile(getConf()) result = [] + for g in gets: rep = g['name'] + '\s*=\s*(.*)' tmp = re.search(rep, conf) @@ -222,17 +237,22 @@ def getGogsConf(): def submitGogsConf(): - gets = ['REQUIRE_SIGNIN_VIEW'] + gets = ['DOMAIN', 'ROOT_URL', 'HTTP_ADDR', + 'HTTP_PORT', 'START_SSH_SERVER', 'SSH_PORT', + 'REQUIRE_SIGNIN_VIEW', 'FORCE_PRIVATE', + 'ENABLE_CAPTCHA', 'DISABLE_REGISTRATION', 'ENABLE_NOTIFY_MAIL', + 'SHOW_FOOTER_BRANDING', 'SHOW_FOOTER_VERSION', + 'SHOW_FOOTER_TEMPLATE_LOAD_TIME'] args = getArgs() - # print args filename = getConf() conf = public.readFile(filename) for g in gets: if g in args: rep = g + '\s*=\s*(.*)' - val = g + ' = ' + args[g] + '\n' + val = g + ' = ' + args[g] conf = re.sub(rep, val, conf) public.writeFile(filename, conf) + reload() return public.returnJson(True, '设置成功') if __name__ == "__main__": diff --git a/plugins/gogs/js/gogs.js b/plugins/gogs/js/gogs.js index 65d52bd21..7396ff38c 100755 --- a/plugins/gogs/js/gogs.js +++ b/plugins/gogs/js/gogs.js @@ -87,12 +87,26 @@ function gogsSetConfig(){ //提交PHP配置 function submitGogsConf() { var data = { + DOMAIN: $("select[name='DOMAIN']").val(), + ROOT_URL: $("select[name='ROOT_URL']").val(), + HTTP_ADDR: $("select[name='HTTP_ADDR']").val(), + HTTP_PORT: $("select[name='HTTP_PORT']").val(), + START_SSH_SERVER: $("select[name='START_SSH_SERVER']").val() || 'false', + SSH_PORT: $("select[name='SSH_PORT']").val(), + ROOT_URL: $("select[name='ROOT_URL']").val(), REQUIRE_SIGNIN_VIEW: $("select[name='REQUIRE_SIGNIN_VIEW']").val() || 'false', + ENABLE_CAPTCHA: $("select[name='ENABLE_CAPTCHA']").val() || 'true', + DISABLE_REGISTRATION: $("select[name='DISABLE_REGISTRATION']").val() || 'false', + ENABLE_NOTIFY_MAIL: $("select[name='ENABLE_NOTIFY_MAIL']").val() || 'false', + FORCE_PRIVATE: $("select[name='FORCE_PRIVATE']").val() || 'false', + SHOW_FOOTER_BRANDING: $("select[name='SHOW_FOOTER_BRANDING']").val() || 'false', + SHOW_FOOTER_VERSION: $("select[name='SHOW_FOOTER_VERSION']").val() || 'false', + SHOW_FOOTER_TEMPLATE_LOAD_TIME: $("select[name='SHOW_FOOTER_TEMPLATE_LOAD_TIME']").val() || 'false', }; gogsPost('submit_gogs_conf', data, function(ret_data){ var rdata = $.parseJSON(ret_data.data); - console.log(rdata); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); + gogsSetConfig(); }); } \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 5326ae4d6..c6b46b9c8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,5 @@ gunicorn psutil pillow chardet -MySQL-python \ No newline at end of file +MySQL-python +ConfigParser \ No newline at end of file