From 90deb1751762b58b6222b0df22a5fcf642a0e887 Mon Sep 17 00:00:00 2001 From: thom Date: Tue, 28 Jul 2020 10:54:40 +0200 Subject: [PATCH 1/9] Purge APS (#5676) --- .../web/sites/aps_availablepackages_list.php | 56 ----- .../web/sites/aps_cron_apscrawler_if.php | 63 ----- interface/web/sites/aps_do_operation.php | 90 -------- interface/web/sites/aps_install_package.php | 216 ------------------ .../web/sites/aps_installedpackages_list.php | 144 ------------ .../web/sites/aps_meta_packages/empty.dir | 1 - .../web/sites/aps_packagedetails_show.php | 100 -------- .../web/sites/aps_update_packagelist.php | 57 ----- interface/web/sites/lib/lang/ar.lng | 4 - interface/web/sites/lib/lang/ar_aps.lng | 63 ----- .../sites/lib/lang/ar_aps_instances_list.lng | 11 - .../sites/lib/lang/ar_aps_packages_list.lng | 8 - .../lib/lang/ar_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/bg.lng | 4 - interface/web/sites/lib/lang/bg_aps.lng | 63 ----- .../sites/lib/lang/bg_aps_instances_list.lng | 11 - .../sites/lib/lang/bg_aps_packages_list.lng | 8 - .../lib/lang/bg_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/br.lng | 4 - interface/web/sites/lib/lang/br_aps.lng | 63 ----- .../sites/lib/lang/br_aps_instances_list.lng | 11 - .../sites/lib/lang/br_aps_packages_list.lng | 8 - .../lib/lang/br_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/ca.lng | 4 - interface/web/sites/lib/lang/ca_aps.lng | 63 ----- .../sites/lib/lang/ca_aps_instances_list.lng | 11 - .../sites/lib/lang/ca_aps_packages_list.lng | 8 - .../lib/lang/ca_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/cz.lng | 4 - interface/web/sites/lib/lang/cz_aps.lng | 63 ----- .../sites/lib/lang/cz_aps_instances_list.lng | 11 - .../sites/lib/lang/cz_aps_packages_list.lng | 8 - .../lib/lang/cz_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/de.lng | 4 - interface/web/sites/lib/lang/de_aps.lng | 63 ----- .../sites/lib/lang/de_aps_instances_list.lng | 11 - .../sites/lib/lang/de_aps_packages_list.lng | 8 - .../lib/lang/de_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/dk.lng | 4 - interface/web/sites/lib/lang/dk_aps.lng | 63 ----- .../sites/lib/lang/dk_aps_instances_list.lng | 11 - .../sites/lib/lang/dk_aps_packages_list.lng | 8 - .../lib/lang/dk_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/el.lng | 4 - interface/web/sites/lib/lang/el_aps.lng | 63 ----- .../sites/lib/lang/el_aps_instances_list.lng | 11 - .../sites/lib/lang/el_aps_packages_list.lng | 8 - .../lib/lang/el_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/en.lng | 6 +- interface/web/sites/lib/lang/en_aps.lng | 63 ----- .../sites/lib/lang/en_aps_instances_list.lng | 11 - .../sites/lib/lang/en_aps_packages_list.lng | 8 - .../lib/lang/en_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/es.lng | 4 - interface/web/sites/lib/lang/es_aps.lng | 63 ----- .../sites/lib/lang/es_aps_instances_list.lng | 11 - .../sites/lib/lang/es_aps_packages_list.lng | 8 - .../lib/lang/es_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/fi.lng | 4 - interface/web/sites/lib/lang/fi_aps.lng | 63 ----- .../sites/lib/lang/fi_aps_instances_list.lng | 11 - .../sites/lib/lang/fi_aps_packages_list.lng | 8 - .../lib/lang/fi_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/fr.lng | 4 - interface/web/sites/lib/lang/fr_aps.lng | 63 ----- .../sites/lib/lang/fr_aps_instances_list.lng | 11 - .../sites/lib/lang/fr_aps_packages_list.lng | 8 - .../lib/lang/fr_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/hr.lng | 4 - interface/web/sites/lib/lang/hr_aps.lng | 63 ----- .../sites/lib/lang/hr_aps_instances_list.lng | 11 - .../sites/lib/lang/hr_aps_packages_list.lng | 8 - .../lib/lang/hr_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/hu.lng | 4 - interface/web/sites/lib/lang/hu_aps.lng | 63 ----- .../sites/lib/lang/hu_aps_instances_list.lng | 11 - .../sites/lib/lang/hu_aps_packages_list.lng | 8 - .../lib/lang/hu_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/id.lng | 4 - interface/web/sites/lib/lang/id_aps.lng | 63 ----- .../sites/lib/lang/id_aps_instances_list.lng | 11 - .../sites/lib/lang/id_aps_packages_list.lng | 8 - .../lib/lang/id_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/it.lng | 4 - interface/web/sites/lib/lang/it_aps.lng | 63 ----- .../sites/lib/lang/it_aps_instances_list.lng | 11 - .../sites/lib/lang/it_aps_packages_list.lng | 8 - .../lib/lang/it_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/ja.lng | 4 - interface/web/sites/lib/lang/ja_aps.lng | 63 ----- .../sites/lib/lang/ja_aps_instances_list.lng | 11 - .../sites/lib/lang/ja_aps_packages_list.lng | 8 - .../lib/lang/ja_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/nl.lng | 4 - interface/web/sites/lib/lang/nl_aps.lng | 63 ----- .../sites/lib/lang/nl_aps_instances_list.lng | 11 - .../sites/lib/lang/nl_aps_packages_list.lng | 8 - .../lib/lang/nl_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/pl.lng | 4 - interface/web/sites/lib/lang/pl_aps.lng | 63 ----- .../sites/lib/lang/pl_aps_instances_list.lng | 11 - .../sites/lib/lang/pl_aps_packages_list.lng | 8 - .../lib/lang/pl_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/pt.lng | 4 - interface/web/sites/lib/lang/pt_aps.lng | 63 ----- .../sites/lib/lang/pt_aps_instances_list.lng | 11 - .../sites/lib/lang/pt_aps_packages_list.lng | 8 - .../lib/lang/pt_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/ro.lng | 4 - interface/web/sites/lib/lang/ro_aps.lng | 63 ----- .../sites/lib/lang/ro_aps_instances_list.lng | 11 - .../sites/lib/lang/ro_aps_packages_list.lng | 8 - .../lib/lang/ro_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/ru.lng | 4 - interface/web/sites/lib/lang/ru_aps.lng | 63 ----- .../sites/lib/lang/ru_aps_instances_list.lng | 11 - .../sites/lib/lang/ru_aps_packages_list.lng | 8 - .../lib/lang/ru_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/se.lng | 4 - interface/web/sites/lib/lang/se_aps.lng | 63 ----- .../sites/lib/lang/se_aps_instances_list.lng | 11 - .../sites/lib/lang/se_aps_packages_list.lng | 8 - .../lib/lang/se_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/sk.lng | 4 - interface/web/sites/lib/lang/sk_aps.lng | 63 ----- .../sites/lib/lang/sk_aps_instances_list.lng | 11 - .../sites/lib/lang/sk_aps_packages_list.lng | 8 - .../lib/lang/sk_aps_update_packagelist.lng | 7 - interface/web/sites/lib/lang/tr.lng | 4 - interface/web/sites/lib/lang/tr_aps.lng | 58 ----- .../sites/lib/lang/tr_aps_instances_list.lng | 11 - .../sites/lib/lang/tr_aps_packages_list.lng | 8 - .../lib/lang/tr_aps_update_packagelist.lng | 7 - interface/web/sites/lib/module.conf.php | 30 --- interface/web/sites/lib/remote.conf.php | 1 - .../sites/list/aps_availablepackages.list.php | 86 ------- .../sites/list/aps_installedpackages.list.php | 99 -------- .../sites/templates/aps_install_package.htm | 125 ---------- .../sites/templates/aps_instances_list.htm | 57 ----- .../templates/aps_packagedetails_show.htm | 138 ----------- .../web/sites/templates/aps_packages_list.htm | 53 ----- .../templates/aps_update_packagelist.htm | 12 - interface/web/sites/web_vhost_domain_del.php | 16 +- 143 files changed, 2 insertions(+), 3664 deletions(-) delete mode 100644 interface/web/sites/aps_availablepackages_list.php delete mode 100644 interface/web/sites/aps_cron_apscrawler_if.php delete mode 100644 interface/web/sites/aps_do_operation.php delete mode 100644 interface/web/sites/aps_install_package.php delete mode 100644 interface/web/sites/aps_installedpackages_list.php delete mode 100644 interface/web/sites/aps_meta_packages/empty.dir delete mode 100644 interface/web/sites/aps_packagedetails_show.php delete mode 100644 interface/web/sites/aps_update_packagelist.php delete mode 100644 interface/web/sites/lib/lang/ar_aps.lng delete mode 100644 interface/web/sites/lib/lang/ar_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/ar_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/ar_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/bg_aps.lng delete mode 100644 interface/web/sites/lib/lang/bg_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/bg_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/bg_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/br_aps.lng delete mode 100644 interface/web/sites/lib/lang/br_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/br_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/br_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/ca_aps.lng delete mode 100644 interface/web/sites/lib/lang/ca_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/ca_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/ca_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/cz_aps.lng delete mode 100644 interface/web/sites/lib/lang/cz_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/cz_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/cz_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/de_aps.lng delete mode 100644 interface/web/sites/lib/lang/de_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/de_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/de_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/dk_aps.lng delete mode 100644 interface/web/sites/lib/lang/dk_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/dk_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/dk_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/el_aps.lng delete mode 100644 interface/web/sites/lib/lang/el_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/el_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/el_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/en_aps.lng delete mode 100644 interface/web/sites/lib/lang/en_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/en_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/en_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/es_aps.lng delete mode 100644 interface/web/sites/lib/lang/es_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/es_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/es_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/fi_aps.lng delete mode 100644 interface/web/sites/lib/lang/fi_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/fi_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/fi_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/fr_aps.lng delete mode 100644 interface/web/sites/lib/lang/fr_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/fr_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/fr_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/hr_aps.lng delete mode 100644 interface/web/sites/lib/lang/hr_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/hr_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/hr_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/hu_aps.lng delete mode 100644 interface/web/sites/lib/lang/hu_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/hu_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/hu_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/id_aps.lng delete mode 100644 interface/web/sites/lib/lang/id_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/id_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/id_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/it_aps.lng delete mode 100644 interface/web/sites/lib/lang/it_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/it_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/it_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/ja_aps.lng delete mode 100644 interface/web/sites/lib/lang/ja_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/ja_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/ja_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/nl_aps.lng delete mode 100644 interface/web/sites/lib/lang/nl_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/nl_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/nl_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/pl_aps.lng delete mode 100644 interface/web/sites/lib/lang/pl_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/pl_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/pl_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/pt_aps.lng delete mode 100644 interface/web/sites/lib/lang/pt_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/pt_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/pt_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/ro_aps.lng delete mode 100644 interface/web/sites/lib/lang/ro_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/ro_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/ro_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/ru_aps.lng delete mode 100644 interface/web/sites/lib/lang/ru_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/ru_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/ru_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/se_aps.lng delete mode 100644 interface/web/sites/lib/lang/se_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/se_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/se_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/sk_aps.lng delete mode 100644 interface/web/sites/lib/lang/sk_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/sk_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/sk_aps_update_packagelist.lng delete mode 100644 interface/web/sites/lib/lang/tr_aps.lng delete mode 100644 interface/web/sites/lib/lang/tr_aps_instances_list.lng delete mode 100644 interface/web/sites/lib/lang/tr_aps_packages_list.lng delete mode 100644 interface/web/sites/lib/lang/tr_aps_update_packagelist.lng delete mode 100644 interface/web/sites/list/aps_availablepackages.list.php delete mode 100644 interface/web/sites/list/aps_installedpackages.list.php delete mode 100644 interface/web/sites/templates/aps_install_package.htm delete mode 100644 interface/web/sites/templates/aps_instances_list.htm delete mode 100644 interface/web/sites/templates/aps_packagedetails_show.htm delete mode 100644 interface/web/sites/templates/aps_packages_list.htm delete mode 100644 interface/web/sites/templates/aps_update_packagelist.htm diff --git a/interface/web/sites/aps_availablepackages_list.php b/interface/web/sites/aps_availablepackages_list.php deleted file mode 100644 index d883754ce5..0000000000 --- a/interface/web/sites/aps_availablepackages_list.php +++ /dev/null @@ -1,56 +0,0 @@ -load('aps_base'); - -// Path to the list definition file -$list_def_file = "list/aps_availablepackages.list.php"; - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -// Load needed classes -$app->uses('tpl,listform_actions'); - -$app->listform_actions->SQLOrderBy = 'ORDER BY aps_packages.name, aps_packages.version'; -// Show only unlocked packages to clients and (un-)lockable packages to admins -if($_SESSION['s']['user']['typ'] != 'admin') $app->listform_actions->SQLExtWhere = 'aps_packages.package_status = '.PACKAGE_ENABLED; -else $app->listform_actions->SQLExtWhere = '(aps_packages.package_status = '.PACKAGE_ENABLED.' OR aps_packages.package_status = '.PACKAGE_LOCKED.')'; - -// Get package amount -$pkg_count = $app->db->queryOneRecord("SELECT COUNT(*) FROM aps_packages"); -$app->tpl->setVar("package_count", $pkg_count['COUNT(*)']); - -// Start the form rendering and action handling -$app->listform_actions->onLoad(); -?> diff --git a/interface/web/sites/aps_cron_apscrawler_if.php b/interface/web/sites/aps_cron_apscrawler_if.php deleted file mode 100644 index fca04f2057..0000000000 --- a/interface/web/sites/aps_cron_apscrawler_if.php +++ /dev/null @@ -1,63 +0,0 @@ -load('aps_crawler'); - -if(!@ini_get('allow_url_fopen')) $app->error('allow_url_fopen is not enabled.'); -if(!function_exists('curl_version')) $app->error('The PHP CURL extension is not available.'); - -$log_prefix = 'APS crawler cron: '; - -$aps = new ApsCrawler($app, true); // true = Interface mode, false = Server mode - -$app->log($log_prefix.'Used mem at begin: '.$aps->convertSize(memory_get_usage(true))); - -$time_start = microtime(true); -$aps->startCrawler(); -$aps->parseFolderToDB(); -$aps->fixURLs(); -$time = microtime(true) - $time_start; - -$app->log($log_prefix.'Used mem at end: '.$aps->convertSize(memory_get_usage(true))); -$app->log($log_prefix.'Mem peak during execution: '.$aps->convertSize(memory_get_peak_usage(true))); -$app->log($log_prefix.'Execution time: '.round($time, 3).' seconds'); - -// Load the language file -$lngfile = 'lib/lang/'.$_SESSION['s']['language'].'_aps.lng'; -$app->load_language_file('web/sites/'.$lngfile); - -echo '

'.$app->lng('packagelist_update_finished_txt').'

'; - - - -?> diff --git a/interface/web/sites/aps_do_operation.php b/interface/web/sites/aps_do_operation.php deleted file mode 100644 index 8de3ed4e29..0000000000 --- a/interface/web/sites/aps_do_operation.php +++ /dev/null @@ -1,90 +0,0 @@ -load('aps_guicontroller'); - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -$gui = new ApsGUIController($app); - -// An action and ID are required in any case -if(!isset($_GET['action'])) die('No action'); - -// List of operations which can be performed -if($_GET['action'] == 'change_status') -{ - // Only admins can perform this operation - if($_SESSION['s']['user']['typ'] != 'admin') die('For admin use only.'); - - // Make sure a valid package ID is given - if(!$gui->isValidPackageID($_GET['id'], true)) die($app->lng('Invalid ID')); - - // Change the existing status to the opposite - $get_status = $app->db->queryOneRecord("SELECT package_status FROM aps_packages WHERE id = ?", $_GET['id']); - if($get_status['package_status'] == strval(PACKAGE_LOCKED)) - { - $app->db->query("UPDATE aps_packages SET package_status = ? WHERE id = ?", PACKAGE_ENABLED, $_GET['id']); - echo '
'.$app->lng('Yes').'
'; - } - else - { - $app->db->query("UPDATE aps_packages SET Package_status = ? WHERE id = ?", PACKAGE_LOCKED, $_GET['id']); - echo '
'.$app->lng('No').'
'; - } -} -else if($_GET['action'] == 'delete_instance') - { - // Check CSRF Token - $app->auth->csrf_token_check('GET'); - - // Make sure a valid package ID is given (also corresponding to the calling user) - $client_id = 0; - $is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; - if(!$is_admin) - { - $cid = $app->db->queryOneRecord("SELECT client_id FROM client WHERE username = ?", $_SESSION['s']['user']['username']); - $client_id = $cid['client_id']; - } - - // Assume that the given instance belongs to the currently calling client_id. Unimportant if status is admin - if(!$gui->isValidInstanceID($_GET['id'], $client_id, $is_admin)) die($app->lng('Invalid ID')); - - // Only delete the instance if the status is "installed" or "flawed" - $check = $app->db->queryOneRecord("SELECT id FROM aps_instances - WHERE id = ? AND - (instance_status = ? OR instance_status = ?)", $_GET['id'], INSTANCE_SUCCESS, INSTANCE_ERROR); - if($check['id'] > 0) $gui->deleteInstance($_GET['id']); - //echo $app->lng('Installation_remove'); - @header('Location:aps_installedpackages_list.php'); - } -?> diff --git a/interface/web/sites/aps_install_package.php b/interface/web/sites/aps_install_package.php deleted file mode 100644 index 04b815bb2d..0000000000 --- a/interface/web/sites/aps_install_package.php +++ /dev/null @@ -1,216 +0,0 @@ -load('aps_guicontroller'); - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -// Load needed classes -$app->uses('tpl,tform'); -$app->tpl->newTemplate("form.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/aps_install_package.htm'); - -// Load the language file -$lngfile = 'lib/lang/'.$app->functions->check_language($_SESSION['s']['language']).'_aps.lng'; -require_once $lngfile; -$app->tpl->setVar($wb); -$app->load_language_file('web/sites/'.$lngfile); - -// we will check only users, not admins -if($_SESSION["s"]["user"]["typ"] == 'user') { - $app->tform->formDef['db_table_idx'] = 'id'; - $app->tform->formDef['db_table'] = 'aps_instances'; - if(!$app->tform->checkClientLimit('limit_aps')) { - $app->error($app->lng("limit_aps_txt")); - } - if(!$app->tform->checkResellerLimit('limit_aps')) { - $app->error('Reseller: '.$wb["limit_aps_txt"]); - } -} - - -$adminflag = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; -$gui = new ApsGUIController($app); -$pkg_id = (isset($_GET['id'])) ? $_GET['id'] : ''; - -// Check if a newer version is available for the current package -// Note: It's intended that here is no strict ID check (see below) -if(isset($pkg_id)) -{ - $newest_pkg_id = $gui->getNewestPackageID($pkg_id); - if($newest_pkg_id != 0) $pkg_id = $newest_pkg_id; -} - -// Make sure an integer ID is given -if(!isset($pkg_id) || !$gui->isValidPackageID($pkg_id, $adminflag)) - $app->error($app->lng('Invalid ID')); - -// Get package details -$details = $gui->getPackageDetails($pkg_id); -if(isset($details['error'])) $app->error($details['error']); -$settings = $gui->getPackageSettings($pkg_id); -if(isset($settings['error'])) $app->error($settings['error']); - -// Get domain list -$domains = array(); -$domain_for_user = ''; -if(!$adminflag) $domain_for_user = "AND (sys_userid = ? OR sys_groupid = ?)"; -$domains_assoc = $app->db->queryAllRecords("SELECT domain FROM web_domain WHERE document_root != '' AND (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND active = 'y' ".$domain_for_user." ORDER BY domain", $_SESSION['s']['user']['userid'], $_SESSION['s']['user']['default_group']); -if(!empty($domains_assoc)) foreach($domains_assoc as $domain) $domains[] = $domain['domain']; - - // If data has been submitted, validate it - $result['input'] = array(); -if(count($_POST) > 1) -{ - // Check CSRF Token - $app->auth->csrf_token_check(); - - $result = $gui->validateInstallerInput($_POST, $details, $domains, $settings); - if(empty($result['error'])) - { - $gui->createPackageInstance($result['input'], $pkg_id); - @header('Location:aps_installedpackages_list.php'); - } - else - { - $app->tpl->setVar('error', implode('
', $result['error'])); - - // Set memorized values (license, db password, install location) - if(!empty($result['input'])) - foreach($result['input'] as $key => $value) $app->tpl->setVar('inp_'.$key, $value); - } -} -else $app->tpl->setVar('inp_main_database_password', ucfirst(substr(md5(crypt(rand(0, 10))), 0, 16))); - -// Pass the package details to the template -foreach($details as $key => $value) -{ - if(!is_array($value)) $app->tpl->setVar('pkg_'.str_replace(' ', '_', strtolower($key)), $value); - else if($key == 'Requirements PHP settings') $app->tpl->setLoop('pkg_requirements_php_settings', $details['Requirements PHP settings']); -} - -// get new csrf token -$csrf_token = $app->auth->csrf_token_get('aps_install_package'); -$app->tpl->setVar('_csrf_id', $csrf_token['csrf_id']); -$app->tpl->setVar('_csrf_key', $csrf_token['csrf_key']); - -// Parse the template as far as possible, then do the rest manually -$app->tpl_defaults(); -$parsed_tpl = $app->tpl->grab(); - - -// Print the domain list -$domains_tpl = ''; -if(!empty($domains)) -{ - $set = array(); - $set[] = ''; - - $domains_tpl = implode("\n", $set); -} -$parsed_tpl = str_replace('DOMAIN_LIST_SPACE', $domains_tpl, $parsed_tpl); - -// Print the packgae settings -$settings_tpl = ''; -if(!empty($settings)) -{ - $set = array(); - $set[] = ''.$app->lng('package_settings_txt').''; - foreach($settings as $setting) - { - $set[] = '
'; - $set[] = ''; - if($setting['SettingInputType'] == 'string' || $setting['SettingInputType'] == 'password') - { - $input_type = ($setting['SettingInputType'] == 'string') ? 'text' : 'password'; - - $input_value = ''; - if((count($_POST) > 1) - && (isset($result['input'][$setting['SettingID']]))) - $input_value = $result['input'][$setting['SettingID']]; - else $input_value = @$setting['SettingDefaultValue']; - - $set[] = '
-

'.$setting['SettingDescription'].'

'; - } - else if($setting['SettingInputType'] == 'checkbox') - { - $checked = ''; - if((count($_POST) > 1) - && (isset($result['input'][$setting['SettingID']]) - && ($result['input'][$setting['SettingID']] == 'true'))) - $checked = 'checked '; - else if($setting['SettingDefaultValue'] == '1') $checked = 'checked '; - - $set[] = '
-

'.$setting['SettingDescription'].'

'; - } - else if($setting['SettingInputType'] == 'select') - { - $set[] = '
-

'.$setting['SettingDescription'].'

