From 4569cae57f127afd093794310ccd290d2d9fdf36 Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Wed, 20 Apr 2016 10:58:46 -0400 Subject: [PATCH] Merge branch 'stable-3.1' --- interface/lib/classes/remote.d/aps.inc.php | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 45 insertions(+), 6 deletions(-) diff --git a/interface/lib/classes/remote.d/aps.inc.php b/interface/lib/classes/remote.d/aps.inc.php index b626f1b..4db5f78 100644 --- a/interface/lib/classes/remote.d/aps.inc.php +++ b/interface/lib/classes/remote.d/aps.inc.php @@ -39,13 +39,15 @@ { global $app; - if(!$this->checkPerm($session_id, 'sites_aps_update_package')) { + if(!$this->checkPerm($session_id, 'sites_aps_update_package_list')) { $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); return false; } - + + require_once '../../../lib/config.inc.php'; $app->load('aps_crawler'); - $aps = new ApsCrawler($app, false); // true = Interface mode, false = Server mode + + $aps = new ApsCrawler($app, true); // true = Interface mode, false = Server mode $aps->startCrawler(); $aps->parseFolderToDB(); $aps->fixURLs(); @@ -53,7 +55,7 @@ return true; } - public function sites_aps_available_packages_list($session_id, $params) + public function sites_aps_available_packages_list($session_id, $params = array()) { global $app; @@ -198,6 +200,36 @@ 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')) { + $this->server->fault('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 + $this->server->fault('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))) { + $this->server->fault('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; @@ -241,8 +273,15 @@ return false; } - $sql = "SELECT * FROM web_domain WHERE domain = ?"; - $domain = $app->db->queryOneRecord($sql, $params['main_domain']); + 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) { $this->server->fault('invalid parameters', 'No valid domain given.'); -- Gitblit v1.9.1