phpserver/dashboard.py
Antonio de la Rosa 4bfd948989 Added files
2025-05-17 18:42:02 +02:00

85 lines
3.3 KiB
Python

from modules.phpserver import php_app
from settings import config
from flask import g, url_for, request, session, make_response
from paramecio2.libraries.generate_admin_class import GenerateAdminClass
from paramecio2.libraries.lists import SimpleList
from paramecio2.libraries.i18n import I18n, PGetText
from paramecio2.modules.admin import admin_app, t as admin_t
from paramecio2.libraries.db.webmodel import WebModel
from paramecio2.libraries.lists import AjaxList
from modules.pastafari2.models.pastafari2 import ServerGroup, ServerDbTask, UpdateServerScripts
from modules.pastafari2.models.tasks import Task as SSHTask
from modules.mariadb.models.mariadb import DbServerMariaDb
from paramecio2.libraries.mtemplates import PTemplate, env_theme
from paramecio2.libraries.formsutils import show_form
from paramecio2.libraries.db.coreforms import HiddenForm, SelectForm, TextForm
from paramecio2.libraries.slugify import slugify
from modules.pastafari2.libraries.configtask import config_task
from modules.pastafari2.libraries.progress import load_progress
from modules.pastafari2.models.tasks import Task as SSHTask
from modules.pastafari2.libraries.configtask import config_task
import os
try:
import ujson as json
except:
import json
pgettext=PGetText(__file__+'/../')
_=pgettext.gettext
env=env_theme(__file__)
t=PTemplate(env)
t.env.directories=admin_t.env.directories
t.env.directories.insert(1, os.path.dirname(__file__).replace('/admin', '')+'/templates/admin')
t.env.directories.insert(2, '../pastafari2/templates/admin')
@php_app.route('/pastafari2/php/servers')
def php_dashboard():
return t.load_template('phpservers.phtml', title=_('PHP Servers'), path_module='php_app.php_dashboard')
@php_app.route('/get_phpservers', methods=['POST'])
def get_phpservers():
db=g.connection
group_sql=''
count_data=[]
sql_data=[]
fields=[[_('Version'), True], [_('Hostname'), True], ['IP', True], [_('Options'), False]]
arr_order_fields=['version', 'hostname', 'ip']
count_query=['select count(phpserver.id) as num_elements from phpserver', count_data]
str_query=['select phpserver.version, serverdbtask.hostname, serverdbtask.ip, phpserver.id as id from serverdbtask, phpserver WHERE serverdbtask.id=phpserver.server_id', sql_data]
ajax=AjaxList(db, fields, arr_order_fields, count_query, str_query)
#ajax.func_fields['id']=options_server
#ajax.func_fields['ip']=options_ip
#ajax.func_fields['select_id']=options_selected
ajax.func_fields['id']=options_options
ajax.limit=0
return ajax.show()
def options_options(row_id, row):
arr_options=[]
#arr_options=['<a href="{}">{}</a>'.format(url_for('admin_app.virtualhost', server_id=row_id), I18n.lang('dbservermariadb', 'server_users', 'Server users'))]
#arr_options=['<a href="{}">{}</a>'.format(url_for('admin_app.virtualhost', dbservermariadb_id=row_id), _('Websites'))]
#
#arr_options.append('<a href="{}">{}</a>'.format(url_for('admin_app.ports', dbservermariadb_id=row_id), I18n.lang('dbservermariadb', 'http_ports', 'HTTP Ports')))
arr_options.append('<a href="{}">{}</a>'.format("", _('Edit')))
arr_options.append('<a href="{}">{}</a>'.format("", _('Delete')))
return '<br />'.join(arr_options)