'; - } - - $set[] = '
'; - } - $settings_tpl = implode("\n", $set); -} -$parsed_tpl = str_replace('PKG_SETTINGS_SPACE', $settings_tpl, $parsed_tpl); - -echo $parsed_tpl; -?> diff --git a/interface/web/sites/aps_installedpackages_list.php b/interface/web/sites/aps_installedpackages_list.php deleted file mode 100644 index 32849ad740..0000000000 --- a/interface/web/sites/aps_installedpackages_list.php +++ /dev/null @@ -1,144 +0,0 @@ -load('aps_base'); - -// Path to the list definition file -$list_def_file = "list/aps_installedpackages.list.php"; - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -// Load needed classes -$app->uses('tpl,tform,listform,listform_actions'); - -// Show further information only to admins or resellers -if($_SESSION['s']['user']['typ'] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) - $app->tpl->setVar('is_noclient', 1); - -// Show each user the own packages (if not admin) -$client_ext = ''; -$is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; -if(!$is_admin) -{ - $cid = $app->db->queryOneRecord('SELECT client_id FROM client WHERE username = ?', $_SESSION['s']['user']['username']); - //$client_ext = ' AND aps_instances.customer_id = '.$cid['client_id']; - $client_ext = ' AND '.$app->tform->getAuthSQL('r', 'aps_instances'); -} -$app->listform_actions->SQLExtWhere = 'aps_instances.package_id = aps_packages.id'.$client_ext; -$app->listform_actions->SQLOrderBy = 'ORDER BY package_name'; - -// We are using parts of listform_actions because ISPConfig doesn't allow -// queries over multiple tables so we construct them ourselves -$_SESSION['s']['form']['return_to'] = ''; - -// Load the list template -$app->listform->loadListDef($list_def_file); -if(!is_file('templates/'.$app->listform->listDef["name"].'_list.htm')) -{ - $app->uses('listform_tpl_generator'); - $app->listform_tpl_generator->buildHTML($app->listform->listDef); -} -$app->tpl->newTemplate("listpage.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/'.$app->listform->listDef["name"].'_list.htm'); - -// Build the WHERE query for search -$sql_where = ''; -if($app->listform_actions->SQLExtWhere != '') - $sql_where .= ' '.$app->listform_actions->SQLExtWhere.' and'; -$sql_where = $app->listform->getSearchSQL($sql_where); -$app->tpl->setVar($app->listform->searchValues); - -// Paging -$limit_sql = $app->listform->getPagingSQL($sql_where); -$app->tpl->setVar('paging', $app->listform->pagingHTML); - -if(!$is_admin) { - // Our query over multiple tables - $query = "SELECT aps_instances.id AS id, aps_instances.package_id AS package_id, - aps_instances.customer_id AS customer_id, client.username AS customer_name, - aps_instances.instance_status AS instance_status, aps_packages.name AS package_name, - aps_packages.version AS package_version, aps_packages.release AS package_release, - aps_packages.package_status AS package_status, - CONCAT((SELECT value FROM aps_instances_settings WHERE name='main_domain' AND instance_id = aps_instances.id), - '/', (SELECT value FROM aps_instances_settings WHERE name='main_location' AND instance_id = aps_instances.id)) - AS install_location - FROM aps_instances, aps_packages, client - WHERE client.client_id = aps_instances.customer_id AND ".$sql_where." ".$app->listform_actions->SQLOrderBy." ".$limit_sql; -} else { - $query = "SELECT aps_instances.id AS id, aps_instances.package_id AS package_id, - aps_instances.customer_id AS customer_id, sys_group.name AS customer_name, - aps_instances.instance_status AS instance_status, aps_packages.name AS package_name, - aps_packages.version AS package_version, aps_packages.release AS package_release, - aps_packages.package_status AS package_status, - CONCAT((SELECT value FROM aps_instances_settings WHERE name='main_domain' AND instance_id = aps_instances.id), - '/', (SELECT value FROM aps_instances_settings WHERE name='main_location' AND instance_id = aps_instances.id)) - AS install_location - FROM aps_instances, aps_packages, sys_group - WHERE sys_group.client_id = aps_instances.customer_id AND ".$sql_where." ".$app->listform_actions->SQLOrderBy." ".$limit_sql; - -} - -$records = $app->db->queryAllRecords($query); -$app->listform_actions->DataRowColor = '#FFFFFF'; - -$csrf_token = $app->auth->csrf_token_get($app->listform->listDef['name']); -$_csrf_id = $csrf_token['csrf_id']; -$_csrf_key = $csrf_token['csrf_key']; - -// Re-form all result entries and add extra entries -$records_new = array(); -if(is_array($records)) -{ - $app->listform_actions->idx_key = $app->listform->listDef["table_idx"]; - foreach($records as $key => $rec) - { - // Set an abbreviated install location to beware the page layout - $ils = ''; - if(strlen($rec['Install_location']) >= 38) $ils = substr($rec['Install_location'], 0, 35).'...'; - else $ils = $rec['install_location']; - $rec['install_location_short'] = $ils; - - // Of course an instance can only then be removed when it's not already tagged for removal - if($rec['instance_status'] != INSTANCE_REMOVE && $rec['instance_status'] != INSTANCE_INSTALL) - $rec['delete_possible'] = 'true'; - - $records_new[$key] = $app->listform_actions->prepareDataRow($rec); - $records_new[$key]['csrf_id'] = $_csrf_id; - $records_new[$key]['csrf_key'] = $_csrf_key; - } -} -$app->tpl->setLoop('records', $records_new); - -$app->listform_actions->onShow(); -?> diff --git a/interface/web/sites/aps_meta_packages/empty.dir b/interface/web/sites/aps_meta_packages/empty.dir deleted file mode 100644 index 95ba9ef37c..0000000000 --- a/interface/web/sites/aps_meta_packages/empty.dir +++ /dev/null @@ -1 +0,0 @@ -This empty directory is needed by ISPConfig. diff --git a/interface/web/sites/aps_packagedetails_show.php b/interface/web/sites/aps_packagedetails_show.php deleted file mode 100644 index d0503bf9f0..0000000000 --- a/interface/web/sites/aps_packagedetails_show.php +++ /dev/null @@ -1,100 +0,0 @@ -load('aps_guicontroller'); - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -// Load needed classes -$app->uses('tpl'); -$app->tpl->newTemplate("listpage.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/aps_packagedetails_show.htm'); - -// Load the language file -$lngfile = 'lib/lang/'.$app->functions->check_language($_SESSION['s']['language']).'_aps.lng'; -require_once $lngfile; -$app->tpl->setVar($wb); - -$gui = new ApsGUIController($app); -$pkg_id = (isset($_GET['id'])) ? $_GET['id'] : ''; - -// Check if a newer version is available for the current package -// Note: It's intended that here is no strict ID check (see below) -/*if(isset($pkg_id)) -{ - $newest_pkg_id = $gui->getNewestPackageID($pkg_id); - if($newest_pkg_id != 0) $pkg_id = $newest_pkg_id; -}*/ - -// Make sure an integer ID is given -$adminflag = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; -if(!isset($pkg_id) || !$gui->isValidPackageID($pkg_id, $adminflag)) - $app->error($app->lng('Invalid ID')); - -// Get package details -$details = $gui->getPackageDetails($pkg_id); -if(isset($details['error'])) $app->error($details['error']); - -// Set the active and default tab -$next_tab = 'details'; -if(isset($_POST['next_tab']) || isset($_GET['next_tab'])) -{ - $tab = (isset($_POST['next_tab']) ? $_POST['next_tab'] : $_GET['next_tab']); - switch($tab) - { - case 'details': $next_tab = 'details'; break; - case 'settings': $next_tab = 'settings'; break; - case 'changelog': $next_tab = 'changelog'; break; - case 'screenshots': $next_tab = 'screenshots'; break; - default: $next_tab = 'details'; - } -} -$app->tpl->setVar('next_tab', $next_tab); - -// Parse the package details to the template -foreach($details as $key => $value) -{ - if(!is_array($value)) $app->tpl->setVar('pkg_'.str_replace(' ', '_', strtolower($key)), $value); - else // Special cases - { - if($key == 'Changelog') $app->tpl->setLoop('pkg_changelog', $details['Changelog']); - elseif($key == 'Screenshots') $app->tpl->setLoop('pkg_screenshots', $details['Screenshots']); - elseif($key == 'Requirements PHP settings') $app->tpl->setLoop('pkg_requirements_php_settings', $details['Requirements PHP settings']); - } -} -//print_r($details['Requirements PHP settings']); - -$app->tpl_defaults(); -$app->tpl->pparse(); -?> diff --git a/interface/web/sites/aps_update_packagelist.php b/interface/web/sites/aps_update_packagelist.php deleted file mode 100644 index 821da77bb9..0000000000 --- a/interface/web/sites/aps_update_packagelist.php +++ /dev/null @@ -1,57 +0,0 @@ -auth->check_module_permissions('sites'); - -$app->uses('tpl'); - -$app->tpl->newTemplate('form.tpl.htm'); -$app->tpl->setInclude('content_tpl', 'templates/aps_update_packagelist.htm'); -$msg = ''; -$error = ''; - -//* load language file -$lng_file = 'lib/lang/'.$app->functions->check_language($_SESSION['s']['language']).'_aps_update_packagelist.lng'; -include $lng_file; -$app->tpl->setVar($wb); - - - -$app->tpl->setVar('msg', $msg); -$app->tpl->setVar('error', $error); - -$app->tpl_defaults(); -$app->tpl->pparse(); - - -?> diff --git a/interface/web/sites/lib/lang/ar.lng b/interface/web/sites/lib/lang/ar.lng index 6ca61afae0..c186fde498 100644 --- a/interface/web/sites/lib/lang/ar.lng +++ b/interface/web/sites/lib/lang/ar.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Redirect'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/ar_aps.lng b/interface/web/sites/lib/lang/ar_aps.lng deleted file mode 100644 index 881c146a4d..0000000000 --- a/interface/web/sites/lib/lang/ar_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ar_aps_instances_list.lng b/interface/web/sites/lib/lang/ar_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/ar_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ar_aps_packages_list.lng b/interface/web/sites/lib/lang/ar_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/ar_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ar_aps_update_packagelist.lng b/interface/web/sites/lib/lang/ar_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/ar_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/bg.lng b/interface/web/sites/lib/lang/bg.lng index 0d28df2994..4b528ad766 100644 --- a/interface/web/sites/lib/lang/bg.lng +++ b/interface/web/sites/lib/lang/bg.lng @@ -26,10 +26,6 @@ $wb['Folder'] = 'Protected Folders'; $wb['Folder users'] = 'Protected Folder Users'; $wb['Command Line'] = 'Command Line'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/bg_aps.lng b/interface/web/sites/lib/lang/bg_aps.lng deleted file mode 100644 index 6a5f981943..0000000000 --- a/interface/web/sites/lib/lang/bg_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/bg_aps_instances_list.lng b/interface/web/sites/lib/lang/bg_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/bg_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/bg_aps_packages_list.lng b/interface/web/sites/lib/lang/bg_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/bg_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/bg_aps_update_packagelist.lng b/interface/web/sites/lib/lang/bg_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/bg_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/br.lng b/interface/web/sites/lib/lang/br.lng index 8710dc1140..51a24eb802 100644 --- a/interface/web/sites/lib/lang/br.lng +++ b/interface/web/sites/lib/lang/br.lng @@ -29,10 +29,6 @@ $wb['Domain'] = 'Domínio'; $wb['Redirect'] = 'Redirecionamento'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; -$wb['APS Installer'] = 'Instalador de APPs'; -$wb['Available packages'] = 'Pacotes disponíveis'; -$wb['Installed packages'] = 'Pacotes instalados'; -$wb['Update Packagelist'] = 'Atualizar lista de pacotes'; $wb['Subdomain (Vhost)'] = 'Subdomínio (vhost)'; $wb['error_proxy_requires_url'] = 'O tipo de redirecionamento "proxy" exige uma URL como caminho de redirecionamento.'; ?> diff --git a/interface/web/sites/lib/lang/br_aps.lng b/interface/web/sites/lib/lang/br_aps.lng deleted file mode 100644 index 744c215192..0000000000 --- a/interface/web/sites/lib/lang/br_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/br_aps_instances_list.lng b/interface/web/sites/lib/lang/br_aps_instances_list.lng deleted file mode 100644 index da5b80d68e..0000000000 --- a/interface/web/sites/lib/lang/br_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/br_aps_packages_list.lng b/interface/web/sites/lib/lang/br_aps_packages_list.lng deleted file mode 100644 index bbd0e1ad3d..0000000000 --- a/interface/web/sites/lib/lang/br_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/br_aps_update_packagelist.lng b/interface/web/sites/lib/lang/br_aps_update_packagelist.lng deleted file mode 100644 index b81640384c..0000000000 --- a/interface/web/sites/lib/lang/br_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ca.lng b/interface/web/sites/lib/lang/ca.lng index 9acee9d061..506f37c0e0 100644 --- a/interface/web/sites/lib/lang/ca.lng +++ b/interface/web/sites/lib/lang/ca.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Redirection'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Utilisateurs de bases de données'; -$wb['APS Installer'] = 'Installeur APS'; -$wb['Available packages'] = 'Packages disponibles'; -$wb['Installed packages'] = 'Packages installés'; -$wb['Update Packagelist'] = 'Mise à jour de la liste des packages'; $wb['Subdomain (Vhost)'] = 'Sous-domaine (Vhost)'; $wb['error_proxy_requires_url'] = 'Type de redirection \\"proxy\\" nécessite une URL comme chemin de redirection.'; ?> diff --git a/interface/web/sites/lib/lang/ca_aps.lng b/interface/web/sites/lib/lang/ca_aps.lng deleted file mode 100644 index 062d6ea589..0000000000 --- a/interface/web/sites/lib/lang/ca_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ca_aps_instances_list.lng b/interface/web/sites/lib/lang/ca_aps_instances_list.lng deleted file mode 100644 index 63145b04f3..0000000000 --- a/interface/web/sites/lib/lang/ca_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ca_aps_packages_list.lng b/interface/web/sites/lib/lang/ca_aps_packages_list.lng deleted file mode 100644 index 24fb0b9c72..0000000000 --- a/interface/web/sites/lib/lang/ca_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ca_aps_update_packagelist.lng b/interface/web/sites/lib/lang/ca_aps_update_packagelist.lng deleted file mode 100644 index ef8d67ccb8..0000000000 --- a/interface/web/sites/lib/lang/ca_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/cz.lng b/interface/web/sites/lib/lang/cz.lng index 4c16438e34..509b90d610 100644 --- a/interface/web/sites/lib/lang/cz.lng +++ b/interface/web/sites/lib/lang/cz.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Přesměrování'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Stránky'; $wb['Database User'] = 'Uživatelé databáze'; -$wb['APS Installer'] = 'APS instalátor'; -$wb['Available packages'] = 'Dostupné balíčky'; -$wb['Installed packages'] = 'Nainstalované balíčky'; -$wb['Update Packagelist'] = 'Aktualizace seznamu balíčků'; $wb['Subdomain (Vhost)'] = 'Subdoména (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/cz_aps.lng b/interface/web/sites/lib/lang/cz_aps.lng deleted file mode 100644 index adf6ccf58e..0000000000 --- a/interface/web/sites/lib/lang/cz_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/cz_aps_instances_list.lng b/interface/web/sites/lib/lang/cz_aps_instances_list.lng deleted file mode 100644 index db4494af02..0000000000 --- a/interface/web/sites/lib/lang/cz_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/cz_aps_packages_list.lng b/interface/web/sites/lib/lang/cz_aps_packages_list.lng deleted file mode 100644 index 52ef6ebcd9..0000000000 --- a/interface/web/sites/lib/lang/cz_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng b/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng deleted file mode 100644 index 8f4124b47e..0000000000 --- a/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/de.lng b/interface/web/sites/lib/lang/de.lng index 48e0a9a9a7..2061e773b6 100644 --- a/interface/web/sites/lib/lang/de.lng +++ b/interface/web/sites/lib/lang/de.lng @@ -26,10 +26,6 @@ $wb['Domain'] = 'Domain'; $wb['Redirect'] = 'Umleitung'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Seiten'; -$wb['APS Installer'] = 'APS Installationsassistent'; -$wb['Available packages'] = 'Verfügbare Pakete'; -$wb['Installed packages'] = 'Installierte Pakete'; -$wb['Update Packagelist'] = 'Paketliste aktualisieren'; $wb['error_proxy_requires_url'] = 'Weiterleitungstyp '; $wb['Subdomain (Vhost)'] = 'Subdomain (vHost)'; ?> diff --git a/interface/web/sites/lib/lang/de_aps.lng b/interface/web/sites/lib/lang/de_aps.lng deleted file mode 100644 index 6c9ff30eed..0000000000 --- a/interface/web/sites/lib/lang/de_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/de_aps_instances_list.lng b/interface/web/sites/lib/lang/de_aps_instances_list.lng deleted file mode 100644 index ba381e8bd7..0000000000 --- a/interface/web/sites/lib/lang/de_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/de_aps_packages_list.lng b/interface/web/sites/lib/lang/de_aps_packages_list.lng deleted file mode 100644 index 6cada812b2..0000000000 --- a/interface/web/sites/lib/lang/de_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng b/interface/web/sites/lib/lang/de_aps_update_packagelist.lng deleted file mode 100644 index 3b5a161d56..0000000000 --- a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/dk.lng b/interface/web/sites/lib/lang/dk.lng index 39974fef5d..039a08ca50 100644 --- a/interface/web/sites/lib/lang/dk.lng +++ b/interface/web/sites/lib/lang/dk.lng @@ -26,10 +26,6 @@ $wb['Domain'] = 'Domæne'; $wb['Redirect'] = 'Omdiriger'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sider'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Tilgængelig pakker'; -$wb['Installed packages'] = 'Installeret pakker'; -$wb['Update Packagelist'] = 'Opdater Pakkeliste'; $wb['Subdomain (Vhost)'] = 'Sub-domæne (Vhost)'; $wb['error_proxy_requires_url'] = 'Omdiriger Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/dk_aps.lng b/interface/web/sites/lib/lang/dk_aps.lng deleted file mode 100644 index ca006e2eb2..0000000000 --- a/interface/web/sites/lib/lang/dk_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/dk_aps_instances_list.lng b/interface/web/sites/lib/lang/dk_aps_instances_list.lng deleted file mode 100644 index 6a9b27a150..0000000000 --- a/interface/web/sites/lib/lang/dk_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/dk_aps_packages_list.lng b/interface/web/sites/lib/lang/dk_aps_packages_list.lng deleted file mode 100644 index 3c452fb591..0000000000 --- a/interface/web/sites/lib/lang/dk_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/dk_aps_update_packagelist.lng b/interface/web/sites/lib/lang/dk_aps_update_packagelist.lng deleted file mode 100644 index 91f7d993ef..0000000000 --- a/interface/web/sites/lib/lang/dk_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/el.lng b/interface/web/sites/lib/lang/el.lng index 2d726140fd..48ca3c405f 100644 --- a/interface/web/sites/lib/lang/el.lng +++ b/interface/web/sites/lib/lang/el.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Ανακατεύθυνση'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/el_aps.lng b/interface/web/sites/lib/lang/el_aps.lng deleted file mode 100644 index 0209737f61..0000000000 --- a/interface/web/sites/lib/lang/el_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/el_aps_instances_list.lng b/interface/web/sites/lib/lang/el_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/el_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/el_aps_packages_list.lng b/interface/web/sites/lib/lang/el_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/el_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/el_aps_update_packagelist.lng b/interface/web/sites/lib/lang/el_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/el_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/en.lng b/interface/web/sites/lib/lang/en.lng index 81010a651d..d92daf50f2 100644 --- a/interface/web/sites/lib/lang/en.lng +++ b/interface/web/sites/lib/lang/en.lng @@ -26,10 +26,6 @@ $wb['Domain'] = 'Domain'; $wb['Redirect'] = 'Redirect'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.'; -?> \ No newline at end of file +?> diff --git a/interface/web/sites/lib/lang/en_aps.lng b/interface/web/sites/lib/lang/en_aps.lng deleted file mode 100644 index 04f6fb798d..0000000000 --- a/interface/web/sites/lib/lang/en_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_aps_instances_list.lng b/interface/web/sites/lib/lang/en_aps_instances_list.lng deleted file mode 100644 index ce6df1a3fd..0000000000 --- a/interface/web/sites/lib/lang/en_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_aps_packages_list.lng b/interface/web/sites/lib/lang/en_aps_packages_list.lng deleted file mode 100644 index ed6303a64e..0000000000 --- a/interface/web/sites/lib/lang/en_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_aps_update_packagelist.lng b/interface/web/sites/lib/lang/en_aps_update_packagelist.lng deleted file mode 100644 index 20a7360b64..0000000000 --- a/interface/web/sites/lib/lang/en_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/sites/lib/lang/es.lng b/interface/web/sites/lib/lang/es.lng index 7d128081f6..1ff3a369b1 100644 --- a/interface/web/sites/lib/lang/es.lng +++ b/interface/web/sites/lib/lang/es.lng @@ -1,7 +1,5 @@ diff --git a/interface/web/sites/lib/lang/es_aps_instances_list.lng b/interface/web/sites/lib/lang/es_aps_instances_list.lng deleted file mode 100644 index 9e68ea7ba6..0000000000 --- a/interface/web/sites/lib/lang/es_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/es_aps_packages_list.lng b/interface/web/sites/lib/lang/es_aps_packages_list.lng deleted file mode 100644 index 9a2409d7cb..0000000000 --- a/interface/web/sites/lib/lang/es_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/es_aps_update_packagelist.lng b/interface/web/sites/lib/lang/es_aps_update_packagelist.lng deleted file mode 100644 index c23fba736b..0000000000 --- a/interface/web/sites/lib/lang/es_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fi.lng b/interface/web/sites/lib/lang/fi.lng index ebf94bc190..5a84ce52b7 100644 --- a/interface/web/sites/lib/lang/fi.lng +++ b/interface/web/sites/lib/lang/fi.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Edelleenohjaus'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Verkkotunnukset'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/fi_aps.lng b/interface/web/sites/lib/lang/fi_aps.lng deleted file mode 100644 index d78701f272..0000000000 --- a/interface/web/sites/lib/lang/fi_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fi_aps_instances_list.lng b/interface/web/sites/lib/lang/fi_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/fi_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fi_aps_packages_list.lng b/interface/web/sites/lib/lang/fi_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/fi_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fi_aps_update_packagelist.lng b/interface/web/sites/lib/lang/fi_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/fi_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fr.lng b/interface/web/sites/lib/lang/fr.lng index 9acee9d061..506f37c0e0 100644 --- a/interface/web/sites/lib/lang/fr.lng +++ b/interface/web/sites/lib/lang/fr.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Redirection'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Utilisateurs de bases de données'; -$wb['APS Installer'] = 'Installeur APS'; -$wb['Available packages'] = 'Packages disponibles'; -$wb['Installed packages'] = 'Packages installés'; -$wb['Update Packagelist'] = 'Mise à jour de la liste des packages'; $wb['Subdomain (Vhost)'] = 'Sous-domaine (Vhost)'; $wb['error_proxy_requires_url'] = 'Type de redirection \\"proxy\\" nécessite une URL comme chemin de redirection.'; ?> diff --git a/interface/web/sites/lib/lang/fr_aps.lng b/interface/web/sites/lib/lang/fr_aps.lng deleted file mode 100644 index 6beef9939f..0000000000 --- a/interface/web/sites/lib/lang/fr_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fr_aps_instances_list.lng b/interface/web/sites/lib/lang/fr_aps_instances_list.lng deleted file mode 100644 index 1cc3f2d47a..0000000000 --- a/interface/web/sites/lib/lang/fr_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fr_aps_packages_list.lng b/interface/web/sites/lib/lang/fr_aps_packages_list.lng deleted file mode 100644 index 24fb0b9c72..0000000000 --- a/interface/web/sites/lib/lang/fr_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/fr_aps_update_packagelist.lng b/interface/web/sites/lib/lang/fr_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/fr_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hr.lng b/interface/web/sites/lib/lang/hr.lng index b6af1225ac..376c201e44 100644 --- a/interface/web/sites/lib/lang/hr.lng +++ b/interface/web/sites/lib/lang/hr.lng @@ -25,10 +25,6 @@ $wb['Redirect'] = 'Preusmjeravanje'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Stranice'; $wb['Database User'] = 'Korisnici baze'; -$wb['APS Installer'] = 'APS instalacija'; -$wb['Available packages'] = 'Dostupni paketi'; -$wb['Installed packages'] = 'Instalirani paketi'; -$wb['Update Packagelist'] = 'Osvježi listu paketa'; $wb['Subdomain (Vhost)'] = 'Poddomena (Vhost)'; $wb['error_proxy_requires_url'] = '\\"proxy\\" redirekcija zahtijeva URL za redirekcijsku putanju.'; $wb['Domain'] = 'Domain'; diff --git a/interface/web/sites/lib/lang/hr_aps.lng b/interface/web/sites/lib/lang/hr_aps.lng deleted file mode 100644 index 79d31cf7fa..0000000000 --- a/interface/web/sites/lib/lang/hr_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hr_aps_instances_list.lng b/interface/web/sites/lib/lang/hr_aps_instances_list.lng deleted file mode 100644 index 7d19787ed7..0000000000 --- a/interface/web/sites/lib/lang/hr_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hr_aps_packages_list.lng b/interface/web/sites/lib/lang/hr_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/hr_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng b/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng deleted file mode 100644 index cb12fbd60e..0000000000 --- a/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hu.lng b/interface/web/sites/lib/lang/hu.lng index 2c156a4775..ad487874e4 100644 --- a/interface/web/sites/lib/lang/hu.lng +++ b/interface/web/sites/lib/lang/hu.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Átirányítás'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/hu_aps.lng b/interface/web/sites/lib/lang/hu_aps.lng deleted file mode 100644 index 88708732df..0000000000 --- a/interface/web/sites/lib/lang/hu_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hu_aps_instances_list.lng b/interface/web/sites/lib/lang/hu_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/hu_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hu_aps_packages_list.lng b/interface/web/sites/lib/lang/hu_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/hu_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/hu_aps_update_packagelist.lng b/interface/web/sites/lib/lang/hu_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/hu_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/id.lng b/interface/web/sites/lib/lang/id.lng index c8510df6cb..e360934f6a 100644 --- a/interface/web/sites/lib/lang/id.lng +++ b/interface/web/sites/lib/lang/id.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Pengalihan'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/id_aps.lng b/interface/web/sites/lib/lang/id_aps.lng deleted file mode 100644 index b8c9af2152..0000000000 --- a/interface/web/sites/lib/lang/id_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/id_aps_instances_list.lng b/interface/web/sites/lib/lang/id_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/id_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/id_aps_packages_list.lng b/interface/web/sites/lib/lang/id_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/id_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/id_aps_update_packagelist.lng b/interface/web/sites/lib/lang/id_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/id_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/it.lng b/interface/web/sites/lib/lang/it.lng index 77473bd0f8..d6fc0d51e7 100644 --- a/interface/web/sites/lib/lang/it.lng +++ b/interface/web/sites/lib/lang/it.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Redirect'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sito web'; $wb['Database User'] = 'Utente Database'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Pacchetti disponibili'; -$wb['Installed packages'] = 'Pacchetti Installati'; -$wb['Update Packagelist'] = 'Aggiorna Elenco Pacchetti'; $wb['Subdomain (Vhost)'] = 'Sottodominio (Vhost)'; $wb['error_proxy_requires_url'] = 'Tipo reinderizzamento \\"proxy\\" richiede una URL come percorso del reinderizzamento.'; ?> diff --git a/interface/web/sites/lib/lang/it_aps.lng b/interface/web/sites/lib/lang/it_aps.lng deleted file mode 100644 index 0a6365f98f..0000000000 --- a/interface/web/sites/lib/lang/it_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/it_aps_instances_list.lng b/interface/web/sites/lib/lang/it_aps_instances_list.lng deleted file mode 100644 index 312b9e6baa..0000000000 --- a/interface/web/sites/lib/lang/it_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/it_aps_packages_list.lng b/interface/web/sites/lib/lang/it_aps_packages_list.lng deleted file mode 100644 index 187818049a..0000000000 --- a/interface/web/sites/lib/lang/it_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/it_aps_update_packagelist.lng b/interface/web/sites/lib/lang/it_aps_update_packagelist.lng deleted file mode 100644 index aae7a4ba5c..0000000000 --- a/interface/web/sites/lib/lang/it_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ja.lng b/interface/web/sites/lib/lang/ja.lng index 920064bc5e..7bd10480ce 100644 --- a/interface/web/sites/lib/lang/ja.lng +++ b/interface/web/sites/lib/lang/ja.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'リダイレクト'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'サイト'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/ja_aps.lng b/interface/web/sites/lib/lang/ja_aps.lng deleted file mode 100644 index dc6b22edf7..0000000000 --- a/interface/web/sites/lib/lang/ja_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ja_aps_instances_list.lng b/interface/web/sites/lib/lang/ja_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/ja_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ja_aps_packages_list.lng b/interface/web/sites/lib/lang/ja_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/ja_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ja_aps_update_packagelist.lng b/interface/web/sites/lib/lang/ja_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/ja_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/nl.lng b/interface/web/sites/lib/lang/nl.lng index 8e07a1844a..d170952022 100644 --- a/interface/web/sites/lib/lang/nl.lng +++ b/interface/web/sites/lib/lang/nl.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Redirect'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Database gebruikers'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Beschikbare pakketten'; -$wb['Installed packages'] = 'Geïnstalleerde pakketten'; -$wb['Update Packagelist'] = 'Pakkettenlijst bijwerken'; $wb['Subdomain (Vhost)'] = 'Subdomein (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/nl_aps.lng b/interface/web/sites/lib/lang/nl_aps.lng deleted file mode 100644 index c0adacee99..0000000000 --- a/interface/web/sites/lib/lang/nl_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/nl_aps_instances_list.lng b/interface/web/sites/lib/lang/nl_aps_instances_list.lng deleted file mode 100644 index fba33a5e2f..0000000000 --- a/interface/web/sites/lib/lang/nl_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/nl_aps_packages_list.lng b/interface/web/sites/lib/lang/nl_aps_packages_list.lng deleted file mode 100644 index b52ea0e1bd..0000000000 --- a/interface/web/sites/lib/lang/nl_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/nl_aps_update_packagelist.lng b/interface/web/sites/lib/lang/nl_aps_update_packagelist.lng deleted file mode 100644 index 252f92d2d7..0000000000 --- a/interface/web/sites/lib/lang/nl_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pl.lng b/interface/web/sites/lib/lang/pl.lng index 22bbad3ec1..21c7cd6c9f 100644 --- a/interface/web/sites/lib/lang/pl.lng +++ b/interface/web/sites/lib/lang/pl.lng @@ -26,10 +26,6 @@ $wb['Web Access'] = 'Dostęp WWW'; $wb['Folder'] = 'Foldery chronione'; $wb['Folder users'] = 'Użytkownicy chronionych folderów'; $wb['Command Line'] = 'Linia poleceń'; -$wb['APS Installer'] = 'Instalator APS'; -$wb['Available packages'] = 'Dostępne pakiety'; -$wb['Installed packages'] = 'Zainstalowane pakiety'; -$wb['Update Packagelist'] = 'Uaktualnij listę pakietów'; $wb['Subdomain (Vhost)'] = 'Subdomena (Vhost)'; $wb['error_proxy_requires_url'] = 'Rodzaj przekierowania '; ?> diff --git a/interface/web/sites/lib/lang/pl_aps.lng b/interface/web/sites/lib/lang/pl_aps.lng deleted file mode 100644 index c17bbca532..0000000000 --- a/interface/web/sites/lib/lang/pl_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pl_aps_instances_list.lng b/interface/web/sites/lib/lang/pl_aps_instances_list.lng deleted file mode 100644 index b587dc74e8..0000000000 --- a/interface/web/sites/lib/lang/pl_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pl_aps_packages_list.lng b/interface/web/sites/lib/lang/pl_aps_packages_list.lng deleted file mode 100644 index 684f4d719b..0000000000 --- a/interface/web/sites/lib/lang/pl_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pl_aps_update_packagelist.lng b/interface/web/sites/lib/lang/pl_aps_update_packagelist.lng deleted file mode 100644 index b1facb1e82..0000000000 --- a/interface/web/sites/lib/lang/pl_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pt.lng b/interface/web/sites/lib/lang/pt.lng index c1fca015b8..a6351121f1 100644 --- a/interface/web/sites/lib/lang/pt.lng +++ b/interface/web/sites/lib/lang/pt.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Redireccionamento'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/pt_aps.lng b/interface/web/sites/lib/lang/pt_aps.lng deleted file mode 100644 index c17ef00914..0000000000 --- a/interface/web/sites/lib/lang/pt_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pt_aps_instances_list.lng b/interface/web/sites/lib/lang/pt_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/pt_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pt_aps_packages_list.lng b/interface/web/sites/lib/lang/pt_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/pt_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/pt_aps_update_packagelist.lng b/interface/web/sites/lib/lang/pt_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/pt_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ro.lng b/interface/web/sites/lib/lang/ro.lng index f674e91b80..2951ea1c78 100644 --- a/interface/web/sites/lib/lang/ro.lng +++ b/interface/web/sites/lib/lang/ro.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Redirect'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/ro_aps.lng b/interface/web/sites/lib/lang/ro_aps.lng deleted file mode 100644 index 881c146a4d..0000000000 --- a/interface/web/sites/lib/lang/ro_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ro_aps_instances_list.lng b/interface/web/sites/lib/lang/ro_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/ro_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ro_aps_packages_list.lng b/interface/web/sites/lib/lang/ro_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/ro_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ro_aps_update_packagelist.lng b/interface/web/sites/lib/lang/ro_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/ro_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ru.lng b/interface/web/sites/lib/lang/ru.lng index dbf2926043..2363f3b919 100644 --- a/interface/web/sites/lib/lang/ru.lng +++ b/interface/web/sites/lib/lang/ru.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Редирект'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Сайты'; $wb['Database User'] = 'Пользователи базы данных'; -$wb['APS Installer'] = 'Установщик APS'; -$wb['Available packages'] = 'Доступные пакеты'; -$wb['Installed packages'] = 'Установленные пакеты'; -$wb['Update Packagelist'] = 'Обновить список пакетов'; $wb['Subdomain (Vhost)'] = 'Поддомен (Vhost)'; $wb['error_proxy_requires_url'] = 'Тип редиректа \\"proxy\\" требует URL в качестве пути перенаправления.'; ?> diff --git a/interface/web/sites/lib/lang/ru_aps.lng b/interface/web/sites/lib/lang/ru_aps.lng deleted file mode 100644 index d2225358c1..0000000000 --- a/interface/web/sites/lib/lang/ru_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ru_aps_instances_list.lng b/interface/web/sites/lib/lang/ru_aps_instances_list.lng deleted file mode 100644 index e9f630fac0..0000000000 --- a/interface/web/sites/lib/lang/ru_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ru_aps_packages_list.lng b/interface/web/sites/lib/lang/ru_aps_packages_list.lng deleted file mode 100644 index 9928b59f02..0000000000 --- a/interface/web/sites/lib/lang/ru_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/ru_aps_update_packagelist.lng b/interface/web/sites/lib/lang/ru_aps_update_packagelist.lng deleted file mode 100644 index 3fb9fbde7c..0000000000 --- a/interface/web/sites/lib/lang/ru_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/se.lng b/interface/web/sites/lib/lang/se.lng index 6b44cdcf7c..e51139bb2e 100644 --- a/interface/web/sites/lib/lang/se.lng +++ b/interface/web/sites/lib/lang/se.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Vidarebefordran'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Webbsidor'; $wb['Database User'] = 'Databasanvändare'; -$wb['APS Installer'] = 'APS-installerare'; -$wb['Available packages'] = 'Tillgängliga paket'; -$wb['Installed packages'] = 'Installerade paket'; -$wb['Update Packagelist'] = 'Uppdatera paketlista'; $wb['Subdomain (Vhost)'] = 'Underdomän (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/se_aps.lng b/interface/web/sites/lib/lang/se_aps.lng deleted file mode 100644 index 3b32095d62..0000000000 --- a/interface/web/sites/lib/lang/se_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/se_aps_instances_list.lng b/interface/web/sites/lib/lang/se_aps_instances_list.lng deleted file mode 100644 index ae2791d639..0000000000 --- a/interface/web/sites/lib/lang/se_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/se_aps_packages_list.lng b/interface/web/sites/lib/lang/se_aps_packages_list.lng deleted file mode 100644 index 8555961a4e..0000000000 --- a/interface/web/sites/lib/lang/se_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng b/interface/web/sites/lib/lang/se_aps_update_packagelist.lng deleted file mode 100644 index 891a951688..0000000000 --- a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/sk.lng b/interface/web/sites/lib/lang/sk.lng index fabf52fda0..8caf086e0b 100644 --- a/interface/web/sites/lib/lang/sk.lng +++ b/interface/web/sites/lib/lang/sk.lng @@ -26,10 +26,6 @@ $wb['Redirect'] = 'Presmerovanie'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Stránky'; $wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> diff --git a/interface/web/sites/lib/lang/sk_aps.lng b/interface/web/sites/lib/lang/sk_aps.lng deleted file mode 100644 index d6e6c7f4ca..0000000000 --- a/interface/web/sites/lib/lang/sk_aps.lng +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/sk_aps_instances_list.lng b/interface/web/sites/lib/lang/sk_aps_instances_list.lng deleted file mode 100644 index 5742b7a6e9..0000000000 --- a/interface/web/sites/lib/lang/sk_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/sk_aps_packages_list.lng b/interface/web/sites/lib/lang/sk_aps_packages_list.lng deleted file mode 100644 index 68c378085f..0000000000 --- a/interface/web/sites/lib/lang/sk_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/sk_aps_update_packagelist.lng b/interface/web/sites/lib/lang/sk_aps_update_packagelist.lng deleted file mode 100644 index ce9fcf68fb..0000000000 --- a/interface/web/sites/lib/lang/sk_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/tr.lng b/interface/web/sites/lib/lang/tr.lng index b5e7f42e2e..36aff4f27f 100644 --- a/interface/web/sites/lib/lang/tr.lng +++ b/interface/web/sites/lib/lang/tr.lng @@ -26,10 +26,6 @@ $wb['Domain'] = 'Etki Alanı'; $wb['Redirect'] = 'Yönlendirme'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Siteler'; -$wb['APS Installer'] = 'APS Yükleyici'; -$wb['Available packages'] = 'Kullanılabilecek Paketler'; -$wb['Installed packages'] = 'Yüklü Paketler'; -$wb['Update Packagelist'] = 'Güncelleme Paketi Listesi'; $wb['Subdomain (Vhost)'] = 'Alt Etki Alanı (Sanal Sunucu)'; $wb['error_proxy_requires_url'] = '"Vekil Sunucu" yönlendirme türü için, yönlendirilecek yolu gösteren bir İnternet adresi gereklidir.'; ?> diff --git a/interface/web/sites/lib/lang/tr_aps.lng b/interface/web/sites/lib/lang/tr_aps.lng deleted file mode 100644 index c876629a74..0000000000 --- a/interface/web/sites/lib/lang/tr_aps.lng +++ /dev/null @@ -1,58 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/tr_aps_instances_list.lng b/interface/web/sites/lib/lang/tr_aps_instances_list.lng deleted file mode 100644 index 292c627f85..0000000000 --- a/interface/web/sites/lib/lang/tr_aps_instances_list.lng +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/tr_aps_packages_list.lng b/interface/web/sites/lib/lang/tr_aps_packages_list.lng deleted file mode 100644 index 2f972d5e61..0000000000 --- a/interface/web/sites/lib/lang/tr_aps_packages_list.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/sites/lib/lang/tr_aps_update_packagelist.lng b/interface/web/sites/lib/lang/tr_aps_update_packagelist.lng deleted file mode 100644 index 238a782268..0000000000 --- a/interface/web/sites/lib/lang/tr_aps_update_packagelist.lng +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php index a9aefad967..1dbd1a7f83 100644 --- a/interface/web/sites/lib/module.conf.php +++ b/interface/web/sites/lib/module.conf.php @@ -156,36 +156,6 @@ if($app->auth->get_client_limit($userid, 'shell_user') != 0 or $app->auth->get_c 'items' => $items); } -// APS menu -if($app->auth->get_client_limit($userid, 'aps') != 0) -{ - $items = array(); - - $items[] = array( 'title' => 'Available packages', - 'target' => 'content', - 'link' => 'sites/aps_availablepackages_list.php', - 'html_id' => 'aps_availablepackages_list'); - - $items[] = array( 'title' => 'Installed packages', - 'target' => 'content', - 'link' => 'sites/aps_installedpackages_list.php', - 'html_id' => 'aps_installedpackages_list'); - - - // Second menu group, available only for admins - if($_SESSION['s']['user']['typ'] == 'admin') - { - $items[] = array( 'title' => 'Update Packagelist', - 'target' => 'content', - 'link' => 'sites/aps_update_packagelist.php', - 'html_id' => 'aps_packagedetails_show'); - } - - $module['nav'][] = array( 'title' => 'APS Installer', - 'open' => 1, - 'items' => $items); -} - // Statistics menu $items = array(); diff --git a/interface/web/sites/lib/remote.conf.php b/interface/web/sites/lib/remote.conf.php index 19a48e3ca5..3889d33462 100644 --- a/interface/web/sites/lib/remote.conf.php +++ b/interface/web/sites/lib/remote.conf.php @@ -8,6 +8,5 @@ $function_list['sites_web_domain_get,sites_web_domain_add,sites_web_domain_updat $function_list['sites_web_domain_backup'] = 'Sites Backup functions'; $function_list['sites_web_aliasdomain_get,sites_web_aliasdomain_add,sites_web_aliasdomain_update,sites_web_aliasdomain_delete'] = 'Sites Aliasdomain functions'; $function_list['sites_web_subdomain_get,sites_web_subdomain_add,sites_web_subdomain_update,sites_web_subdomain_delete'] = 'Sites Subdomain functions'; -$function_list['sites_aps_update_package_list,sites_aps_available_packages_list,sites_aps_change_package_status,sites_aps_install_package,sites_aps_get_package_details,sites_aps_get_package_file,sites_aps_get_package_settings,sites_aps_instance_get,sites_aps_instance_delete'] = 'Sites APS functions'; $function_list['sites_webdav_user_get,sites_webdav_user_add,sites_webdav_user_update,sites_webdav_user_delete'] = 'Sites WebDAV-User functions'; ?> diff --git a/interface/web/sites/list/aps_availablepackages.list.php b/interface/web/sites/list/aps_availablepackages.list.php deleted file mode 100644 index 9fd1943422..0000000000 --- a/interface/web/sites/list/aps_availablepackages.list.php +++ /dev/null @@ -1,86 +0,0 @@ - 'name', - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'op' => 'like', - 'prefix' => '%', - 'suffix' => '%', - 'width' => '', - 'value' => ''); - -$liste["item"][] = array('field' => 'version', - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'op' => 'like', - 'prefix' => '%', - 'suffix' => '%', - 'width' => '', - 'value' => ''); - -$liste["item"][] = array('field' => 'category', - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'op' => '=', - 'prefix' => '', - 'suffix' => '', - 'datasource' => array('type' => 'SQL', - 'querystring' => 'SELECT category FROM aps_packages ORDER BY category', - 'keyfield' => 'category', - 'valuefield' => 'category'), - 'width' => '', - 'value' => ''); - -if($_SESSION['s']['user']['typ'] == 'admin') -{ - $liste['item'][] = array('field' => 'package_status', - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'op' => '=', - 'prefix' => '', - 'suffix' => '', - 'width' => '', - 'value' => array(PACKAGE_ENABLED => $app->lng('Yes'), - PACKAGE_LOCKED => $app->lng('No'))); -} -?> diff --git a/interface/web/sites/list/aps_installedpackages.list.php b/interface/web/sites/list/aps_installedpackages.list.php deleted file mode 100644 index 1f855082d5..0000000000 --- a/interface/web/sites/list/aps_installedpackages.list.php +++ /dev/null @@ -1,99 +0,0 @@ -functions->check_language($_SESSION['s']['language']).'_aps.lng'; -require_once $lngfile; -$app->tpl->setVar($wb); -$app->load_language_file('web/sites/'.$lngfile); - -$liste['name'] = 'aps_instances'; // Name of the list -$liste['table'] = 'aps_instances'; // Database table -$liste['table_idx'] = 'id'; // Table index - -// if multiple tables are involved, list the additional tables here (comma separated) -$liste["additional_tables"] = "aps_packages"; - -// if multiple tables are involved, specify sql to join these tables -$liste["join_sql"] = " aps_instances.package_id = aps_packages.id"; - -$liste["search_prefix"] = 'search_'; // Search field prefix -$liste['records_per_page'] = 15; // Records per page -$liste['file'] = 'aps_installedpackages_list.php'; // Script file for this list -$liste['edit_file'] = ''; // Script file to edit -$liste['delete_file'] = ''; // Script file to delete -$liste['paging_tpl'] = 'templates/paging.tpl.htm'; // Paging template -$liste['auth'] = 'no'; // Handling it myself (check for admin) - -// Search fields -$liste["item"][] = array('field' => 'name', - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'op' => 'LIKE', - 'prefix' => '%', - 'suffix' => '%', - 'width' => '', - 'value' => '', - 'table' => 'aps_packages'); - -$liste["item"][] = array('field' => 'version', - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'op' => 'like', - 'prefix' => '%', - 'suffix' => '%', - 'width' => '', - 'value' => '', - 'table' => 'aps_packages'); - -/* -$liste["item"][] = array('field' => 'customer_id', - 'datatype' => 'INTEGER', - 'formtype' => 'SELECT', - 'op' => '=', - 'prefix' => '', - 'suffix' => '', - 'width' => '', - 'value' => ''); -*/ - -$liste["item"][] = array('field' => 'instance_status', - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'op' => '=', - 'prefix' => '', - 'suffix' => '', - 'width' => '', - 'value' => array(INSTANCE_INSTALL => $app->lng('installation_task_txt'), - INSTANCE_ERROR => $app->lng('installation_error_txt'), - INSTANCE_SUCCESS => $app->lng('installation_success_txt'), - INSTANCE_REMOVE => $app->lng('installation_remove_txt')), - 'table' => 'aps_instances'); -?> diff --git a/interface/web/sites/templates/aps_install_package.htm b/interface/web/sites/templates/aps_install_package.htm deleted file mode 100644 index 255a8685d5..0000000000 --- a/interface/web/sites/templates/aps_install_package.htm +++ /dev/null @@ -1,125 +0,0 @@ -

