From c333d43639b0d582f9dc4ef51d919f56c6433ff1 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Sun, 06 Sep 2015 11:24:07 -0400
Subject: [PATCH] Merge branch 'master' of http://git.ispconfig.org/ispconfig/ispconfig3
---
interface/lib/classes/remote.d/aps.inc.php | 40 ++++++++++++++++++++++++++++++++++++----
1 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/interface/lib/classes/remote.d/aps.inc.php b/interface/lib/classes/remote.d/aps.inc.php
index b626f1b..6497da4 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;
--
Gitblit v1.9.1