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=['{}'.format(url_for('admin_app.virtualhost', server_id=row_id), I18n.lang('dbservermariadb', 'server_users', 'Server users'))] #arr_options=['{}'.format(url_for('admin_app.virtualhost', dbservermariadb_id=row_id), _('Websites'))] # #arr_options.append('{}'.format(url_for('admin_app.ports', dbservermariadb_id=row_id), I18n.lang('dbservermariadb', 'http_ports', 'HTTP Ports'))) arr_options.append('{}'.format("", _('Edit'))) arr_options.append('{}'.format("", _('Delete'))) return '
'.join(arr_options)