- {tmpl_var name='installation_txt'}: {tmpl_var name='pkg_name'} {tmpl_var name='pkg_version'}-{tmpl_var name='pkg_release'} - - - {tmpl_var name='pkg_name'} - - -

- - -

ERROR

    {tmpl_var name='error'}
-
- - - - {tmpl_var name='basic_settings_txt'} -
- -
-
- http(s):// -
- DOMAIN_LIST_SPACE -
- / - -
-
-
- -
- -
-
-
- - PKG_SETTINGS_SPACE - - {tmpl_var name='license_txt'} -
- - {tmpl_var name='pkg_license_name'}
- - {tmpl_var name='pkg_license_content'} - -
-
-
-
- -
- checked/>   {tmpl_var name='acceptance_text'} -
-
- - - -
-
- - -
-
- - - - diff --git a/interface/web/sites/templates/aps_instances_list.htm b/interface/web/sites/templates/aps_instances_list.htm deleted file mode 100644 index ae3d095e7b..0000000000 --- a/interface/web/sites/templates/aps_instances_list.htm +++ /dev/null @@ -1,57 +0,0 @@ -

{tmpl_var name="list_head_txt"}

- - -

{tmpl_var name="list_head_txt"}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{tmpl_var name='name_txt'}{tmpl_var name='version_txt'}{tmpl_var name='install_location_txt'}{tmpl_var name='status_txt'} 
  - -
{tmpl_var name='package_name'}{tmpl_var name='package_version'}-{tmpl_var name='package_release'}{tmpl_var name='install_location_short'}{tmpl_var name='instance_status'} - - - -
{tmpl_var name='paging'}
-
- - \ No newline at end of file diff --git a/interface/web/sites/templates/aps_packagedetails_show.htm b/interface/web/sites/templates/aps_packagedetails_show.htm deleted file mode 100644 index 9419617d74..0000000000 --- a/interface/web/sites/templates/aps_packagedetails_show.htm +++ /dev/null @@ -1,138 +0,0 @@ -

- - {tmpl_var name='pkg_name'} - - {tmpl_var name='pkg_name'} -

-{tmpl_var name='pkg_summary'} -

 

- -
-
- - - -
-

 

 

- - -
- - -
- -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{tmpl_var name='version_txt'}{tmpl_var name='pkg_version'} (Release {tmpl_var name='pkg_release'})
{tmpl_var name='category_txt'}{tmpl_var name='pkg_category'}
{tmpl_var name='description_txt'}{tmpl_var name='pkg_description'}
{tmpl_var name='homepage_txt'} - {tmpl_var name='pkg_homepage'} -
{tmpl_var name='installed_size_txt'}{tmpl_var name='pkg_installed_size'}
{tmpl_var name='supported_languages_txt'}{tmpl_var name='pkg_languages'}
{tmpl_var name='config_script_txt'}{tmpl_var name='pkg_config_script'}
{tmpl_var name='license_txt'} - {tmpl_var name='pkg_license_name'}
- {tmpl_var name='pkg_license_content'} - -
-
-
- - {tmpl_var name='ScreenDescription'}
- {tmpl_var name='ScreenDescription'}

-
-
-
    - -
  • {tmpl_var name='ChangelogVersion'}
  • -
      - -
    • {tmpl_var name='ChangelogDescription'}
    • -
      -
    -
    -
-
{tmpl_var name='php_extensions_txt'}{tmpl_var name='pkg_requirements_php_extensions'}
{tmpl_var name='php_settings_txt'} - {tmpl_var name='PHPSettingName'} = {tmpl_var name='PHPSettingValue'}
-
{tmpl_var name='supported_php_versions_txt'}{tmpl_var name='pkg_requirements_supported_php_versions'}
{tmpl_var name='database_txt'}{tmpl_var name='pkg_requirements_database'}
-
-
- diff --git a/interface/web/sites/templates/aps_packages_list.htm b/interface/web/sites/templates/aps_packages_list.htm deleted file mode 100644 index fa3582ed74..0000000000 --- a/interface/web/sites/templates/aps_packages_list.htm +++ /dev/null @@ -1,53 +0,0 @@ -

{tmpl_var name="list_head_txt"}

- - -

{tmpl_var name="list_head_txt"} ({tmpl_var name='package_count'})

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{tmpl_var name='name_txt'}{tmpl_var name='version_txt'}{tmpl_var name='category_txt'}{tmpl_var name='status_txt'} 
{tmpl_var name='name'}{tmpl_var name='version'}-{tmpl_var name='release'}{tmpl_var name='category'}{tmpl_var name='package_status'} 
{tmpl_var name='globalsearch_noresults_text_txt'}
{tmpl_var name='paging'}
-
- -
\ No newline at end of file diff --git a/interface/web/sites/templates/aps_update_packagelist.htm b/interface/web/sites/templates/aps_update_packagelist.htm deleted file mode 100644 index a73d8b3c5b..0000000000 --- a/interface/web/sites/templates/aps_update_packagelist.htm +++ /dev/null @@ -1,12 +0,0 @@ - -

- - - {tmpl_var name="legend_txt"} - -
- - -
diff --git a/interface/web/sites/web_vhost_domain_del.php b/interface/web/sites/web_vhost_domain_del.php index 8de9aa5f0f..c27363b0b0 100644 --- a/interface/web/sites/web_vhost_domain_del.php +++ b/interface/web/sites/web_vhost_domain_del.php @@ -107,27 +107,13 @@ class page_action extends tform_actions { $app->db->datalogDelete('web_backup', 'backup_id', $rec['backup_id']); } - //* Delete all records that belog to this web. - $web_domain = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ?", $this->id); - if($web_domain['domain'] != ''){ - $aps_instances = $app->db->queryAllRecords("SELECT instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = ?", $web_domain['domain']); - if(is_array($aps_instances) && !empty($aps_instances)){ - foreach($aps_instances as $aps_instance){ - if($aps_instance['instance_id'] > 0){ - $app->db->datalogDelete('aps_instances_settings', 'instance_id', $aps_instance['instance_id']); - $app->db->datalogDelete('aps_instances', 'id', $aps_instance['instance_id']); - } - } - } - } - //* Remove parent_domain_id from databases $records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ?", $this->id); foreach($records as $rec) { $app->db->datalogUpdate('web_database', array('parent_domain_id' => 0), 'database_id', $rec['database_id']); } } - + //* Delete all web folders $records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = ?", $this->id); foreach($records as $rec) { -- GitLab From f0474a432d5da1a2861d1d34f7346e8737ace0ec Mon Sep 17 00:00:00 2001 From: thom Date: Tue, 28 Jul 2020 11:25:33 +0200 Subject: [PATCH 2/9] Purge APS (#5676) --- install/dist/lib/fedora.lib.php | 4 - install/dist/lib/gentoo.lib.php | 4 - install/dist/lib/opensuse.lib.php | 4 - install/lib/installer_base.lib.php | 4 - interface/lib/classes/aps_base.inc.php | 111 -- interface/lib/classes/aps_crawler.inc.php | 652 ------------ .../lib/classes/aps_guicontroller.inc.php | 950 ------------------ interface/lib/classes/remote.d/aps.inc.php | 359 ------- .../sites_web_vhost_domain_plugin.inc.php | 30 +- .../web/admin/lib/lang/br_remote_user.lng | 1 - interface/web/client/lib/lang/ar_client.lng | 3 - .../client/lib/lang/ar_client_template.lng | 3 - interface/web/client/lib/lang/ar_reseller.lng | 3 - interface/web/client/lib/lang/bg_client.lng | 3 - .../client/lib/lang/bg_client_template.lng | 3 - interface/web/client/lib/lang/bg_reseller.lng | 3 - interface/web/client/lib/lang/ca_client.lng | 3 - .../client/lib/lang/ca_client_template.lng | 3 - interface/web/client/lib/lang/ca_reseller.lng | 3 - interface/web/client/lib/lang/cz_client.lng | 3 - .../client/lib/lang/cz_client_template.lng | 3 - interface/web/client/lib/lang/cz_reseller.lng | 3 - interface/web/client/lib/lang/de_client.lng | 3 - .../client/lib/lang/de_client_template.lng | 3 - interface/web/client/lib/lang/de_reseller.lng | 3 - interface/web/client/lib/lang/dk_client.lng | 3 - .../client/lib/lang/dk_client_template.lng | 3 - interface/web/client/lib/lang/dk_reseller.lng | 3 - interface/web/client/lib/lang/el_client.lng | 3 - .../client/lib/lang/el_client_template.lng | 3 - interface/web/client/lib/lang/el_reseller.lng | 3 - interface/web/client/lib/lang/en_client.lng | 3 - .../client/lib/lang/en_client_template.lng | 3 - interface/web/client/lib/lang/en_reseller.lng | 3 - interface/web/client/lib/lang/es_client.lng | 3 - .../client/lib/lang/es_client_template.lng | 3 - interface/web/client/lib/lang/es_reseller.lng | 3 - interface/web/client/lib/lang/fi_client.lng | 3 - .../client/lib/lang/fi_client_template.lng | 3 - interface/web/client/lib/lang/fi_reseller.lng | 3 - interface/web/client/lib/lang/fr_client.lng | 3 - .../client/lib/lang/fr_client_template.lng | 3 - interface/web/client/lib/lang/fr_reseller.lng | 3 - interface/web/client/lib/lang/hr_client.lng | 3 - .../client/lib/lang/hr_client_template.lng | 3 - interface/web/client/lib/lang/hr_reseller.lng | 3 - interface/web/client/lib/lang/hu_client.lng | 3 - .../client/lib/lang/hu_client_template.lng | 3 - interface/web/client/lib/lang/hu_reseller.lng | 3 - interface/web/client/lib/lang/id_client.lng | 3 - .../client/lib/lang/id_client_template.lng | 3 - interface/web/client/lib/lang/id_reseller.lng | 3 - interface/web/client/lib/lang/it_client.lng | 3 - .../client/lib/lang/it_client_template.lng | 3 - interface/web/client/lib/lang/it_reseller.lng | 3 - interface/web/client/lib/lang/ja_client.lng | 3 - .../client/lib/lang/ja_client_template.lng | 3 - interface/web/client/lib/lang/ja_reseller.lng | 3 - interface/web/client/lib/lang/nl_client.lng | 3 - .../client/lib/lang/nl_client_template.lng | 3 - interface/web/client/lib/lang/nl_reseller.lng | 3 - interface/web/client/lib/lang/pl_client.lng | 3 - .../client/lib/lang/pl_client_template.lng | 3 - interface/web/client/lib/lang/pl_reseller.lng | 3 - interface/web/client/lib/lang/pt_client.lng | 3 - .../client/lib/lang/pt_client_template.lng | 3 - interface/web/client/lib/lang/pt_reseller.lng | 3 - interface/web/client/lib/lang/ro_client.lng | 3 - .../client/lib/lang/ro_client_template.lng | 3 - interface/web/client/lib/lang/ro_reseller.lng | 3 - interface/web/client/lib/lang/ru_client.lng | 3 - .../client/lib/lang/ru_client_template.lng | 3 - interface/web/client/lib/lang/ru_reseller.lng | 3 - interface/web/client/lib/lang/se_client.lng | 3 - .../client/lib/lang/se_client_template.lng | 3 - interface/web/client/lib/lang/se_reseller.lng | 3 - interface/web/client/lib/lang/sk_client.lng | 3 - .../client/lib/lang/sk_client_template.lng | 3 - interface/web/client/lib/lang/sk_reseller.lng | 3 - interface/web/client/lib/lang/tr_client.lng | 3 - .../client/lib/lang/tr_client_template.lng | 3 - interface/web/client/lib/lang/tr_reseller.lng | 3 - .../templates/client_template_edit_limits.htm | 20 +- .../client/templates/reseller_edit_limits.htm | 20 +- .../sites_aps_available_packages_list.html | 29 - .../sites_aps_change_package_status.html | 29 - .../sites_aps_get_package_details.html | 29 - .../API-docs/sites_aps_get_package_file.html | 29 - .../sites_aps_get_package_settings.html | 29 - .../API-docs/sites_aps_install_package.html | 29 - .../API-docs/sites_aps_instance_delete.html | 29 - .../API-docs/sites_aps_instance_get.html | 29 - .../sites_aps_instance_settings_get.html | 29 - .../sites_aps_update_package_list.html | 29 - server/lib/classes/aps_base.inc.php | 111 -- server/lib/classes/aps_installer.inc.php | 707 ------------- server/plugins-available/aps_plugin.inc.php | 128 --- 97 files changed, 7 insertions(+), 3604 deletions(-) delete mode 100644 interface/lib/classes/aps_base.inc.php delete mode 100644 interface/lib/classes/aps_crawler.inc.php delete mode 100644 interface/lib/classes/aps_guicontroller.inc.php delete mode 100644 interface/lib/classes/remote.d/aps.inc.php delete mode 100644 remoting_client/API-docs/sites_aps_available_packages_list.html delete mode 100644 remoting_client/API-docs/sites_aps_change_package_status.html delete mode 100644 remoting_client/API-docs/sites_aps_get_package_details.html delete mode 100644 remoting_client/API-docs/sites_aps_get_package_file.html delete mode 100644 remoting_client/API-docs/sites_aps_get_package_settings.html delete mode 100644 remoting_client/API-docs/sites_aps_install_package.html delete mode 100644 remoting_client/API-docs/sites_aps_instance_delete.html delete mode 100644 remoting_client/API-docs/sites_aps_instance_get.html delete mode 100644 remoting_client/API-docs/sites_aps_instance_settings_get.html delete mode 100644 remoting_client/API-docs/sites_aps_update_package_list.html delete mode 100644 server/lib/classes/aps_base.inc.php delete mode 100644 server/lib/classes/aps_installer.inc.php delete mode 100644 server/plugins-available/aps_plugin.inc.php diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index 9ffc7d0ef4..48fbaaafc5 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -1151,10 +1151,6 @@ class installer_dist extends installer_base { } } - //* Make the APS directories group writable - exec("chmod -R 770 $install_dir/interface/web/sites/aps_meta_packages"); - exec("chmod -R 770 $install_dir/server/aps_packages"); - //* make sure that the server config file (not the interface one) is only readable by the root user chmod($install_dir.'/server/lib/config.inc.php', 0600); chown($install_dir.'/server/lib/config.inc.php', 'root'); diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index 324fe06e9a..ff03daa99b 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -1036,10 +1036,6 @@ class installer extends installer_base } } - //* Make the APS directories group writable - exec("chmod -R 770 $install_dir/interface/web/sites/aps_meta_packages"); - exec("chmod -R 770 $install_dir/server/aps_packages"); - //* make sure that the server config file (not the interface one) is only readable by the root user chmod($install_dir.'/server/lib/config.inc.php', 0600); chown($install_dir.'/server/lib/config.inc.php', 'root'); diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index 15ab5b6e91..57ca66039b 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -1141,10 +1141,6 @@ class installer_dist extends installer_base { } } - //* Make the APS directories group writable - exec("chmod -R 770 $install_dir/interface/web/sites/aps_meta_packages"); - exec("chmod -R 770 $install_dir/server/aps_packages"); - //* make sure that the server config file (not the interface one) is only readable by the root user chmod($install_dir.'/server/lib/config.inc.php', 0600); chown($install_dir.'/server/lib/config.inc.php', 'root'); diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 265dd8c583..18880d1d3d 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -2834,10 +2834,6 @@ class installer_base { } } - //* Make the APS directories group writable - exec("chmod -R 770 $install_dir/interface/web/sites/aps_meta_packages"); - exec("chmod -R 770 $install_dir/server/aps_packages"); - //* make sure that the server config file (not the interface one) is only readable by the root user chmod($install_dir.'/server/lib/config.inc.php', 0600); chown($install_dir.'/server/lib/config.inc.php', 'root'); diff --git a/interface/lib/classes/aps_base.inc.php b/interface/lib/classes/aps_base.inc.php deleted file mode 100644 index e93a9a9743..0000000000 --- a/interface/lib/classes/aps_base.inc.php +++ /dev/null @@ -1,111 +0,0 @@ -log_prefix = $log_prefix; - $this->interface_mode = $interface_mode; - $this->fetch_url = 'apscatalog.com'; - $this->aps_version = '1.2'; - $this->packages_dir = ISPC_ROOT_PATH.'/aps_packages'; - $this->interface_pkg_dir = ISPC_ROOT_PATH.'/web/sites/aps_meta_packages'; - } - - - - /** - * Converts a given value to it's native representation in 1024 units - * - * @param $value the size to convert - * @return integer and string - */ - public function convertSize($value) - { - $unit = array('Bytes', 'KB', 'MB', 'GB', 'TB'); - return @round($value/pow(1024, ($i = floor(log($value, 1024)))), 2).' '.$unit[$i]; - } - - - - /** - * Determine a specific xpath from a given SimpleXMLElement handle. If the - * element is found, it's string representation is returned. If not, - * the return value will stay empty - * - * @param $xml_handle the SimpleXMLElement handle - * @param $query the XPath query - * @param $array define whether to return an array or a string - * @return $ret the return string - */ - protected function getXPathValue($xml_handle, $query, $array = false) - { - $ret = ''; - - $xp_result = @($xml_handle->xpath($query)) ? $xml_handle->xpath($query) : false; - if($xp_result !== false) $ret = (($array === false) ? (string)$xp_result[0] : $xp_result); - - return $ret; - } - -} - -?> diff --git a/interface/lib/classes/aps_crawler.inc.php b/interface/lib/classes/aps_crawler.inc.php deleted file mode 100644 index a8fe812d28..0000000000 --- a/interface/lib/classes/aps_crawler.inc.php +++ /dev/null @@ -1,652 +0,0 @@ -interface_mode) - { - if(!is_writable($this->interface_pkg_dir)) - throw new Exception('the folder '.basename($this->interface_pkg_dir).' is not writable'); - } - else - { - if(!is_writable($this->packages_dir)) - throw new Exception('the folder '.basename($this->packages_dir).' is not writable'); - } - - return true; - } - - catch(Exception $e) - { - $app->log($this->log_prefix.'Aborting execution because '.$e->getMessage(), LOGLEVEL_ERROR); - return false; - } - } - - - - /** - * Remove a directory recursively - * In case of error be silent - * - * @param $dir the directory to remove - */ - private function removeDirectory($dir) - { - if(is_dir($dir)) - { - $files = scandir($dir); - foreach($files as $file) - { - if($file != '.' && $file != '..') - if(filetype($dir.'/'.$file) == 'dir') $this->removeDirectory($dir.'/'.$file); - else @unlink($dir.'/'.$file); - } - reset($files); - @rmdir($dir); - } - } - - - /** - * Fetch HTML data from one or more given URLs - * If a string is given, a string is returned, if an array of URLs should - * be fetched, the responses of the parallel queries are returned as array - * - * @param $input the string or array to fetch - * @return $ret a query response string or array - */ - private function fetchPage($input) - { - $ret = array(); - $url = array(); - $conn = array(); - - // Make sure we are working with an array, further on - if(!is_array($input)) $url[] = $input; - else $url = $input; - - // Build the single cURL handles and add them to a multi handle - $mh = curl_multi_init(); - for($i = 0; $i < count($url); $i++) - { - $conn[$i] = curl_init('http://'.$this->fetch_url.$url[$i]); - curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, true); - curl_multi_add_handle($mh, $conn[$i]); - } - - $active = 0; - do curl_multi_exec($mh, $active); - while($active > 0); - - // Get the response(s) - for($i = 0; $i < count($url); $i++) - { - $ret[$i] = curl_multi_getcontent($conn[$i]); - curl_multi_remove_handle($mh, $conn[$i]); - curl_close($conn[$i]); - } - curl_multi_close($mh); - - if(count($url) == 1) $ret = $ret[0]; - - return $ret; - } - - - - /** - * Fetch binary data from a given array - * The data is retrieved in binary mode and - * then directly written to an output file - * - * @param $input a specially structed array - * @see $this->startUpdate() - */ - private function fetchFiles($input) - { - $fh = array(); - $url = array(); - $conn = array(); - - // Build the single cURL handles and add them to a multi handle - $mh = curl_multi_init(); - - // Process each app - for($i = 0; $i < count($input); $i++) - { - $conn[$i] = curl_init($input[$i]['url']); - $fh[$i] = fopen($input[$i]['localtarget'], 'wb'); - - curl_setopt($conn[$i], CURLOPT_BINARYTRANSFER, true); - curl_setopt($conn[$i], CURLOPT_FILE, $fh[$i]); - curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); - curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); - curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); - curl_setopt($conn[$i], CURLOPT_SSL_VERIFYHOST, 1); - curl_setopt($conn[$i], CURLOPT_SSL_VERIFYPEER, false); - - curl_multi_add_handle($mh, $conn[$i]); - } - - $active = 0; - do curl_multi_exec($mh, $active); - while($active > 0); - - // Close the handles - for($i = 0; $i < count($input); $i++) - { - fclose($fh[$i]); - curl_multi_remove_handle($mh, $conn[$i]); - curl_close($conn[$i]); - } - curl_multi_close($mh); - } - - - - /** - * A method to build query URLs out of a list of vendors - * - */ - private function formatVendorCallback($array_item) - { - $array_item = str_replace(' ', '%20', $array_item); - $array_item = str_replace('http://', '', $array_item); - $array_item = '/'.$this->aps_version.'.atom?vendor='.$array_item.'&pageSize=100'; - return $array_item; - } - - - - /** - * The main method which performs the actual crawling - */ - public function startCrawler() - { - global $app; - - try - { - // Make sure the requirements are given so that this script can execute - $req_ret = $this->checkRequirements(); - if(!$req_ret) return false; - - // Execute the open task and first fetch all vendors (APS catalog API 1.1, p. 12) - $app->log($this->log_prefix.'Fetching data from '.$this->fetch_url); - - $vendor_page = $this->fetchPage('/all-app/'); //$vendor_page = $this->fetchPage('/'.$this->aps_version.'/'); - preg_match_all("/\ /1.atom?vendor=typo3.org&pageSize=100 - //array_walk($vendors, array($this, 'formatVendorCallback')); - if(is_array($vendors)) { - foreach($vendors as $key => $array_item) { - $vendors[$key] = $this->formatVendorCallback($array_item); - } - } - - // Process all vendors in chunks of 50 entries - $vendor_chunks = array_chunk($vendors, 50); - //var_dump($vendor_chunks); - - // Get all known apps from the database and the highest known version - // Note: A dirty hack is used for numerical sorting of the VARCHAR field Version: +0 -> cast - // A longer but typesafe way would be: ORDER BY CAST(REPLACE(Version, '.', '') AS UNSIGNED) DESC - $existing_apps = array(); - $tmpres = $app->db->query("SELECT name as `Name`, CONCAT(version, '-', CAST(`release` AS CHAR)) AS CurrentVersion FROM aps_packages ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version,'.0.0.0'),'.',4)) DESC, `release` DESC"); - while($tmp = $tmpres->get()) { - if(!array_key_exists($tmp['Name'], $existing_apps)) $existing_apps[$tmp['Name']] = $tmp; - } - $tmpres->free(); - unset($tmp); - //var_dump($existing_apps); - - // Used for statistics later - $apps_in_repo = 0; - $apps_updated = 0; - $apps_downloaded = 0; - - $apps_to_dl = array(); - - for($i = 0; $i < count($vendor_chunks); $i++) - { - // Fetch all apps for the current chunk of vendors - $apps = $this->fetchPage($vendor_chunks[$i]); - - for($j = 0; $j < count($apps); $j++) - { - // Before parsing, make sure it's worth the work by checking if at least one app exists - $apps_count = substr_count($apps[$j], '0'); - if($apps_count == 0) // obviously this vendor provides one or more apps - { - try { - // Rename namespaces and register them - $xml = str_replace("xmlns=", "ns=", $apps[$j]); - $sxe = new SimpleXMLElement($xml); - $namespaces = $sxe->getDocNamespaces(true); - foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); - - //Find highest version - $app_version = "0.0.0"; - $entry_pos = 1; - for ($p = 1; ; $p++) { - $app_version_tmp = parent::getXPathValue($sxe, 'entry[position()=' . $p . ']/a:version'); - if (strlen($app_version_tmp) < 1) break; - if (version_compare($app_version_tmp, $app_version) >= 0) { - $app_version = $app_version_tmp; - $entry_pos = $p; - } - } - - // Fetching values of interest - //$app_name = parent::getXPathValue($sxe, 'entry[position()=1]/a:name'); - //$app_version = parent::getXPathValue($sxe, 'entry[position()=1]/a:version'); - //$app_release = parent::getXPathValue($sxe, 'entry[position()=1]/a:release'); - $app_name = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/a:name"); - $app_version = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/a:version"); - $app_release = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/a:release"); - - // Find out a (possibly) existing package version - $ex_ver = ''; - /* - array_walk($existing_apps, - create_function('$v, $k, $ex_ver', 'if($v["Name"] == "'.$app_name.'") $ex_ver = $v["CurrentVersion"];'), &$ex_ver); - */ - if(is_array($existing_apps)) { - foreach($existing_apps as $k => $v) { - if($v["Name"] == $app_name) $ex_ver = $v["CurrentVersion"]; - } - } - - $new_ver = $app_version.'-'.$app_release; - $local_intf_folder = $this->interface_pkg_dir.'/'.$app_name.'-'.$new_ver.'.app.zip/'; - - // Proceed if a newer or at least equal version has been found with server mode or - // interface mode is activated and there are no valid APP-META.xml and PKG_URL existing yet - if((!$this->interface_mode && version_compare($new_ver, $ex_ver) >= 0) || ($this->interface_mode && (!file_exists($local_intf_folder.'APP-META.xml') || filesize($local_intf_folder.'APP-META.xml') == 0 || !file_exists($local_intf_folder.'PKG_URL') || filesize($local_intf_folder.'PKG_URL') == 0))){ - // Check if we already have an old version of this app - if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) $apps_updated++; - - //$app_dl = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='aps']/@href"); - //$app_filesize = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='aps']/@length"); - //$app_metafile = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='meta']/@href"); - $app_dl = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/link[@a:type='aps']/@href"); - $app_filesize = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/link[@a:type='aps']/@length"); - $app_metafile = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/link[@a:type='meta']/@href"); - - //$this->app_download_url_list[$app_name.'-'.$new_ver.'.app.zip'] = $app_dl; - // Skip ASP.net packages because they can't be used at all - $asp_handler = parent::getXPathValue($sxe, '//aspnet:handler'); - $asp_permissions = parent::getXPathValue($sxe, '//aspnet:permissions'); - $asp_version = parent::getXPathValue($sxe, '//aspnet:version'); - if(!empty($asp_handler) || !empty($asp_permissions) || !empty($asp_version)) continue; - - // Interface mode (download only parts) - if($this->interface_mode) - { - // Delete an obviously out-dated version from the system and DB - if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) - { - $old_folder = $this->interface_pkg_dir.'/'.$app_name.'-'.$ex_ver.'.app.zip'; - if(file_exists($old_folder)) $this->removeDirectory($old_folder); - - $tmp = $app->db->queryOneRecord("SELECT id FROM aps_packages WHERE name = ? AND CONCAT(version, '-', CAST(`release` AS CHAR)) = ?", $app_name, $ex_ver); - $app->db->datalogUpdate('aps_packages', array("package_status" => PACKAGE_OUTDATED), 'id', $tmp['id']); - unset($tmp); - } - - // Create the local folder if not yet existing - if(!file_exists($local_intf_folder)) @mkdir($local_intf_folder, 0777, true); - - // Save the package URL in an extra file because it's not part of the APP-META.xml file - @file_put_contents($local_intf_folder.'PKG_URL', $app_dl); - - // Download the meta file - $local_metafile = $local_intf_folder.'APP-META.xml'; - if(!file_exists($local_metafile) || filesize($local_metafile) == 0) - { - $apps_to_dl[] = array('name' => 'APP-META.xml', - 'url' => $app_metafile, - 'filesize' => 0, - 'localtarget' => $local_metafile); - $apps_downloaded++; - } - - // Download package license - //$license = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='eula']/@href"); - $license = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/link[@a:type='eula']/@href"); - if($license != '') - { - $local_license = $local_intf_folder.'LICENSE'; - if(!file_exists($local_license) || filesize($local_license) == 0) - { - $apps_to_dl[] = array('name' => basename($license), - 'url' => $license, - 'filesize' => 0, - 'localtarget' => $local_license); - } - } - - // Download package icon - //$icon = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='icon']/@href"); - $icon = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/link[@a:type='icon']/@href"); - if($icon != '') - { - $local_icon = $local_intf_folder.basename($icon); - if(!file_exists($local_icon) || filesize($local_icon) == 0) - { - $apps_to_dl[] = array('name' => basename($icon), - 'url' => $icon, - 'filesize' => 0, - 'localtarget' => $local_icon); - } - } - - // Download available screenshots - //$screenshots = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='screenshot']", true); - $screenshots = parent::getXPathValue($sxe, "entry[position()=" . $entry_pos . "]/link[@a:type='screenshot']", true); - if(!empty($screenshots)) - { - foreach($screenshots as $screen) - { - $local_screen = $local_intf_folder.basename($screen['href']); - if(!file_exists($local_screen) || filesize($local_screen) == 0) - { - $apps_to_dl[] = array('name' => basename($screen['href']), - 'url' => $screen['href'], - 'filesize' => 0, - 'localtarget' => $local_screen); - } - } - } - } - else // Server mode (download whole ZIP archive) - { - // Delete an obviously out-dated version from the system - if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) - { - $old_file = $this->packages_dir.'/'.$app_name.'-'.$ex_ver.'.app.zip'; - if(file_exists($old_file)) $this->removeDirectory($old_file); - } - - // Attention: $new_ver can also be == $ex_ver (according to version_compare >= 0) - $local_zip = $this->packages_dir.'/'.$app_name.'-'.$new_ver.'.app.zip'; - - // Before re-downloading a file, make sure it's not yet existing on HDD (due to DB inconsistency) - if((file_exists($local_zip) && (filesize($local_zip) == $app_filesize)) === false) - { - $apps_to_dl[] = array('name' => $app_name, - 'url' => $app_dl, - 'filesize' => $app_filesize, - 'localtarget' => $local_zip); - $apps_downloaded++; - } - } - } - - unset($sxe); - $apps_in_repo++; - } catch (Exception $e) { - // We dont want the crawler to fail on xml parse errors - $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_WARN); - //echo 'Caught exception: ', $e->getMessage(), "\n"; - } - } - } - //var_dump($apps); - //echo print_r($apps_to_dl).'
-------------------
'; - - // For memory reasons, unset the current vendor and his apps - unset($apps); - } - - // Shuffle the download array (in order to compensate unexpected php aborts) - shuffle($apps_to_dl); - - // After collecting all provisioned apps, download them - $apps_to_dl_chunks = array_chunk($apps_to_dl, 10); - - for($i = 0; $i < count($apps_to_dl_chunks); $i++) - { - $this->fetchFiles($apps_to_dl_chunks[$i]); - - // Check the integrity of all downloaded files - // but exclude cases where no filesize is available (i.e. screenshot or metafile download) - for($j = 0; $j < count($apps_to_dl_chunks[$i]); $j++) - { - if($apps_to_dl_chunks[$i][$j]['filesize'] != 0 && - $apps_to_dl_chunks[$i][$j]['filesize'] != filesize($apps_to_dl_chunks[$i][$j]['localtarget'])) - { - $app->log($this->log_prefix.' The filesize of the package "'. - $apps_to_dl_chunks[$i][$j]['name'].'" is wrong. Download failure?', LOGLEVEL_WARN); - } - } - } - - $app->log($this->log_prefix.'Processed '.$apps_in_repo. - ' apps from the repo. Downloaded '.$apps_updated. - ' updates, '.$apps_downloaded.' new apps'); - - $prevapp = ''; - $res = $app->db->query("SELECT `id`, `name`, `version`, `release`, `package_status` FROM `aps_packages` WHERE 1 ORDER BY `name` ASC, INET_ATON(SUBSTRING_INDEX(CONCAT(version,'.0.0.0'),'.',4)) DESC, `release` DESC"); - while($curapp = $res->get()) { - if($curapp['name'] != $prevapp) { - $prevapp = $curapp['name']; - continue; - } - if($curapp['package_status'] != PACKAGE_OUTDATED) { - $app->log($this->log_prefix.'Tagging ' . $curapp['name'] . ' ' . $curapp['version'] . '-' . $curapp['release'] . ' as outdated.'); - $app->db->query("UPDATE `aps_packages` SET `package_status` = ? WHERE `id` = ?", PACKAGE_OUTDATED, $curapp['id']); - $app->db->datalogUpdate('aps_packages', array("package_status" => PACKAGE_OUTDATED), 'id', $curapp['id']); - } - } - $res->free(); - unset($curapp); - unset($prevapp); - } - - catch(Exception $e) - { - $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); - return false; - } - } - - - - /** - * Read in all possible packages from the interface packages folder and - * check if they are not ASP.net code (as this can't be processed). - * - * Note: There's no need to check if the packages to register are newer - * than those in the database because this already happended in startCrawler() - */ - public function parseFolderToDB() - { - global $app; - - try - { - // This method must be used in interface mode - if(!$this->interface_mode) return false; - - $pkg_list = array(); - - // Read in every package having a correct filename - $temp_handle = @dir($this->interface_pkg_dir); - if(!$temp_handle) throw new Exception('The temp directory is not accessible'); - while($folder = $temp_handle->read()) - if(substr($folder, -8) == '.app.zip') $pkg_list[] = $folder; - $temp_handle->close(); - - // If no packages are available -> exception (because at this point there should exist packages) - if(empty($pkg_list)) throw new Exception('No packages to read in'); - - // Get registered packages and mark non-existant packages with an error code to omit the install - $existing_packages = array(); - $path_query = $app->db->queryAllRecords('SELECT path AS Path FROM aps_packages'); - foreach($path_query as $path) $existing_packages[] = $path['Path']; - $diff = array_diff($existing_packages, $pkg_list); - foreach($diff as $todelete) { - $tmp = $app->db->queryOneRecord("SELECT id FROM aps_packages WHERE path = ?", $todelete); - $app->db->datalogUpdate('aps_packages', array("package_status" => PACKAGE_ERROR_NOMETA), 'id', $tmp['id']); - unset($tmp); - } - - // Register all new packages - $new_packages = array_diff($pkg_list, $existing_packages); - foreach($new_packages as $pkg) - { - // Load in meta file if existing and register its namespaces - $metafile = $this->interface_pkg_dir.'/'.$pkg.'/APP-META.xml'; - if(!file_exists($metafile)) - { - $app->log($this->log_prefix.'Cannot read metadata from '.$pkg, LOGLEVEL_ERROR); - continue; - } - - $metadata = file_get_contents($metafile); - $metadata = str_replace("xmlns=", "ns=", $metadata); - $sxe = new SimpleXMLElement($metadata); - $namespaces = $sxe->getDocNamespaces(true); - foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); - - // Insert the new package - $pkg_name = parent::getXPathValue($sxe, 'name'); - $pkg_category = parent::getXPathValue($sxe, '//category'); - $pkg_version = parent::getXPathValue($sxe, 'version'); - $pkg_release = parent::getXPathValue($sxe, 'release'); - //$pkg_url = $this->app_download_url_list[$pkg]; - $pkg_url = @file_get_contents($this->interface_pkg_dir.'/'.$pkg.'/PKG_URL'); - - // Insert only if data is complete - if($pkg != '' && $pkg_name != '' && $pkg_category != '' && $pkg_version != '' && $pkg_release != '' && $pkg_url){ - $insert_data = array( - "path" => $pkg, - "name" => $pkg_name, - "category" => $pkg_category, - "version" => $pkg_version, - "release" => $pkg_release, - "package_url" => $pkg_url, - "package_status" => PACKAGE_ENABLED - ); - $app->db->datalogInsert('aps_packages', $insert_data, 'id'); - } else { - if(file_exists($this->interface_pkg_dir.'/'.$pkg)) $this->removeDirectory($this->interface_pkg_dir.'/'.$pkg); - } - } - } - - catch(Exception $e) - { - $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); - $app->error($e->getMessage()); - return false; - } - } - - - - /** - * Add missing package URLs to database - */ - public function fixURLs() - { - global $app; - - try - { - // This method must be used in interface mode - if(!$this->interface_mode) return false; - - $incomplete_pkgs = $app->db->queryAllRecords("SELECT * FROM aps_packages WHERE package_url = ?", ''); - if(is_array($incomplete_pkgs) && !empty($incomplete_pkgs)){ - foreach($incomplete_pkgs as $incomplete_pkg){ - $pkg_url = @file_get_contents($this->interface_pkg_dir.'/'.$incomplete_pkg['path'].'/PKG_URL'); - if($pkg_url != ''){ - $app->db->datalogUpdate('aps_packages', array("package_url" => $pkg_url), 'id', $incomplete_pkg['id']); - } - } - } - } - - catch(Exception $e) - { - $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); - $app->error($e->getMessage()); - return false; - } - } - -} - -?> diff --git a/interface/lib/classes/aps_guicontroller.inc.php b/interface/lib/classes/aps_guicontroller.inc.php deleted file mode 100644 index b1ebf9d189..0000000000 --- a/interface/lib/classes/aps_guicontroller.inc.php +++ /dev/null @@ -1,950 +0,0 @@ -getDocNamespaces(true); - foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); - - return $sxe; - } - - - - /** - * Applies a RegEx pattern onto a location path in order to secure it against - * code injections and invalid input - * - * @param $location_unfiltered the file path to secure - * @return $location - */ - private function secureLocation($location_unfiltered) - { - // Filter invalid slashes from string - $location = preg_replace(array('#/+#', '#\.+#', '#\0+#', '#\\\\+#'), - array('/', '', '', '/'), - $location_unfiltered); - - // Remove a beginning or trailing slash - if(substr($location, -1) == '/') $location = substr($location, 0, strlen($location) - 1); - if(substr($location, 0, 1) == '/') $location = substr($location, 1); - - return $location; - } - - - - /** - * Gets the CustomerID (ClientID) which belongs to a specific domain - * - * @param $domain the domain - * @return $customerid - */ - private function getCustomerIDFromDomain($domain) - { - global $app; - $customerid = 0; - - $customerdata = $app->db->queryOneRecord("SELECT client_id FROM sys_group, web_domain - WHERE web_domain.sys_groupid = sys_group.groupid - AND web_domain.domain = ?", $domain); - if(!empty($customerdata)) $customerid = $customerdata['client_id']; - - return $customerid; - } - - - - /** - * Returns the server_id for an already installed instance. Is actually - * just a little helper method to avoid redundant code - * - * @param $instanceid the instance to process - * @return $webserver_id the server_id - */ - private function getInstanceDataForDatalog($instanceid) - { - global $app; - $webserver_id = ''; - - $websrv = $app->db->queryOneRecord("SELECT server_id FROM web_domain - WHERE domain = (SELECT value FROM aps_instances_settings - WHERE name = 'main_domain' AND instance_id = ?)", $instanceid); - - // If $websrv is empty, an error has occured. Domain no longer existing? Settings table damaged? - // Anyhow, remove this instance record because it's not useful at all - if(empty($websrv)) - { - $app->db->query("DELETE FROM aps_instances WHERE id = ?", $instanceid); - $app->db->query("DELETE FROM aps_instances_settings WHERE instance_id = ?", $instanceid); - } - else $webserver_id = $websrv['server_id']; - - return $webserver_id; - } - - - - /** - * Finds out if there is a newer package version for - * a given (possibly valid) package ID - * - * @param $id the ID to check - * @return $newer_pkg_id the newer package ID - */ - public function getNewestPackageID($id) - { - global $app; - - if(preg_match('/^[0-9]+$/', $id) != 1) return 0; - - $result = $app->db->queryOneRecord("SELECT id, name, - CONCAT(version, '-', CAST(`release` AS CHAR)) AS current_version - FROM aps_packages - WHERE name = (SELECT name FROM aps_packages WHERE id = ?) - AND package_status = 2 - ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version,'.0.0.0'),'.',4)) DESC, `release` DESC", $id); - - if(!empty($result) && ($id != $result['id'])) return $result['id']; - - return 0; - } - - /** - * Validates a given package ID - * - * @param $id the ID to check - * @param $is_admin a flag to allow locked IDs too (for admin calls) - * @return boolean - */ - public function isValidPackageID($id, $is_admin = false) - { - global $app; - - if(preg_match('/^[0-9]+$/', $id) != 1) return false; - - $sql_ext = (!$is_admin) ? - 'package_status = '.PACKAGE_ENABLED.' AND' : - '(package_status = '.PACKAGE_ENABLED.' OR package_status = '.PACKAGE_LOCKED.') AND'; - - $result = $app->db->queryOneRecord("SELECT id FROM aps_packages WHERE ".$sql_ext." id = ?", $id); - if(!$result) return false; - - return true; - } - - - - /** - * Validates a given instance ID - * - * @param $id the ID to check - * @param $client_id the calling client ID - * @param $is_admin a flag to ignore the client ID check for admins - * @return boolean - */ - public function isValidInstanceID($id, $client_id, $is_admin = false) - { - global $app; - - if(preg_match('/^[0-9]+$/', $id) != 1) return false; - - // Only filter if not admin - $params = array(); - $sql_ext = ''; - if(!$is_admin) { - $sql_ext = 'customer_id = ? AND '; - $params[] = $client_id; - } - $params[] = $id; - - $result = $app->db->queryOneRecord('SELECT id FROM aps_instances WHERE '.$sql_ext.' id = ?', true, $params); - if(!$result) return false; - - return true; - } - - public function createDatabaseForPackageInstance(&$settings, $websrv) { - global $app; - - $app->uses('tools_sites'); - - $global_config = $app->getconf->get_global_config('sites'); - - $tmp = array(); - $tmp['parent_domain_id'] = $websrv['domain_id']; - $tmp['sys_groupid'] = $websrv['sys_groupid']; - $dbname_prefix = $app->tools_sites->replacePrefix($global_config['dbname_prefix'], $tmp); - $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $tmp); - unset($tmp); - - // get information if the webserver is a db server, too - $web_server = $app->db->queryOneRecord("SELECT server_id,server_name,db_server FROM server WHERE server_id = ?", $websrv['server_id']); - if($web_server['db_server'] == 1) { - // create database on "localhost" (webserver) - $mysql_db_server_id = $app->functions->intval($websrv['server_id']); - $settings['main_database_host'] = 'localhost'; - $mysql_db_remote_access = 'n'; - $mysql_db_remote_ips = ''; - - // If we are dealing with chrooted PHP-FPM, use a network connection instead because the MySQL socket file - // does not exist within the chroot. - $php_fpm_chroot = $app->db->queryOneRecord("SELECT php_fpm_chroot FROM web_domain WHERE domain_id = ?", $websrv['domain_id']); - if ($php_fpm_chroot['php_fpm_chroot'] === 'y') { - $settings['main_database_host'] = '127.0.0.1'; - $mysql_db_remote_access = 'y'; - $mysql_db_remote_ips = '127.0.0.1'; - } - } else { - //* get the default database server of the client - $client = $app->db->queryOneRecord("SELECT default_dbserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $websrv['sys_groupid']); - if(is_array($client) && $client['default_dbserver'] > 0 && $client['default_dbserver'] != $websrv['server_id']) { - $mysql_db_server_id = $app->functions->intval($client['default_dbserver']); - $dbserver_config = $web_config = $app->getconf->get_server_config($app->functions->intval($mysql_db_server_id), 'server'); - $settings['main_database_host'] = $dbserver_config['ip_address']; - $mysql_db_remote_access = 'y'; - $webserver_config = $app->getconf->get_server_config($app->functions->intval($websrv['server_id']), 'server'); - $mysql_db_remote_ips = $webserver_config['ip_address']; - } else { - /* I left this in place for a fallback that should NEVER! happen. - * if we reach this point it means that there is NO default db server for the client - * AND the webserver has NO db service enabled. - * We have to abort the aps installation here... so I added a return false - * although this does not present any error message to the user. - */ - return false; - - /*$mysql_db_server_id = $websrv['server_id']; - $settings['main_database_host'] = 'localhost'; - $mysql_db_remote_access = 'n'; - $mysql_db_remote_ips = '';*/ - } - } - - if (empty($settings['main_database_name'])) { - //* Find a free db name for the app - for($n = 1; $n <= 1000; $n++) { - $mysql_db_name = ($dbname_prefix != '' ? $dbname_prefix.'aps'.$n : uniqid('aps')); - $tmp = $app->db->queryOneRecord("SELECT count(database_id) as number FROM web_database WHERE database_name = ?", $mysql_db_name); - if($tmp['number'] == 0) break; - } - $settings['main_database_name'] = $mysql_db_name; - } - if (empty($settings['main_database_login'])) { - //* Find a free db username for the app - for($n = 1; $n <= 1000; $n++) { - $mysql_db_user = ($dbuser_prefix != '' ? $dbuser_prefix.'aps'.$n : uniqid('aps')); - $tmp = $app->db->queryOneRecord("SELECT count(database_user_id) as number FROM web_database_user WHERE database_user = ?", $mysql_db_user); - if($tmp['number'] == 0) break; - } - $settings['main_database_login'] = $mysql_db_user; - } - - //* Create the mysql database user if not existing - $tmp = $app->db->queryOneRecord("SELECT database_user_id FROM web_database_user WHERE database_user = ?", $settings['main_database_login']); - if(!$tmp) { - $tmppw = $app->db->queryOneRecord("SELECT PASSWORD(?) as `crypted`", $settings['main_database_password']); - $insert_data = array("sys_userid" => $websrv['sys_userid'], - "sys_groupid" => $websrv['sys_groupid'], - "sys_perm_user" => 'riud', - "sys_perm_group" => $websrv['sys_perm_group'], - "sys_perm_other" => '', - "server_id" => 0, - "database_user" => $settings['main_database_login'], - "database_user_prefix" => $dbuser_prefix, - "database_password" => $tmppw['crypted'] - ); - $mysql_db_user_id = $app->db->datalogInsert('web_database_user', $insert_data, 'database_user_id'); - } - else $mysql_db_user_id = $tmp['database_user_id']; - - //* Create the mysql database if not existing - $tmp = $app->db->queryOneRecord("SELECT count(database_id) as number FROM web_database WHERE database_name = ?", $settings['main_database_name']); - if($tmp['number'] == 0) { - $insert_data = array("sys_userid" => $websrv['sys_userid'], - "sys_groupid" => $websrv['sys_groupid'], - "sys_perm_user" => 'riud', - "sys_perm_group" => $websrv['sys_perm_group'], - "sys_perm_other" => '', - "server_id" => $mysql_db_server_id, - "parent_domain_id" => $websrv['domain_id'], - "type" => 'mysql', - "database_name" => $settings['main_database_name'], - "database_name_prefix" => $dbname_prefix, - "database_user_id" => $mysql_db_user_id, - "database_ro_user_id" => 0, - "database_charset" => '', - "remote_access" => $mysql_db_remote_access, - "remote_ips" => $mysql_db_remote_ips, - "backup_copies" => $websrv['backup_copies'], - "backup_format_web" => $websrv['backup_format_web'], - "backup_format_db" => $websrv['backup_format_db'], - "active" => 'y', - "backup_interval" => $websrv['backup_interval'] - ); - $app->db->datalogInsert('web_database', $insert_data, 'database_id'); - } - - return true; - } - - /** - * Creates a new database record for the package instance and - * an install task - * - * @param $settings the settings to enter into the DB - * @param $packageid the PackageID - */ - public function createPackageInstance($settings, $packageid) - { - global $app; - - $app->uses('tools_sites'); - - $webserver_id = 0; - $websrv = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain = ?", $this->getMainDomain($settings['main_domain'])); - if(!empty($websrv)) $webserver_id = $websrv['server_id']; - $customerid = $this->getCustomerIDFromDomain($this->getMainDomain($settings['main_domain'])); - - if(empty($settings) || empty($webserver_id)) return false; - - //* Get server config of the web server - $app->uses("getconf"); - $web_config = $app->getconf->get_server_config($app->functions->intval($websrv["server_id"]), 'web'); - - //* Set PHP mode to php-fcgi and enable suexec in website on apache servers / set PHP mode to PHP-FPM on nginx servers - if($web_config['server_type'] == 'apache') { - if(($websrv['php'] != 'fast-cgi' || $websrv['suexec'] != 'y') && $websrv['php'] != 'php-fpm') { - $app->db->datalogUpdate('web_domain', array("php" => 'fast-cgi', "suexec" => 'y'), 'domain_id', $websrv['domain_id']); - } - } else { - // nginx - if($websrv['php'] != 'php-fpm' && $websrv['php'] != 'fast-cgi') { - $app->db->datalogUpdate('web_domain', array("php" => 'php-fpm'), 'domain_id', $websrv['domain_id']); - } - } - - - //* Create the MySQL database for the application if necessary - $pkg = $app->db->queryOneRecord('SELECT * FROM aps_packages WHERE id = ?', $packageid); - $metafile = $this->interface_pkg_dir.'/'.$pkg['path'].'/APP-META.xml'; - $sxe = $this->readInMetaFile($metafile); - - $db_id = parent::getXPathValue($sxe, '//db:id'); - if (!empty($db_id)) { - // mysql-database-name is updated inside if not set already - if (!$this->createDatabaseForPackageInstance($settings, $websrv)) return false; - } - - //* Insert new package instance - $insert_data = array( - "sys_userid" => $websrv['sys_userid'], - "sys_groupid" => $websrv['sys_groupid'], - "sys_perm_user" => 'riud', - "sys_perm_group" => $websrv['sys_perm_group'], - "sys_perm_other" => '', - "server_id" => $webserver_id, - "customer_id" => $customerid, - "package_id" => $packageid, - "instance_status" => INSTANCE_PENDING - ); - $InstanceID = $app->db->datalogInsert('aps_instances', $insert_data, 'id'); - - //* Insert all package settings - if(is_array($settings)) { - foreach($settings as $key => $value) { - $insert_data = array( - "server_id" => $webserver_id, - "instance_id" => $InstanceID, - "name" => $key, - "value" => $value - ); - $app->db->datalogInsert('aps_instances_settings', $insert_data, 'id'); - } - } - - //* Set package status to install afetr we inserted the settings - $app->db->datalogUpdate('aps_instances', array("instance_status" => INSTANCE_INSTALL), 'id', $InstanceID); - - return $InstanceID; - } - - /** - * Sets the status of an instance to "should be removed" and creates a - * datalog entry to give the ISPConfig server a real removal advice - * - * @param $instanceid the instance to delete - */ - public function deleteInstance($instanceid, $keepdatabase = false) - { - global $app; - - if (!$keepdatabase) { - $sql = "SELECT web_database.database_id as database_id, web_database.database_user_id as `database_user_id` FROM aps_instances_settings, web_database WHERE aps_instances_settings.value = web_database.database_name AND aps_instances_settings.name = 'main_database_name' AND aps_instances_settings.instance_id = ? LIMIT 0,1"; - $tmp = $app->db->queryOneRecord($sql, $instanceid); - if($tmp['database_id'] > 0) $app->db->datalogDelete('web_database', 'database_id', $tmp['database_id']); - - $database_user = $tmp['database_user_id']; - $tmp = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `database_user_id` = ? OR `database_ro_user_id` = ?", $database_user, $database_user); - if($tmp['cnt'] < 1) $app->db->datalogDelete('web_database_user', 'database_user_id', $database_user); - } - - $app->db->datalogUpdate('aps_instances', array("instance_status" => INSTANCE_REMOVE), 'id', $instanceid); - - } - - /** - * Read the settings to be filled when installing - * - * @param $id the internal ID of the package - * @return array - */ - public function getPackageSettings($id) - { - global $app; - - $pkg = $app->db->queryOneRecord('SELECT * FROM aps_packages WHERE id = ?', $id); - - // Load in meta file if existing and register its namespaces - $metafile = $this->interface_pkg_dir.'/'.$pkg['path'].'/APP-META.xml'; - if(!file_exists($metafile)) - return array('error' => 'The metafile for '.$settings['Name'].' couldn\'t be found'); - - $sxe = $this->readInMetaFile($metafile); - - $groupsettings = parent::getXPathValue($sxe, '//settings/group/setting', true); - if(empty($groupsettings)) return array(); - - $settings = array(); - foreach($groupsettings as $setting) - { - $setting_id = strval($setting['id']); - - if($setting['type'] == 'string' || $setting['type'] == 'email' || $setting['type'] == 'integer' - || $setting['type'] == 'float' || $setting['type'] == 'domain-name') - { - $settings[] = array('SettingID' => $setting_id, - 'SettingName' => $setting->name, - 'SettingDescription' => $setting->description, - 'SettingType' => $setting['type'], - 'SettingInputType' => 'string', - 'SettingDefaultValue' => strval($setting['default-value']), - 'SettingRegex' => $setting['regex'], - 'SettingMinLength' => $setting['min-length'], - 'SettingMaxLength' => $setting['max-length']); - } - else if($setting['type'] == 'password') - { - $settings[] = array('SettingID' => $setting_id, - 'SettingName' => $setting->name, - 'SettingDescription' => $setting->description, - 'SettingType' => 'password', - 'SettingInputType' => 'password', - 'SettingDefaultValue' => '', - 'SettingRegex' => $setting['regex'], - 'SettingMinLength' => $setting['min-length'], - 'SettingMaxLength' => $setting['max-length']); - } - else if($setting['type'] == 'boolean') - { - $settings[] = array('SettingID' => $setting_id, - 'SettingName' => $setting->name, - 'SettingDescription' => $setting->description, - 'SettingType' => 'boolean', - 'SettingInputType' => 'checkbox', - 'SettingDefaultValue' => strval($setting['default-value'])); - } - else if($setting['type'] == 'enum') - { - $choices = array(); - foreach($setting->choice as $choice) - { - $choices[] = array('EnumID' => strval($choice['id']), - 'EnumName' => $choice->name); - } - $settings[] = array('SettingID' => $setting_id, - 'SettingName' => $setting->name, - 'SettingDescription' => $setting->description, - 'SettingType' => 'enum', - 'SettingInputType' => 'select', - 'SettingDefaultValue' => strval($setting['default-value']), - 'SettingChoices' => $choices); - } - } - - return $settings; - } - - - - /** - * Validates the user input according to the settings array and - * delivers errors if occurring - * - * @param $input the user $_POST array - * @param $pkg_details the package details - * @param $settings the package settings array - * @return array in this structure: - * array(2) { - * ["input"]=> ... - * ["errors"]=> ... - * } - */ - public function validateInstallerInput($postinput, $pkg_details, $domains, $settings = array()) - { - global $app; - - $ret = array(); - $input = array(); - $error = array(); - - // Main domain (obligatory) - if(isset($postinput['main_domain'])) - { - if(!in_array($postinput['main_domain'], $domains)) $error[] = $app->lng('error_main_domain'); - else $input['main_domain'] = $postinput['main_domain']; - } - else $error[] = $app->lng('error_main_domain'); - - if(isset($postinput['admin_password'])) - { - $app->uses('validate_password'); - - $passwordError = $app->validate_password->password_check('', $postinput['admin_password'], ''); - if ($passwordError) { - $error[] = $passwordError; - } - } - - // Main location (not obligatory but must be supplied) - if(isset($postinput['main_location'])) - { - $temp_errstr = ''; - // It can be empty but if the user did write something, check it - $userinput = false; - if(strlen($postinput['main_location']) > 0) $userinput = true; - - // Filter invalid input slashes (twice!) - $main_location = $this->secureLocation($postinput['main_location']); - $main_location = $this->secureLocation($main_location); - // Only allow digits, words, / and - - $main_location = preg_replace("/[^\d\w\/\-]/i", "", $main_location); - if($userinput && (strlen($main_location) == 0)) $temp_errstr = $app->lng('error_inv_main_location'); - - // Find out document_root and make sure no apps are installed twice to one location - if(in_array($postinput['main_domain'], $domains)) - { - $docroot = $app->db->queryOneRecord("SELECT document_root, web_folder FROM web_domain - WHERE domain = ?", $this->getMainDomain($postinput['main_domain'])); - if(trim($docroot['web_folder']) == '') { - $new_path = $docroot['document_root']; - } else { - $new_path = $docroot['document_root'] . '/' . $docroot['web_folder']; - } - if(substr($new_path, -1) != '/') $new_path .= '/'; - $new_path .= $main_location; - - // Get the $customerid which belongs to the selected domain - $customerid = $this->getCustomerIDFromDomain($this->getMainDomain($postinput['main_domain'])); - - // First get all domains used for an install, then their loop them - // and get the corresponding document roots as well as the defined - // locations. If an existing doc_root + location matches with the - // new one -> error - $instance_domains = $app->db->queryAllRecords("SELECT instance_id, s.value AS domain - FROM aps_instances AS i, aps_instances_settings AS s - WHERE i.id = s.instance_id AND s.name = 'main_domain' - AND i.customer_id = ?", $customerid); - for($i = 0; $i < count($instance_domains); $i++) - { - $used_path = ''; - - $doc_root = $app->db->queryOneRecord("SELECT document_root FROM web_domain - WHERE domain = ?", $instance_domains[$i]['domain']); - - // Probably the domain settings were changed later, so make sure the doc_root - // is not empty for further validation - if(!empty($doc_root)) - { - $used_path = $doc_root['document_root']; - if(substr($used_path, -1) != '/') $used_path .= '/'; - - $location_for_domain = $app->db->queryOneRecord("SELECT value - FROM aps_instances_settings WHERE name = 'main_location' - AND instance_id = ?", $instance_domains[$i]['instance_id']); - - // The location might be empty but the DB return must not be false! - if($location_for_domain) $used_path .= $location_for_domain['value']; - - // If user is trying to install into exactly the same path, give an error - if($new_path == $used_path) - { - $temp_errstr = $app->lng('error_used_location'); - break; - } - - // If the new path is _below_ an existing path, give an error because the - // installation will delete the files of the existing APS installation - if (mb_substr($used_path, 0, mb_strlen($new_path)) === $new_path) { - $temp_errstr = $app->lng('error_used_location'); - break; - } - - // If the new path is _within_ an existing path, give an error. Even if - // installation would proceed fine in theory, deleting the "lower" package - // in the future would also inadvertedly delete the "nested" package - if (mb_substr($new_path, 0, mb_strlen($used_path)) === $used_path) { - $temp_errstr = $app->lng('error_used_location'); - break; - } - } - } - } - else $temp_errstr = $app->lng('error_main_domain'); - - if($temp_errstr == '') $input['main_location'] = htmlspecialchars($main_location); - else $error[] = $temp_errstr; - } - else $error[] = $app->lng('error_no_main_location'); - - // License (the checkbox must be set) - if(isset($pkg_details['License need agree']) - && $pkg_details['License need agree'] == 'true') - { - if(isset($postinput['license']) && $postinput['license'] == 'on') $input['license'] = 'true'; - else $error[] = $app->lng('error_license_agreement'); - } - - // Database - if(isset($pkg_details['Requirements Database']) - && $pkg_details['Requirements Database'] != '') - { - if (isset($postinput['main_database_host'])) $input['main_database_host'] = $postinput['main_database_host']; - if (isset($postinput['main_database_name'])) $input['main_database_name'] = $postinput['main_database_name']; - if (isset($postinput['main_database_login'])) $input['main_database_login'] = $postinput['main_database_login']; - - if(isset($postinput['main_database_password'])) - { - if($postinput['main_database_password'] == '') $error[] = $app->lng('error_no_database_pw'); - else if(strlen($postinput['main_database_password']) > 8) - $input['main_database_password'] = htmlspecialchars($postinput['main_database_password']); - else $error[] = $app->lng('error_short_database_pw'); - } - else $error[] = $app->lng('error_no_database_pw'); - } - - // Validate the package settings - foreach($settings as $setting) - { - $temp_errstr = ''; - $setting_id = strval($setting['SettingID']); - - // We assume that every setting must be set - if((isset($postinput[$setting_id]) && ($postinput[$setting_id] != '')) - || ($setting['SettingType'] == 'boolean')) - { - if($setting['SettingType'] == 'string' || $setting['SettingType'] == 'password') - { - if($app->functions->intval($setting['SettingMinLength'], true) != 0 - && strlen($postinput[$setting_id]) < $app->functions->intval($setting['SettingMinLength'], true)) - $temp_errstr = sprintf($app->lng('error_short_value_for'), $setting['setting_name']); - - if($app->functions->intval($setting['SettingMaxLength'], true) != 0 - && strlen($postinput[$setting_id]) > $app->functions->intval($setting['SettingMaxLength'], true)) - $temp_errstr = sprintf($app->lng('error_long_value_for'), $setting['setting_name']); - - if(isset($setting['SettingRegex']) - && !preg_match("/".$setting['SettingRegex']."/", $postinput[$setting_id])) - $temp_errstr = sprintf($app->lng('error_inv_value_for'), $setting['setting_name']); - } - else if($setting['SettingType'] == 'email') - { - if(filter_var(strtolower($postinput[$setting_id]), FILTER_VALIDATE_EMAIL) === false) - $temp_errstr = sprintf($app->lng('error_inv_email_for'), $setting['setting_name']); - } - else if($setting['SettingType'] == 'domain-name') - { - if(!preg_match("^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$", - $postinput[$setting_id])) - $temp_errstr = sprintf($app->lng('error_inv_domain_for'), $setting['setting_name']); - } - else if($setting['SettingType'] == 'integer') - { - if(filter_var($postinput[$setting_id], FILTER_VALIDATE_INT) === false) - $temp_errstr = sprintf($app->lng('error_inv_integer_for'), $setting['setting_name']); - } - else if($setting['SettingType'] == 'float') - { - if(filter_var($postinput[$setting_id], FILTER_VALIDATE_FLOAT) === false) - $temp_errstr = sprintf($app->lng('error_inv_float_for'), $setting['setting_name']); - } - else if($setting['SettingType'] == 'boolean') - { - // If we have a boolean value set, it must be either true or false - if(!isset($postinput[$setting_id])) $postinput[$setting_id] = 'false'; - else if(isset($postinput[$setting_id]) && $postinput[$setting_id] != 'true') - $postinput[$setting_id] = 'true'; - } - else if($setting['SettingType'] == 'enum') - { - $found = false; - for($i = 0; $i < count($setting['SettingChoices']); $i++) - { - if($setting['SettingChoices'][$i]['EnumID'] == $postinput[$setting_id]) - $found = true; - } - if(!$found) $temp_errstr = sprintf($app->lng('error_inv_value_for'), $setting['SettingName']); - } - - if($temp_errstr == '') $input[$setting_id] = $postinput[$setting_id]; - else $error[] = $temp_errstr; - } - else $error[] = sprintf($app->lng('error_no_value_for'), $setting['SettingName']); - } - - $ret['input'] = $input; - $ret['error'] = array_unique($error); - - return $ret; - } - - - - /** - * Read the metadata of a package and returns some content - * - * @param $id the internal ID of the package - * @return array - */ - public function getPackageDetails($id) - { - global $app; - - $pkg = $app->db->queryOneRecord('SELECT * FROM aps_packages WHERE id = ?', $id); - - // Load in meta file if existing and register its namespaces - $metafile = $this->interface_pkg_dir.'/'.$pkg['path'].'/APP-META.xml'; - if(!file_exists($metafile)) - return array('error' => 'The metafile for '.$pkg['name'].' couldn\'t be found'); - - $metadata = file_get_contents($metafile); - $metadata = str_replace("xmlns=", "ns=", $metadata); - $sxe = new SimpleXMLElement($metadata); - $namespaces = $sxe->getDocNamespaces(true); - foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); - - $pkg['Summary'] = htmlspecialchars(parent::getXPathValue($sxe, '//summary')); - $pkg['Homepage'] = parent::getXPathValue($sxe, '//homepage'); - $pkg['Description'] = nl2br(htmlspecialchars(trim(parent::getXPathValue($sxe, '//description')))); - $pkg['Config script'] = strtoupper(parent::getXPathValue($sxe, '//configuration-script-language')); - $installed_size = parent::getXPathValue($sxe, '//installed-size'); - $pkg['Installed Size'] = (!empty($installed_size)) ? parent::convertSize((int)$installed_size) : ''; - - // License - $pkg['License need agree'] = parent::getXPathValue($sxe, '//license/@must-accept'); - $pkg['License name'] = parent::getXPathValue($sxe, '//license/text/name'); // might be empty - $pkg['License type'] = 'file'; // default type - $pkg['License content'] = ''; // default license filename on local system - $license_url = parent::getXPathValue($sxe, '//license/text/url'); - if(!empty($license_url)) - { - $pkg['License type'] = 'url'; - $pkg['License content'] = htmlspecialchars($license_url); - } - else - { - $lic = @file_get_contents($this->interface_pkg_dir.'/'.$pkg['path'].'/LICENSE'); - $pkg['License content'] = htmlentities($lic, ENT_QUOTES, 'ISO-8859-1'); - } - - // Languages - $languages = parent::getXPathValue($sxe, '//languages/language', true); - $pkg['Languages'] = (is_array($languages)) ? implode(' ', $languages) : ''; - - // Icon - $icon = parent::getXPathValue($sxe, '//icon/@path'); - if(!empty($icon)) - { - // Using parse_url() to filter malformed URLs - $path = dirname(parse_url($_SERVER['PHP_SELF'], PHP_URL_PATH)).'/'. - basename($this->interface_pkg_dir).'/'.$pkg['path'].'/'.basename((string)$icon); - // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path - $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); - $pkg['Icon'] = $path; - } - else $pkg['Icon'] = ''; - - // Screenshots - $screenshots = parent::getXPathValue($sxe, '//screenshot', true); - if(!empty($screenshots)) - { - foreach($screenshots as $screen) - { - // Using parse_url() to filter malformed URLs - $path = dirname(parse_url($_SERVER['PHP_SELF'], PHP_URL_PATH)).'/'. - basename($this->interface_pkg_dir).'/'.$pkg['path'].'/'.basename((string)$screen['path']); - // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path - $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); - - $pkg['Screenshots'][] = array('ScreenPath' => $path, - 'ScreenDescription' => htmlspecialchars(trim((string)$screen->description))); - } - } - else $pkg['Screenshots'] = ''; // if no screenshots are available, set the variable though - - // Changelog - $changelog = parent::getXPathValue($sxe, '//changelog/version', true); - if(!empty($changelog)) - { - foreach($changelog as $change) - { - $entries = array(); - foreach($change->entry as $entry) $entries[] = htmlspecialchars(trim((string)$entry)); - - $pkg['Changelog'][] = array('ChangelogVersion' => (string)$change['version'], - 'ChangelogDescription' => implode('
', $entries)); - } - } - - else $pkg['Changelog'] = ''; - - // PHP extensions - $php_extensions = parent::getXPathValue($sxe, '//php:extension', true); - $php_ext = ''; - if(!empty($php_extensions)) - { - foreach($php_extensions as $extension) - { - if(strtolower($extension) == 'php') continue; - $php_ext .= $extension.' '; - } - } - $pkg['Requirements PHP extensions'] = trim($php_ext); - - // PHP bool options - $pkg['Requirements PHP settings'] = array(); - $php_bool_options = array('allow-url-fopen', 'file-uploads', 'magic-quotes-gpc', - 'register-globals', 'safe-mode', 'short-open-tag'); - foreach($php_bool_options as $option) - { - $value = parent::getXPathValue($sxe, '//php:'.$option); - if(!empty($value)) - { - $option = str_replace('-', '_', $option); - $value = str_replace(array('false', 'true'), array('off', 'on'), $value); - $pkg['Requirements PHP settings'][] = array('PHPSettingName' => $option, - 'PHPSettingValue' => $value); - } - } - - // PHP integer value settings - $memory_limit = parent::getXPathValue($sxe, '//php:memory-limit'); - if(!empty($memory_limit)) - $pkg['Requirements PHP settings'][] = array('PHPSettingName' => 'memory_limit', - 'PHPSettingValue' => parent::convertSize((int)$memory_limit)); - - $max_exec_time = parent::getXPathValue($sxe, '//php:max-execution-time'); - if(!empty($max_exec_time)) - $pkg['Requirements PHP settings'][] = array('PHPSettingName' => 'max-execution-time', - 'PHPSettingValue' => $max_exec_time); - - $post_max_size = parent::getXPathValue($sxe, '//php:post-max-size'); - if(!empty($post_max_size)) - $pkg['Requirements PHP settings'][] = array('PHPSettingName' => 'post_max_size', - 'PHPSettingValue' => parent::convertSize((int)$post_max_size)); - - // Get supported PHP versions - $pkg['Requirements Supported PHP versions'] = ''; - $php_min_version = parent::getXPathValue($sxe, '//php:version/@min'); - $php_max_not_including = parent::getXPathValue($sxe, '//php:version/@max-not-including'); - if(!empty($php_min_version) && !empty($php_max_not_including)) - $pkg['Requirements Supported PHP versions'] = $php_min_version.' - '.$php_max_not_including; - else if(!empty($php_min_version)) - $pkg['Requirements Supported PHP versions'] = '> '.$php_min_version; - else if(!empty($php_max_not_including)) - $pkg['Requirements Supported PHP versions'] = '< '.$php_min_version; - - // Database - $db_id = parent::getXPathValue($sxe, '//db:id'); - $db_server_type = parent::getXPathValue($sxe, '//db:server-type'); - $db_min_version = parent::getXPathValue($sxe, '//db:server-min-version'); - if(!empty($db_id)) - { - $db_server_type = str_replace('postgresql', 'PostgreSQL', $db_server_type); - $db_server_type = str_replace('microsoft:sqlserver', 'MSSQL', $db_server_type); - $db_server_type = str_replace('mysql', 'MySQL', $db_server_type); - - $pkg['Requirements Database'] = $db_server_type; - if(!empty($db_min_version)) $pkg['Requirements Database'] .= ' > '.$db_min_version; - } - else $pkg['Requirements Database'] = ''; - - return $pkg; - } - -} - -?> diff --git a/interface/lib/classes/remote.d/aps.inc.php b/interface/lib/classes/remote.d/aps.inc.php deleted file mode 100644 index c2f8789ed1..0000000000 --- a/interface/lib/classes/remote.d/aps.inc.php +++ /dev/null @@ -1,359 +0,0 @@ - -Copyright (c) Profi Webdesign Dominik Müller - -*/ - -class remoting_aps extends remoting { - //* Functions for APS - public function sites_aps_update_package_list($session_id) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_update_package_list')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->load('aps_crawler'); - - $aps = new ApsCrawler($app, true); // true = Interface mode, false = Server mode - $aps->startCrawler(); - $aps->parseFolderToDB(); - $aps->fixURLs(); - - return true; - } - - public function sites_aps_available_packages_list($session_id, $params = array()) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_available_packages_list')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->load('aps_base'); - - if (isset($params['all_packages']) && ($params['all_packages'] == true)) { - $where = '(aps_packages.package_status = '.PACKAGE_ENABLED.' OR aps_packages.package_status = '.PACKAGE_LOCKED.')'; - } - else { - $where = 'aps_packages.package_status = '.PACKAGE_ENABLED; - } - - $sql = 'SELECT * FROM aps_packages WHERE '.$where.' ORDER BY aps_packages.name, aps_packages.version'; - return $app->db->queryAllRecords($sql); - } - - public function sites_aps_get_package_details($session_id, $primary_id) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_get_package_details')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->load('aps_guicontroller'); - $gui = new ApsGUIController($app); - - // Package-ID Check - if (isset($primary_id)) - { - $newest_pkg_id = $gui->getNewestPackageID($pkg_id); - if($newest_pkg_id != 0) $primary_id = $newest_pkg_id; - } - - // Make sure an integer ID is given - if (!isset($primary_id) || !$gui->isValidPackageID($primary_id, true)) {// always adminflag - throw new SoapFault('package_error', 'The given Package ID is not valid.'); - return false; - } - - // Get package details - $details = $gui->getPackageDetails($primary_id); - if (isset($details['error'])) { - throw new SoapFault('package_error', $details['error']); - return false; - } - - // encode all parts to ensure SOAP-XML-format - array_walk_recursive($details, function(&$item, &$key) { $item = utf8_encode($item); } ); - // Special handling for license-text because of too much problems with soap-transport - $details['License content'] = base64_encode($details['License content']); - - return $details; - } - - public function sites_aps_get_package_file($session_id, $primary_id, $filename) { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_get_package_file')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->load('aps_guicontroller'); - $gui = new ApsGUIController($app); - - // Package-ID Check - if (isset($primary_id)) - { - $newest_pkg_id = $gui->getNewestPackageID($pkg_id); - if($newest_pkg_id != 0) $primary_id = $newest_pkg_id; - } - - // Make sure an integer ID is given - if (!isset($primary_id) || !$gui->isValidPackageID($primary_id, true)) {// always adminflag - throw new SoapFault('package_error', 'The given Package ID is not valid.'); - return false; - } - - // Get package details - $details = $gui->getPackageDetails($primary_id); - if (isset($details['error'])) { - throw new SoapFault('package_error', $details['error']); - return false; - } - - // find file in details - $found = false; - if (basename($details['Icon']) == $filename) $found = true; - if (!$found && isset($details['Screenshots']) && is_array($details['Screenshots'])) - foreach ($details['Screenshots'] as $screen) { if (basename($screen['ScreenPath']) == $filename) { $found = true; break; } } - - if (!$found) { - throw new SoapFault('package_error', 'File not found in package.'); - return false; - } - - return base64_encode(file_get_contents(ISPC_ROOT_PATH.'/web/sites/aps_meta_packages/'.$details['path'].'/'.$filename)); - } - - public function sites_aps_get_package_settings($session_id, $primary_id) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_get_package_details')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->load('aps_guicontroller'); - $gui = new ApsGUIController($app); - - // Package-ID Check - if (isset($primary_id)) - { - $newest_pkg_id = $gui->getNewestPackageID($pkg_id); - if($newest_pkg_id != 0) $primary_id = $newest_pkg_id; - } - - // Make sure an integer ID is given - if (!isset($primary_id) || !$gui->isValidPackageID($primary_id, true)) {// always adminflag - throw new SoapFault('package_error', 'The given Package ID is not valid.'); - return false; - } - - // Get package settings - $settings = $gui->getPackageSettings($primary_id); - if (isset($settings['error'])) { - throw new SoapFault('package_error', $settings['error']); - return false; - } - - // encode all parts to ensure SOAP-XML-format - array_walk_recursive($settings, function(&$item, &$key) { $item = utf8_encode($item); } ); - - return $settings; - } - - public function sites_aps_change_package_status($session_id, $primary_id, $params) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_change_package_status')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->load('aps_base'); - $app->load('aps_guicontroller'); - $gui = new ApsGUIController($app); - - // Make sure an integer ID is given - if (!isset($primary_id) || !$gui->isValidPackageID($primary_id, true)) {// always adminflag - throw new SoapFault('package_error', 'The given Package ID is not valid.'); - return false; - } - - if(!isset($params['package_status']) || (($params['package_status'] != PACKAGE_ENABLED) && ($params['package_status'] != PACKAGE_LOCKED))) { - throw new SoapFault('package_error', 'Wrong new status: '.$params['package_status']); - return false; - } - - $sql = "UPDATE aps_packages SET package_status = ? WHERE id = ?"; - $app->db->query($sql, $params['package_status'], $app->functions->intval($primary_id)); - - return true; - } - - public function sites_aps_install_package($session_id, $primary_id, $params) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_install_package')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->uses('remoting_lib'); - $app->remoting_lib->loadUserProfile(0); - - $app->load('aps_guicontroller'); - $gui = new ApsGUIController($app); - - // Package-ID Check - if (isset($primary_id)) - { - $newest_pkg_id = $gui->getNewestPackageID($primary_id); - if($newest_pkg_id != 0) $primary_id = $newest_pkg_id; - } - - // Make sure an integer ID is given - if (!isset($primary_id) || !$gui->isValidPackageID($primary_id, true)) {// always adminflag - throw new SoapFault('package_error', 'The given Package ID is not valid.'); - return false; - } - - // Get package details - $details = $gui->getPackageDetails($primary_id); - if (isset($details['error'])) { - throw new SoapFault('package_error', $details['error']); - return false; - } - $settings = $gui->getPackageSettings($primary_id); - if (isset($settings['error'])) { - throw new SoapFault('package_error', $settings['error']); - return false; - } - - // Check given Site/VHostDomain - if (!isset($params['main_domain'])) { - throw new SoapFault('invalid parameters', 'No valid domain given.'); - return false; - } - - if (substr($params['main_domain'], 0, 4) == 'www.') { - $domain = substr($params['main_domain'], 4); - $sql = "SELECT * FROM web_domain WHERE domain = ? AND subdomain=?"; - $domain = $app->db->queryOneRecord($sql, $domain, 'www'); - } - else { - $sql = "SELECT * FROM web_domain WHERE domain = ?"; - $domain = $app->db->queryOneRecord($sql, $params['main_domain']); - } - - if (!$domain) { - throw new SoapFault('invalid parameters', 'No valid domain given.'); - return false; - } - - $domains = array($domain['domain']); // Simulate correct Domain-List - $result = $gui->validateInstallerInput($params, $details, $domains, $settings); - if(empty($result['error'])) - { - return $gui->createPackageInstance($result['input'], $primary_id); - } - - throw new SoapFault('invalid parameters', implode('
', $result['error'])); - return false; - } - - public function sites_aps_instance_get($session_id, $primary_id) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_instance_get')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $sql = "SELECT * FROM aps_instances WHERE id = ?"; - $result = $app->db->queryOneRecord($sql, $app->functions->intval($primary_id)); - return $result; - } - - public function sites_aps_instance_settings_get($session_id, $primary_id) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_instance_get')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $sql = "SELECT * FROM aps_instances_settings WHERE instance_id = ?"; - $result = $app->db->queryAllRecords($sql, $app->functions->intval($primary_id)); - return $result; - } - - public function sites_aps_instance_delete($session_id, $primary_id, $params = array()) - { - global $app; - - if(!$this->checkPerm($session_id, 'sites_aps_instance_delete')) { - throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; - } - - $app->load('aps_guicontroller'); - $gui = new ApsGUIController($app); - - // Check if Instance exists - $sql = "SELECT * FROM aps_instances WHERE id = ?"; - $result = $app->db->queryOneRecord($sql, $primary_id); - - if (!$result) { - throw new SoapFault('instance_error', 'No valid instance id given.'); - return false; - } - - $gui->deleteInstance($primary_id, (isset($params['keep_database']) && ($params['keep_database'] === true))); - - return true; - } -} - -?> diff --git a/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php b/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php index 3f9b0db5b6..ea817b6c33 100644 --- a/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php +++ b/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php @@ -46,7 +46,7 @@ class sites_web_vhost_domain_plugin { $vhostdomain_type = 'domain'; if($page_form->dataRecord['type'] == 'vhostalias') $vhostdomain_type = 'aliasdomain'; elseif($page_form->dataRecord['type'] == 'vhostsubdomain') $vhostdomain_type = 'subdomain'; - + // make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it // also make sure that the user can not delete domain created by a admin if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($page_form->dataRecord["client_group_id"])) { @@ -62,7 +62,7 @@ class sites_web_vhost_domain_plugin { $web_config = $app->getconf->get_server_config($app->functions->intval($page_form->dataRecord['server_id']), 'web'); if(isset($app->tform) && is_object($app->tform)) $web_rec = $app->tform->getDataRecord($page_form->id); else $web_rec = $app->remoting_lib->getDataRecord($page_form->id); - + if($vhostdomain_type == 'domain') { $document_root = str_replace("[website_id]", $page_form->id, $web_config["website_path"]); $document_root = str_replace("[website_idhash_1]", $this->id_hash($page_form->id, 1), $document_root); @@ -97,7 +97,7 @@ class sites_web_vhost_domain_plugin { $document_root = str_replace("[client_idhash_2]", $this->id_hash($client_id, 2), $document_root); $document_root = str_replace("[client_idhash_3]", $this->id_hash($client_id, 3), $document_root); $document_root = str_replace("[client_idhash_4]", $this->id_hash($client_id, 4), $document_root); - + if($event_name == 'sites:web_vhost_domain:on_after_update') { if(($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) && isset($page_form->dataRecord["client_group_id"]) && $page_form->dataRecord["client_group_id"] != $page_form->oldDataRecord["sys_groupid"]) { @@ -184,19 +184,9 @@ class sites_web_vhost_domain_plugin { unset($records); unset($rec); - // Update APS instances - $records = $app->db->queryAllRecords("SELECT instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = ?", $page_form->oldDataRecord["domain"]); - if(is_array($records) && !empty($records)){ - foreach($records as $rec){ - $app->db->datalogUpdate('aps_instances', array("sys_userid" => $web_rec['sys_userid'], "sys_groupid" => $web_rec['sys_groupid'], "customer_id" => $client_id), 'id', $rec['instance_id']); - } - } - unset($records); - unset($rec); - } - //* If the domain name has been changed, we will have to change all subdomains + APS instances + //* If the domain name has been changed, we will have to change all subdomains if(!empty($page_form->dataRecord["domain"]) && !empty($page_form->oldDataRecord["domain"]) && $app->functions->idn_encode($page_form->dataRecord["domain"]) != $page_form->oldDataRecord["domain"]) { //* Change SSL Domain $tmp=$app->db->queryOneRecord("SELECT ssl_domain FROM web_domain WHERE domain_id = ?", $page_form->id); @@ -213,16 +203,6 @@ class sites_web_vhost_domain_plugin { unset($records); unset($rec); unset($subdomain); - - // Update APS instances - $records = $app->db->queryAllRecords("SELECT id, instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = ?", $page_form->oldDataRecord["domain"]); - if(is_array($records) && !empty($records)){ - foreach($records as $rec){ - $app->db->datalogUpdate('aps_instances_settings', array("value" => $app->functions->idn_encode($page_form->dataRecord["domain"])), 'id', $rec['id']); - } - } - unset($records); - unset($rec); } //* Set allow_override if empty @@ -280,7 +260,7 @@ class sites_web_vhost_domain_plugin { $php_open_basedir = str_replace("[website_path]", $document_root, $web_config["php_open_basedir"]); $php_open_basedir = str_replace("[website_domain]", $app->functions->idn_encode($page_form->dataRecord['domain']), $php_open_basedir); $htaccess_allow_override = $web_config["htaccess_allow_override"]; - + $sql = "UPDATE web_domain SET system_user = ?, system_group = ?, document_root = ?, allow_override = ?, php_open_basedir = ? WHERE domain_id = ?"; $app->db->query($sql, $system_user, $system_group, $document_root, $htaccess_allow_override, $php_open_basedir, $page_form->id); } diff --git a/interface/web/admin/lib/lang/br_remote_user.lng b/interface/web/admin/lib/lang/br_remote_user.lng index 520b95e18f..5f13e479c6 100644 --- a/interface/web/admin/lib/lang/br_remote_user.lng +++ b/interface/web/admin/lib/lang/br_remote_user.lng @@ -41,7 +41,6 @@ $wb['Sites Domain functions'] = 'Funções de domínios de sites'; $wb['Sites Backup functions'] = 'Funções de backup de sites'; $wb['Sites Aliasdomain functions'] = 'Funções de alias de domínios de sites'; $wb['Sites Subdomain functions'] = 'Funções de subdomínios de sites'; -$wb['Sites APS functions'] = 'Funções de apps e complementos'; $wb['Sites WebDAV-User functions'] = 'Funções de usuários webdav'; $wb['DNS zone functions'] = 'Funções de zonas dns'; $wb['DNS a functions'] = 'Funções de registro A dns'; diff --git a/interface/web/client/lib/lang/ar_client.lng b/interface/web/client/lib/lang/ar_client.lng index 2fcd02606f..6644df08bc 100644 --- a/interface/web/client/lib/lang/ar_client.lng +++ b/interface/web/client/lib/lang/ar_client.lng @@ -142,9 +142,6 @@ $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).'; $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.'; $wb['paypal_email_txt'] = 'PayPal Email'; $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Canceled (disables client login)'; diff --git a/interface/web/client/lib/lang/ar_client_template.lng b/interface/web/client/lib/lang/ar_client_template.lng index eb073b00e5..419f18935f 100644 --- a/interface/web/client/lib/lang/ar_client_template.lng +++ b/interface/web/client/lib/lang/ar_client_template.lng @@ -85,9 +85,6 @@ $wb['database_limits_txt'] = 'Database Limits'; $wb['cron_job_limits_txt'] = 'Cron Job Limits'; $wb['dns_limits_txt'] = 'DNS Limits'; $wb['virtualization_limits_txt'] = 'Virtualization Limits'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['default_mailserver_txt'] = 'Default Mailserver'; diff --git a/interface/web/client/lib/lang/ar_reseller.lng b/interface/web/client/lib/lang/ar_reseller.lng index 333c8bdb96..4a04ada426 100644 --- a/interface/web/client/lib/lang/ar_reseller.lng +++ b/interface/web/client/lib/lang/ar_reseller.lng @@ -141,9 +141,6 @@ $wb['bank_code_txt'] = 'Bank code'; $wb['bank_name_txt'] = 'Bank name'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC / Swift'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked'; $wb['canceled_txt'] = 'Canceled'; diff --git a/interface/web/client/lib/lang/bg_client.lng b/interface/web/client/lib/lang/bg_client.lng index dcaba08f8b..a48e9de66e 100644 --- a/interface/web/client/lib/lang/bg_client.lng +++ b/interface/web/client/lib/lang/bg_client.lng @@ -142,9 +142,6 @@ $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).'; $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.'; $wb['paypal_email_txt'] = 'PayPal Email'; $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Canceled (disables client login)'; diff --git a/interface/web/client/lib/lang/bg_client_template.lng b/interface/web/client/lib/lang/bg_client_template.lng index 82c6c582a1..b7312c150e 100644 --- a/interface/web/client/lib/lang/bg_client_template.lng +++ b/interface/web/client/lib/lang/bg_client_template.lng @@ -85,9 +85,6 @@ $wb['force_suexec_txt'] = 'SuEXEC forced'; $wb['limit_hterror_txt'] = 'Custom error docs available'; $wb['limit_wildcard_txt'] = 'Wildcard subdomain available'; $wb['limit_ssl_txt'] = 'SSL available'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['default_mailserver_txt'] = 'Default Mailserver'; diff --git a/interface/web/client/lib/lang/bg_reseller.lng b/interface/web/client/lib/lang/bg_reseller.lng index 528b2c7897..cde60d4911 100644 --- a/interface/web/client/lib/lang/bg_reseller.lng +++ b/interface/web/client/lib/lang/bg_reseller.lng @@ -141,9 +141,6 @@ $wb['bank_code_txt'] = 'Bank code'; $wb['bank_name_txt'] = 'Bank name'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC / Swift'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked'; $wb['canceled_txt'] = 'Canceled'; diff --git a/interface/web/client/lib/lang/ca_client.lng b/interface/web/client/lib/lang/ca_client.lng index e4cc2f2dbe..0161fcb9da 100644 --- a/interface/web/client/lib/lang/ca_client.lng +++ b/interface/web/client/lib/lang/ca_client.lng @@ -140,9 +140,6 @@ $wb['customer_no_error_unique'] = 'Le numéro client doit être unique (ou vide) $wb['paypal_email_error_isemail'] = 'Saisissez un compte Paypal valide.'; $wb['paypal_email_txt'] = 'Compte Paypal'; $wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \\"custom\\" est sélectionné.'; -$wb['aps_limits_txt'] = 'Nombre max d\'Installeur APS'; -$wb['limit_aps_txt'] = 'Nombre max d\'instances APS'; -$wb['limit_aps_error_notint'] = 'La limite d\'instances APS doit être un nombre'; $wb['default_slave_dnsserver_txt'] = 'Serveur DNS secondaire par défaut'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Canceled (Désactive connexion Ispconfig)'; diff --git a/interface/web/client/lib/lang/ca_client_template.lng b/interface/web/client/lib/lang/ca_client_template.lng index 6827753b57..5fc062e10f 100644 --- a/interface/web/client/lib/lang/ca_client_template.lng +++ b/interface/web/client/lib/lang/ca_client_template.lng @@ -84,9 +84,6 @@ $wb['database_limits_txt'] = 'Limite de bases de données'; $wb['cron_job_limits_txt'] = 'Limite de tâches CRON'; $wb['dns_limits_txt'] = 'Limite DNS'; $wb['virtualization_limits_txt'] = 'Limite de virtualisations'; -$wb['aps_limits_txt'] = 'Limite d\'installeurs APS'; -$wb['limit_aps_txt'] = 'Nombre max d\'instances APS'; -$wb['limit_aps_error_notint'] = 'La limite d\'instances APS doit être un nombre.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['default_mailserver_txt'] = 'Default Mailserver'; diff --git a/interface/web/client/lib/lang/ca_reseller.lng b/interface/web/client/lib/lang/ca_reseller.lng index 411096ef54..a146606af8 100644 --- a/interface/web/client/lib/lang/ca_reseller.lng +++ b/interface/web/client/lib/lang/ca_reseller.lng @@ -138,9 +138,6 @@ $wb['bank_code_txt'] = 'Code banque'; $wb['bank_name_txt'] = 'Nom de la banque'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC / Swift'; -$wb['aps_limits_txt'] = 'Limites d\'installeur APS'; -$wb['limit_aps_txt'] = 'Nombre max d\'instances APS'; -$wb['limit_aps_error_notint'] = 'La limite d\'instances APS doit être un nombre.'; $wb['default_slave_dnsserver_txt'] = 'Serveur DNS secondaire par défaut'; $wb['locked_txt'] = 'Locked'; $wb['canceled_txt'] = 'Canceled'; diff --git a/interface/web/client/lib/lang/cz_client.lng b/interface/web/client/lib/lang/cz_client.lng index 5d26a51cda..cd6b1bbe22 100644 --- a/interface/web/client/lib/lang/cz_client.lng +++ b/interface/web/client/lib/lang/cz_client.lng @@ -140,9 +140,6 @@ $wb['customer_no_error_unique'] = 'Zákaznické číslo musí být jedinečné ( $wb['paypal_email_error_isemail'] = 'Zadejte prosím platnou PayPal e-mail addresu.'; $wb['paypal_email_txt'] = 'PayPal e-mail'; $wb['err_msg_master_tpl_set'] = 'Nelze nastavit vlastní limity, pokud chtete nastavit vlatní limity musí být \\"hlavní šablona\\" nastavena na volbu \\"Custom\\".'; -$wb['aps_limits_txt'] = 'APS limity instalátoru'; -$wb['limit_aps_txt'] = 'Max. počet APS instalací'; -$wb['limit_aps_error_notint'] = 'Limit pro APS instalace musí být číslo.'; $wb['default_slave_dnsserver_txt'] = 'Výchozí sekundární DNS server'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Zrušeno (zakáže přihlášení klienta)'; diff --git a/interface/web/client/lib/lang/cz_client_template.lng b/interface/web/client/lib/lang/cz_client_template.lng index 1f5d03df62..c4755b24a4 100644 --- a/interface/web/client/lib/lang/cz_client_template.lng +++ b/interface/web/client/lib/lang/cz_client_template.lng @@ -84,9 +84,6 @@ $wb['database_limits_txt'] = 'Databázové limity'; $wb['cron_job_limits_txt'] = 'Cron pracovní limity'; $wb['dns_limits_txt'] = 'DNS limity'; $wb['virtualization_limits_txt'] = 'Virtualizace limity'; -$wb['aps_limits_txt'] = 'APS limity instalátoru'; -$wb['limit_aps_txt'] = 'Max. počet APS instalací'; -$wb['limit_aps_error_notint'] = 'Limit pro APS instalace musí být číslo.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Klientské limity'; $wb['default_mailserver_txt'] = 'Výchozí E-mailový server'; diff --git a/interface/web/client/lib/lang/cz_reseller.lng b/interface/web/client/lib/lang/cz_reseller.lng index d9ddb4c5c4..5a07b765e2 100644 --- a/interface/web/client/lib/lang/cz_reseller.lng +++ b/interface/web/client/lib/lang/cz_reseller.lng @@ -138,9 +138,6 @@ $wb['bank_code_txt'] = 'Kód banky'; $wb['bank_name_txt'] = 'Název banky'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC / Swift'; -$wb['aps_limits_txt'] = 'APS limity instalátoru'; -$wb['limit_aps_txt'] = 'Max. počet APS instalací'; -$wb['limit_aps_error_notint'] = 'Limit pro APS instalace musí být číslo.'; $wb['default_slave_dnsserver_txt'] = 'Výchozí sekundární DNS server'; $wb['locked_txt'] = 'Zamčený účet'; $wb['canceled_txt'] = 'Zrušený účet'; diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng index ca22ce638c..1cdd109ac1 100644 --- a/interface/web/client/lib/lang/de_client.lng +++ b/interface/web/client/lib/lang/de_client.lng @@ -143,9 +143,6 @@ $wb['email_error_isemail'] = 'Bitte geben Sie eine gültige E-Mail Adresse an.'; $wb['paypal_email_error_isemail'] = 'Bitte geben Sie eine gültige PayPal E-Mail Adresse an.'; $wb['paypal_email_txt'] = 'PayPal E-Mail'; $wb['err_msg_master_tpl_set'] = 'Die hier eingestellten Werte werden ignoriert, wenn als Mastervorlage nicht -Custom- ausgewählt ist!'; -$wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; -$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; -$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Gekündigt (verhindert Kundenlogin)'; diff --git a/interface/web/client/lib/lang/de_client_template.lng b/interface/web/client/lib/lang/de_client_template.lng index a26ef401cf..4463ebec5f 100644 --- a/interface/web/client/lib/lang/de_client_template.lng +++ b/interface/web/client/lib/lang/de_client_template.lng @@ -86,9 +86,6 @@ $wb['database_limits_txt'] = 'Datenbank Limits'; $wb['cron_job_limits_txt'] = 'Cronjob Limits'; $wb['dns_limits_txt'] = 'DNS Limits'; $wb['virtualization_limits_txt'] = 'Virtualisierungs Limits'; -$wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; -$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; -$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['default_mailserver_txt'] = 'Default Mailserver'; diff --git a/interface/web/client/lib/lang/de_reseller.lng b/interface/web/client/lib/lang/de_reseller.lng index 9f68b18cf5..e83ad4ba12 100644 --- a/interface/web/client/lib/lang/de_reseller.lng +++ b/interface/web/client/lib/lang/de_reseller.lng @@ -142,9 +142,6 @@ $wb['bank_code_txt'] = 'BLZ'; $wb['bank_name_txt'] = 'Bank'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC'; -$wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; -$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; -$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server'; $wb['locked_txt'] = 'Gesperrt'; $wb['canceled_txt'] = 'Gekündigt'; diff --git a/interface/web/client/lib/lang/dk_client.lng b/interface/web/client/lib/lang/dk_client.lng index b1e549dd91..ac823a9643 100644 --- a/interface/web/client/lib/lang/dk_client.lng +++ b/interface/web/client/lib/lang/dk_client.lng @@ -140,9 +140,6 @@ $wb['customer_no_error_unique'] = 'Kunde nr. skal være unikke (eller tomt).'; $wb['paypal_email_error_isemail'] = 'Indtast en gyldig PayPal e-mail adresse.'; $wb['paypal_email_txt'] = 'PayPal E-mail'; $wb['err_msg_master_tpl_set'] = 'Alle brugerdefinerede grænse indstillinger ignoreres, hvis nogen anden master skabelonen end \\"custom\\" er valgt.'; -$wb['aps_limits_txt'] = 'APS Installer Begrænsninger'; -$wb['limit_aps_txt'] = 'Max. antal af APS forekomster'; -$wb['limit_aps_error_notint'] = 'APS forekomster grænse skal være et tal.'; $wb['default_slave_dnsserver_txt'] = 'Standard Sekundær DNS Server'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Annulleret (deaktivere kunde log ind)'; diff --git a/interface/web/client/lib/lang/dk_client_template.lng b/interface/web/client/lib/lang/dk_client_template.lng index 501d9e2841..08c8fe6f0a 100644 --- a/interface/web/client/lib/lang/dk_client_template.lng +++ b/interface/web/client/lib/lang/dk_client_template.lng @@ -84,9 +84,6 @@ $wb['database_limits_txt'] = 'Database Begrænsninger'; $wb['cron_job_limits_txt'] = 'Cron Job Begrænsninger'; $wb['dns_limits_txt'] = 'DNS Begrænsninger'; $wb['virtualization_limits_txt'] = 'Virtualisering Begrænsninger'; -$wb['aps_limits_txt'] = 'APS Installer Begrænsninger'; -$wb['limit_aps_txt'] = 'Max. antal af APS instances'; -$wb['limit_aps_error_notint'] = 'APS forekomst grænse skal være et tal.'; $wb['limit_domainmodule_txt'] = 'Domænemodul Begrænsning'; $wb['client_limits_txt'] = 'Kunde Begrænsninger'; $wb['default_mailserver_txt'] = 'Default Mailserver'; diff --git a/interface/web/client/lib/lang/dk_reseller.lng b/interface/web/client/lib/lang/dk_reseller.lng index 12004df761..96e879e7fe 100644 --- a/interface/web/client/lib/lang/dk_reseller.lng +++ b/interface/web/client/lib/lang/dk_reseller.lng @@ -138,9 +138,6 @@ $wb['bank_code_txt'] = 'Bank kode'; $wb['bank_name_txt'] = 'Bank navn'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC/Swift'; -$wb['aps_limits_txt'] = 'APS Installer Begrænsninger'; -$wb['limit_aps_txt'] = 'Max. antal af APS instances'; -$wb['limit_aps_error_notint'] = 'APS forekomst-grænse skal være et tal.'; $wb['default_slave_dnsserver_txt'] = 'Standard Sekundær DNS Server'; $wb['locked_txt'] = 'Låst'; $wb['canceled_txt'] = 'Annulleret'; diff --git a/interface/web/client/lib/lang/el_client.lng b/interface/web/client/lib/lang/el_client.lng index 51f75bff05..50374f9254 100644 --- a/interface/web/client/lib/lang/el_client.lng +++ b/interface/web/client/lib/lang/el_client.lng @@ -142,9 +142,6 @@ $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).'; $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.'; $wb['paypal_email_txt'] = 'PayPal Email'; $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Canceled (disables client login)'; diff --git a/interface/web/client/lib/lang/el_client_template.lng b/interface/web/client/lib/lang/el_client_template.lng index e5f50f513e..b5c13f6cb6 100644 --- a/interface/web/client/lib/lang/el_client_template.lng +++ b/interface/web/client/lib/lang/el_client_template.lng @@ -85,9 +85,6 @@ $wb['database_limits_txt'] = 'Database Limits'; $wb['cron_job_limits_txt'] = 'Cron Job Limits'; $wb['dns_limits_txt'] = 'DNS Limits'; $wb['virtualization_limits_txt'] = 'Virtualization Limits'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['default_mailserver_txt'] = 'Default Mailserver'; diff --git a/interface/web/client/lib/lang/el_reseller.lng b/interface/web/client/lib/lang/el_reseller.lng index 3b7bc470bc..ad70663f90 100644 --- a/interface/web/client/lib/lang/el_reseller.lng +++ b/interface/web/client/lib/lang/el_reseller.lng @@ -141,9 +141,6 @@ $wb['bank_code_txt'] = 'Bank code'; $wb['bank_name_txt'] = 'Bank name'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC / Swift'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked'; $wb['canceled_txt'] = 'Canceled'; diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng index 797161d791..22fc7dc178 100644 --- a/interface/web/client/lib/lang/en_client.lng +++ b/interface/web/client/lib/lang/en_client.lng @@ -147,9 +147,6 @@ $wb["customer_no_error_unique"] = 'The customer no. must be unique (or empty).'; $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.'; $wb['paypal_email_txt'] = 'PayPal Email'; $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than "custom" is selected.'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb["default_slave_dnsserver_txt"] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked (disables everything except DNS)'; $wb['canceled_txt'] = 'Canceled (disables client login)'; diff --git a/interface/web/client/lib/lang/en_client_template.lng b/interface/web/client/lib/lang/en_client_template.lng index 786daee90d..9120f00f6e 100644 --- a/interface/web/client/lib/lang/en_client_template.lng +++ b/interface/web/client/lib/lang/en_client_template.lng @@ -92,9 +92,6 @@ $wb["database_limits_txt"] = 'Database Limits'; $wb["cron_job_limits_txt"] = 'Cron Job Limits'; $wb["dns_limits_txt"] = 'DNS Limits'; $wb["virtualization_limits_txt"] = 'Virtualization Limits'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['limit_database_quota_txt'] = 'Database quota'; diff --git a/interface/web/client/lib/lang/en_reseller.lng b/interface/web/client/lib/lang/en_reseller.lng index 789229460f..87466717a0 100644 --- a/interface/web/client/lib/lang/en_reseller.lng +++ b/interface/web/client/lib/lang/en_reseller.lng @@ -146,9 +146,6 @@ $wb["bank_code_txt"] = 'Bank code'; $wb["bank_name_txt"] = 'Bank name'; $wb["bank_account_iban_txt"] = 'IBAN'; $wb["bank_account_swift_txt"] = 'BIC / Swift'; -$wb['aps_limits_txt'] = 'APS Installer Limits'; -$wb['limit_aps_txt'] = 'Max. number of APS instances'; -$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb["default_slave_dnsserver_txt"] = 'Default Secondary DNS Server'; $wb['locked_txt'] = 'Locked'; $wb['canceled_txt'] = 'Canceled'; diff --git a/interface/web/client/lib/lang/es_client.lng b/interface/web/client/lib/lang/es_client.lng index eae85315b6..369a04a9a3 100644 --- a/interface/web/client/lib/lang/es_client.lng +++ b/interface/web/client/lib/lang/es_client.lng @@ -3,7 +3,6 @@ $wb['active_template_additional_txt'] = 'Añadidos activos'; $wb['add_additional_template_txt'] = 'Añadir plantillas adicionales'; $wb['added_by_txt'] = 'Creado por'; $wb['added_date_txt'] = 'Fecha de creación'; -$wb['aps_limits_txt'] = 'Límites de instaladores APS'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_number_txt'] = 'Nº de cuenta bancaria.'; $wb['bank_account_owner_txt'] = 'Propietario de la cuenta bancaria'; @@ -56,8 +55,6 @@ $wb['internet_txt'] = 'Internet'; $wb['invalid_vat_id'] = 'El número de IVA no es correcto.'; $wb['ip_address_txt'] = 'ip_address'; $wb['language_txt'] = 'Idioma'; -$wb['limit_aps_error_notint'] = 'La cantidad máxima de instancias de APS debe ser un número.'; -$wb['limit_aps_txt'] = 'Cantidad máxima de instancias de APS'; $wb['limit_backup_txt'] = 'Copias de seguridad disponibles'; $wb['limit_cgi_txt'] = 'CGI disponible'; $wb['limit_client_error'] = 'Ha alcanzado el número máximo de clientes.'; diff --git a/interface/web/client/lib/lang/es_client_template.lng b/interface/web/client/lib/lang/es_client_template.lng index 4fd6f650f3..f1d3171f11 100644 --- a/interface/web/client/lib/lang/es_client_template.lng +++ b/interface/web/client/lib/lang/es_client_template.lng @@ -1,5 +1,4 @@ (müşteri oturumu devre dışı)'; diff --git a/interface/web/client/lib/lang/tr_client_template.lng b/interface/web/client/lib/lang/tr_client_template.lng index 3091176448..5ca92db77f 100644 --- a/interface/web/client/lib/lang/tr_client_template.lng +++ b/interface/web/client/lib/lang/tr_client_template.lng @@ -92,9 +92,6 @@ $wb['database_limits_txt'] = 'Veritabanı Sınırları'; $wb['cron_job_limits_txt'] = 'Zamanlanmış Görev Sınırları'; $wb['dns_limits_txt'] = 'DNS Sınırları'; $wb['virtualization_limits_txt'] = 'Sanallaştırma Sınırları'; -$wb['aps_limits_txt'] = 'APS Yükleyici Sınırları'; -$wb['limit_aps_txt'] = 'En fazla APS kopyası sayısı'; -$wb['limit_aps_error_notint'] = 'APS kopyaları sınırı bir sayı olmalıdır.'; $wb['limit_domainmodule_txt'] = 'Etki Alanı Modülü Sınırı'; $wb['client_limits_txt'] = 'Müşteri Sınırları'; $wb['limit_database_quota_txt'] = 'Veritabanı Kotası'; diff --git a/interface/web/client/lib/lang/tr_reseller.lng b/interface/web/client/lib/lang/tr_reseller.lng index d7bc06429e..e6c2f7903b 100644 --- a/interface/web/client/lib/lang/tr_reseller.lng +++ b/interface/web/client/lib/lang/tr_reseller.lng @@ -146,9 +146,6 @@ $wb['bank_code_txt'] = 'Banka Kodu'; $wb['bank_name_txt'] = 'Banka Adı'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC / Swift'; -$wb['aps_limits_txt'] = 'APS Yükleyici Sınırları'; -$wb['limit_aps_txt'] = 'En Fazla APS Kopyası Sayısı'; -$wb['limit_aps_error_notint'] = 'APS kopyaları sınırı bir sayı olmalıdır.'; $wb['default_slave_dnsserver_txt'] = 'Varsayılan İkincil DNS Sunucusu'; $wb['locked_txt'] = 'Kilitli'; $wb['canceled_txt'] = 'İptal edilmiş'; diff --git a/interface/web/client/templates/client_template_edit_limits.htm b/interface/web/client/templates/client_template_edit_limits.htm index a3e4b63e9a..a6e7c8ddd8 100644 --- a/interface/web/client/templates/client_template_edit_limits.htm +++ b/interface/web/client/templates/client_template_edit_limits.htm @@ -318,7 +318,7 @@
- + @@ -379,24 +379,6 @@ - -
- -
-
-
- -
-
-
-
-
diff --git a/interface/web/client/templates/reseller_edit_limits.htm b/interface/web/client/templates/reseller_edit_limits.htm index c0a25939df..7b710a0748 100644 --- a/interface/web/client/templates/reseller_edit_limits.htm +++ b/interface/web/client/templates/reseller_edit_limits.htm @@ -362,7 +362,7 @@
- + @@ -423,24 +423,6 @@ - -
- -
-
-
- -
-
-
-
-
-
- -
-
-
- -
-
-
-
-
diff --git a/interface/web/tools/import_vpopmail.php b/interface/web/tools/import_vpopmail.php index 7ae4efb58b..cae6caf94a 100644 --- a/interface/web/tools/import_vpopmail.php +++ b/interface/web/tools/import_vpopmail.php @@ -110,7 +110,7 @@ function start_import() { $country = 'FI'; //* add client - $sql = "INSERT INTO `client` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `company_name`, `company_id`, `contact_name`, `customer_no`, `vat_id`, `street`, `zip`, `city`, `state`, `country`, `telephone`, `mobile`, `fax`, `email`, `internet`, `icq`, `notes`, `bank_account_owner`, `bank_account_number`, `bank_code`, `bank_name`, `bank_account_iban`, `bank_account_swift`, `default_mailserver`, `limit_maildomain`, `limit_mailbox`, `limit_mailalias`, `limit_mailaliasdomain`, `limit_mailforward`, `limit_mailcatchall`, `limit_mailrouting`, `limit_mailfilter`, `limit_fetchmail`, `limit_mailquota`, `limit_spamfilter_wblist`, `limit_spamfilter_user`, `limit_spamfilter_policy`, `default_webserver`, `limit_web_ip`, `limit_web_domain`, `limit_web_quota`, `web_php_options`, `limit_cgi`, `limit_ssi`, `limit_perl`, `limit_ruby`, `limit_python`, `force_suexec`, `limit_hterror`, `limit_wildcard`, `limit_ssl`, `limit_web_subdomain`, `limit_web_aliasdomain`, `limit_ftp_user`, `limit_shell_user`, `ssh_chroot`, `limit_webdav_user`, `limit_aps`, `default_dnsserver`, `limit_dns_zone`, `limit_dns_slave_zone`, `limit_dns_record`, `default_dbserver`, `limit_database`, `limit_cron`, `limit_cron_type`, `limit_cron_frequency`, `limit_traffic_quota`, `limit_client`, `limit_mailmailinglist`, `limit_openvz_vm`, `limit_openvz_vm_template_id`, `parent_client_id`, `username`, `password`, `language`, `usertheme`, `template_master`, `template_additional`, `created_at`, `id_rsa`, `ssh_rsa`) + $sql = "INSERT INTO `client` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `company_name`, `company_id`, `contact_name`, `customer_no`, `vat_id`, `street`, `zip`, `city`, `state`, `country`, `telephone`, `mobile`, `fax`, `email`, `internet`, `icq`, `notes`, `bank_account_owner`, `bank_account_number`, `bank_code`, `bank_name`, `bank_account_iban`, `bank_account_swift`, `default_mailserver`, `limit_maildomain`, `limit_mailbox`, `limit_mailalias`, `limit_mailaliasdomain`, `limit_mailforward`, `limit_mailcatchall`, `limit_mailrouting`, `limit_mailfilter`, `limit_fetchmail`, `limit_mailquota`, `limit_spamfilter_wblist`, `limit_spamfilter_user`, `limit_spamfilter_policy`, `default_webserver`, `limit_web_ip`, `limit_web_domain`, `limit_web_quota`, `web_php_options`, `limit_cgi`, `limit_ssi`, `limit_perl`, `limit_ruby`, `limit_python`, `force_suexec`, `limit_hterror`, `limit_wildcard`, `limit_ssl`, `limit_web_subdomain`, `limit_web_aliasdomain`, `limit_ftp_user`, `limit_shell_user`, `ssh_chroot`, `limit_webdav_user`, `default_dnsserver`, `limit_dns_zone`, `limit_dns_slave_zone`, `limit_dns_record`, `default_dbserver`, `limit_database`, `limit_cron`, `limit_cron_type`, `limit_cron_frequency`, `limit_traffic_quota`, `limit_client`, `limit_mailmailinglist`, `limit_openvz_vm`, `limit_openvz_vm_template_id`, `parent_client_id`, `username`, `password`, `language`, `usertheme`, `template_master`, `template_additional`, `created_at`, `id_rsa`, `ssh_rsa`) VALUES(1, 1, 'riud', 'riud', '', '', '', ?, '', '', '', '', '', '', ?, '', '', '', '', 'http://', '', '', '', '', '', '', '', '', 1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 1, NULL, -1, -1, 'no,fast-cgi,cgi,mod,suphp', 'n', 'n', 'n', 'n', 'n', 'y', 'n', 'n', 'n', -1, -1, -1, 0, 'no,jailkit', 0, 0, 1, -1, -1, -1, 1, -1, 0, 'url', 5, -1, 0, -1, 0, 0, 0, ?, ?, ?, 'default', 0, '', NOW(), '', '')"; $app->db->query($sql, $pw_domain,$country, $pw_domain, $pw_crypt_password, $conf['language']); $client_id = $app->db->insertID(); @@ -298,7 +298,7 @@ function start_import() { "source" => $email, "destination" => $target, "type" => 'forward', - "active" => 'y' + "active" => 'y' ); $app->db->datalogInsert('mail_forwarding', $sql, 'forwarding_id'); } diff --git a/remoting_client/API-docs/navigation.html b/remoting_client/API-docs/navigation.html index 89ef7bc8e4..48c7957b8d 100644 --- a/remoting_client/API-docs/navigation.html +++ b/remoting_client/API-docs/navigation.html @@ -207,16 +207,6 @@

server_get

server_get_php_versions

server_get_serverid_by_ip

-

sites_aps_available_packages_list

-

sites_aps_change_package_status

-

sites_aps_get_package_details

-

sites_aps_get_package_file

-

sites_aps_get_package_settings

-

sites_aps_install_package

-

sites_aps_instance_get

-

sites_aps_instance_delete

-

sites_aps_instance_settings_get

-

sites_aps_update_package_list

sites_cron_add

sites_cron_delete

sites_cron_get

diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php index 8c38123096..aaa4e9fe1c 100644 --- a/server/lib/classes/db_mysql.inc.php +++ b/server/lib/classes/db_mysql.inc.php @@ -258,7 +258,7 @@ class db private function _query($sQuery = '') { global $app; - + $aArgs = func_get_args(); if ($sQuery == '') { @@ -354,7 +354,7 @@ class db * @return array result row or NULL if none found */ public function queryOneRecord($sQuery = '') { - + $aArgs = func_get_args(); if(!empty($aArgs)) { $sQuery = array_shift($aArgs); @@ -363,7 +363,7 @@ class db } array_unshift($aArgs, $sQuery); } - + $oResult = call_user_func_array([&$this, 'query'], $aArgs); if(!$oResult) return null; @@ -750,7 +750,7 @@ class db foreach($insert_data as $key => $val) { $key_str .= '??,'; $params[] = $key; - + $val_str .= '?,'; $v_params[] = $val; } @@ -764,7 +764,7 @@ class db $this->query("INSERT INTO ?? $insert_data_str", $tablename); $app->log("deprecated use of passing values to datalogInsert() - table " . $tablename, 1); } - + $old_rec = array(); $index_value = $this->insertID(); if(!$index_value && isset($insert_data[$index_field])) { @@ -848,7 +848,7 @@ class db $result = $this->queryAllRecords("SELECT COUNT( * ) AS cnt, sys_datalog.action, sys_datalog.dbtable FROM sys_datalog, server WHERE server.server_id = sys_datalog.server_id AND sys_datalog.user = ? AND sys_datalog.datalog_id > server.updated GROUP BY sys_datalog.dbtable, sys_datalog.action", $login); foreach($result as $row) { - if(!$row['dbtable'] || in_array($row['dbtable'], array('aps_instances', 'aps_instances_settings', 'mail_access', 'mail_content_filter'))) continue; // ignore some entries, maybe more to come + if(!$row['dbtable'] || in_array($row['dbtable'], array('mail_access', 'mail_content_filter'))) continue; // ignore some entries, maybe more to come $return['entries'][] = array('table' => $row['dbtable'], 'action' => $row['action'], 'count' => $row['cnt'], 'text' => $app->lng('datalog_status_' . $row['action'] . '_' . $row['dbtable'])); $return['count'] += $row['cnt']; } unset($result); diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php index 02f31510c2..de537e21ae 100644 --- a/server/mods-available/web_module.inc.php +++ b/server/mods-available/web_module.inc.php @@ -53,18 +53,6 @@ class web_module { 'web_backup_insert', 'web_backup_update', 'web_backup_delete', - 'aps_instance_insert', - 'aps_instance_update', - 'aps_instance_delete', - 'aps_instance_setting_insert', - 'aps_instance_setting_update', - 'aps_instance_setting_delete', - 'aps_package_insert', - 'aps_package_update', - 'aps_package_delete', - 'aps_setting_insert', - 'aps_setting_update', - 'aps_setting_delete'); //* This function is called during ispconfig installation to determine // if a symlink shall be created for this plugin. @@ -110,10 +98,6 @@ class web_module { $app->modules->registerTableHook('web_folder', 'web_module', 'process'); $app->modules->registerTableHook('web_folder_user', 'web_module', 'process'); $app->modules->registerTableHook('web_backup', 'web_module', 'process'); - $app->modules->registerTableHook('aps_instances', 'web_module', 'process'); - $app->modules->registerTableHook('aps_instances_settings', 'web_module', 'process'); - $app->modules->registerTableHook('aps_packages', 'web_module', 'process'); - $app->modules->registerTableHook('aps_settings', 'web_module', 'process'); // Register service $app->services->registerService('httpd', 'web_module', 'restartHttpd'); @@ -165,26 +149,6 @@ class web_module { if($action == 'u') $app->plugins->raiseEvent('web_backup_update', $data); if($action == 'd') $app->plugins->raiseEvent('web_backup_delete', $data); break; - case 'aps_instances': - if($action == 'i') $app->plugins->raiseEvent('aps_instance_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_instance_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_instance_delete', $data); - break; - case 'aps_instances_settings': - if($action == 'i') $app->plugins->raiseEvent('aps_instance_setting_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_instance_setting_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_instance_setting_delete', $data); - break; - case 'aps_packages': - if($action == 'i') $app->plugins->raiseEvent('aps_package_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_package_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_package_delete', $data); - break; - case 'aps_settings': - if($action == 'i') $app->plugins->raiseEvent('aps_setting_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_setting_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_setting_delete', $data); - break; } // end switch } // end function @@ -220,7 +184,7 @@ class web_module { } else { $cmd = $app->system->getinitcommand($daemon, 'reload'); } - + if($web_config['server_type'] == 'nginx'){ $app->log("Checking nginx configuration...", LOGLEVEL_DEBUG); exec('nginx -t 2>&1', $retval['output'], $retval['retval']); @@ -231,16 +195,16 @@ class web_module { return $retval; } } - + exec($cmd.' 2>&1', $retval['output'], $retval['retval']); - + // if restart failed despite successful syntax check => try again if($web_config['server_type'] == 'nginx' && $retval['retval'] > 0){ sleep(2); exec($cmd.' 2>&1', $retval['output'], $retval['retval']); } $app->log("Restarting httpd: $cmd", LOGLEVEL_DEBUG); - + // nginx: do a syntax check because on some distributions, the init script always returns 0 - even if the syntax is not ok (how stupid is that?) //if($web_config['server_type'] == 'nginx' && $retval['retval'] == 0){ //exec('nginx -t 2>&1', $retval['output'], $retval['retval']); @@ -263,7 +227,7 @@ class web_module { } else { $path_parts = pathinfo($init_script); $initcommand = $app->system->getinitcommand($path_parts['basename'], $action, $path_parts['dirname']); - + if($action == 'reload' && $init_script == $conf['init_scripts'].'/'.$web_config['php_fpm_init_script']) { // we have to do a workaround because of buggy ubuntu fpm reload handling // @see: https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1242376 @@ -280,7 +244,7 @@ class web_module { } */ unset($tmp); - } + } } /* if($action == 'reload') { -- GitLab From b96b02dbfbf5dee9a706642f5430fb537c934028 Mon Sep 17 00:00:00 2001 From: thom Date: Tue, 28 Jul 2020 12:03:05 +0200 Subject: [PATCH 5/9] Fix typo (#5676) --- server/mods-available/web_module.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php index de537e21ae..8e1d141d5b 100644 --- a/server/mods-available/web_module.inc.php +++ b/server/mods-available/web_module.inc.php @@ -52,7 +52,7 @@ class web_module { 'web_folder_user_delete', 'web_backup_insert', 'web_backup_update', - 'web_backup_delete', + 'web_backup_delete'); //* This function is called during ispconfig installation to determine // if a symlink shall be created for this plugin. -- GitLab From 50b322c85f4a7b84ca51d60f8dcf24557ac42bef Mon Sep 17 00:00:00 2001 From: thom Date: Fri, 11 Sep 2020 13:05:39 +0200 Subject: [PATCH 6/9] Fix syntax error --- server/mods-available/web_module.inc.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php index 6e879507dd..9908980ca6 100644 --- a/server/mods-available/web_module.inc.php +++ b/server/mods-available/web_module.inc.php @@ -101,14 +101,11 @@ class web_module { $app->modules->registerTableHook('web_folder', 'web_module', 'process'); $app->modules->registerTableHook('web_folder_user', 'web_module', 'process'); $app->modules->registerTableHook('web_backup', 'web_module', 'process'); -<<<<<<< HEAD -======= $app->modules->registerTableHook('aps_instances', 'web_module', 'process'); $app->modules->registerTableHook('aps_instances_settings', 'web_module', 'process'); $app->modules->registerTableHook('aps_packages', 'web_module', 'process'); $app->modules->registerTableHook('aps_settings', 'web_module', 'process'); $app->modules->registerTableHook('directive_snippets', 'web_module', 'process'); ->>>>>>> 85f0039708dfc34bd368648b83d24e05ca93da9a // Register service $app->services->registerService('httpd', 'web_module', 'restartHttpd'); -- GitLab From 70088342ac239429083b4c9000e89f6ffa5f300c Mon Sep 17 00:00:00 2001 From: thom Date: Fri, 11 Sep 2020 13:14:56 +0200 Subject: [PATCH 7/9] Fix another syntax error --- server/mods-available/web_module.inc.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php index 9908980ca6..097b8ce352 100644 --- a/server/mods-available/web_module.inc.php +++ b/server/mods-available/web_module.inc.php @@ -157,8 +157,7 @@ class web_module { if($action == 'u') $app->plugins->raiseEvent('web_backup_update', $data); if($action == 'd') $app->plugins->raiseEvent('web_backup_delete', $data); break; -<<<<<<< HEAD -======= + case 'aps_instances': if($action == 'i') $app->plugins->raiseEvent('aps_instance_insert', $data); if($action == 'u') $app->plugins->raiseEvent('aps_instance_update', $data); @@ -184,7 +183,7 @@ class web_module { if($action == 'u') $app->plugins->raiseEvent('directive_snippets_update', $data); if($action == 'd') $app->plugins->raiseEvent('directive_snippets_delete', $data); break; ->>>>>>> 85f0039708dfc34bd368648b83d24e05ca93da9a + } // end switch } // end function -- GitLab From 4e875a584564c6086d340f8d8f2b590f86be1d3f Mon Sep 17 00:00:00 2001 From: thom Date: Fri, 11 Sep 2020 14:31:20 +0200 Subject: [PATCH 8/9] Purge APS (#5676) --- server/mods-available/web_module.inc.php | 25 ------------------------ 1 file changed, 25 deletions(-) diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php index 097b8ce352..b55d530483 100644 --- a/server/mods-available/web_module.inc.php +++ b/server/mods-available/web_module.inc.php @@ -101,10 +101,6 @@ class web_module { $app->modules->registerTableHook('web_folder', 'web_module', 'process'); $app->modules->registerTableHook('web_folder_user', 'web_module', 'process'); $app->modules->registerTableHook('web_backup', 'web_module', 'process'); - $app->modules->registerTableHook('aps_instances', 'web_module', 'process'); - $app->modules->registerTableHook('aps_instances_settings', 'web_module', 'process'); - $app->modules->registerTableHook('aps_packages', 'web_module', 'process'); - $app->modules->registerTableHook('aps_settings', 'web_module', 'process'); $app->modules->registerTableHook('directive_snippets', 'web_module', 'process'); // Register service @@ -157,27 +153,6 @@ class web_module { if($action == 'u') $app->plugins->raiseEvent('web_backup_update', $data); if($action == 'd') $app->plugins->raiseEvent('web_backup_delete', $data); break; - - case 'aps_instances': - if($action == 'i') $app->plugins->raiseEvent('aps_instance_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_instance_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_instance_delete', $data); - break; - case 'aps_instances_settings': - if($action == 'i') $app->plugins->raiseEvent('aps_instance_setting_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_instance_setting_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_instance_setting_delete', $data); - break; - case 'aps_packages': - if($action == 'i') $app->plugins->raiseEvent('aps_package_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_package_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_package_delete', $data); - break; - case 'aps_settings': - if($action == 'i') $app->plugins->raiseEvent('aps_setting_insert', $data); - if($action == 'u') $app->plugins->raiseEvent('aps_setting_update', $data); - if($action == 'd') $app->plugins->raiseEvent('aps_setting_delete', $data); - break; case 'directive_snippets': if($action == 'i') $app->plugins->raiseEvent('directive_snippets_insert', $data); if($action == 'u') $app->plugins->raiseEvent('directive_snippets_update', $data); -- GitLab From cbad111fac976b356009172c4c14446f8f8a4e80 Mon Sep 17 00:00:00 2001 From: thom Date: Sat, 12 Sep 2020 01:57:40 +0200 Subject: [PATCH 9/9] Purge APS (#5676) --- server/aps_packages/empty.dir | 1 - 1 file changed, 1 deletion(-) delete mode 100644 server/aps_packages/empty.dir diff --git a/server/aps_packages/empty.dir b/server/aps_packages/empty.dir deleted file mode 100644 index 95ba9ef37c..0000000000 --- a/server/aps_packages/empty.dir +++ /dev/null @@ -1 +0,0 @@ -This empty directory is needed by ISPConfig. -- GitLab