summaryrefslogtreecommitdiffstats
path: root/settings/ajax
diff options
context:
space:
mode:
Diffstat (limited to 'settings/ajax')
-rw-r--r--settings/ajax/disableapp.php11
-rw-r--r--settings/ajax/installapp.php19
-rw-r--r--settings/ajax/uninstallapp.php19
-rw-r--r--settings/ajax/updateapp.php38
4 files changed, 78 insertions, 9 deletions
diff --git a/settings/ajax/disableapp.php b/settings/ajax/disableapp.php
index 466a719157d..c1e5bc8eac7 100644
--- a/settings/ajax/disableapp.php
+++ b/settings/ajax/disableapp.php
@@ -1,7 +1,14 @@
<?php
-OC_JSON::checkAdminUser();
+OCP\JSON::checkAdminUser();
OCP\JSON::callCheck();
-OC_App::disable(OC_App::cleanAppId($_POST['appid']));
+if (!array_key_exists('appid', $_POST)) {
+ OC_JSON::error();
+ exit;
+}
+$appId = $_POST['appid'];
+$appId = OC_App::cleanAppId($appId);
+
+OC_App::disable($appId);
OC_JSON::success();
diff --git a/settings/ajax/installapp.php b/settings/ajax/installapp.php
new file mode 100644
index 00000000000..47f40f2b0cd
--- /dev/null
+++ b/settings/ajax/installapp.php
@@ -0,0 +1,19 @@
+<?php
+OCP\JSON::checkAdminUser();
+OCP\JSON::callCheck();
+
+if (!array_key_exists('appid', $_POST)) {
+ OC_JSON::error();
+ exit;
+}
+
+$appId = $_POST['appid'];
+$appId = OC_App::cleanAppId($appId);
+
+$result = OC_App::installApp($appId);
+if($result !== false) {
+ OC_JSON::success(array('data' => array('appid' => $appId)));
+} else {
+ $l = OC_L10N::get('settings');
+ OC_JSON::error(array("data" => array( "message" => $l->t("Couldn't remove app.") )));
+}
diff --git a/settings/ajax/uninstallapp.php b/settings/ajax/uninstallapp.php
new file mode 100644
index 00000000000..5c6371dc16f
--- /dev/null
+++ b/settings/ajax/uninstallapp.php
@@ -0,0 +1,19 @@
+<?php
+OCP\JSON::checkAdminUser();
+OCP\JSON::callCheck();
+
+if (!array_key_exists('appid', $_POST)) {
+ OC_JSON::error();
+ exit;
+}
+
+$appId = $_POST['appid'];
+$appId = OC_App::cleanAppId($appId);
+
+$result = OC_App::removeApp($appId);
+if($result !== false) {
+ OC_JSON::success(array('data' => array('appid' => $appId)));
+} else {
+ $l = OC_L10N::get('settings');
+ OC_JSON::error(array("data" => array( "message" => $l->t("Couldn't remove app.") )));
+}
diff --git a/settings/ajax/updateapp.php b/settings/ajax/updateapp.php
index 91c342d5d07..7010dfe23b5 100644
--- a/settings/ajax/updateapp.php
+++ b/settings/ajax/updateapp.php
@@ -1,15 +1,39 @@
<?php
-
-OC_JSON::checkAdminUser();
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+OCP\JSON::checkAdminUser();
OCP\JSON::callCheck();
-$appid = $_POST['appid'];
-$appid = OC_App::cleanAppId($appid);
+if (!array_key_exists('appid', $_POST)) {
+ OCP\JSON::error(array(
+ 'message' => 'No AppId given!'
+ ));
+ exit;
+}
+
+$appId = $_POST['appid'];
+
+if (!is_numeric($appId)) {
+ $appId = OC_Appconfig::getValue($appId, 'ocsid', null);
+
+ if ($appId === null) {
+ OCP\JSON::error(array(
+ 'message' => 'No OCS-ID found for app!'
+ ));
+ exit;
+ }
+}
+
+$appId = OC_App::cleanAppId($appId);
-$result = OC_Installer::updateApp($appid);
+$result = OC_Installer::updateAppByOCSId($appId);
if($result !== false) {
- OC_JSON::success(array('data' => array('appid' => $appid)));
+ OC_JSON::success(array('data' => array('appid' => $appId)));
} else {
- $l = OC_L10N::get('settings');
+ $l = OC_L10N::get('settings');
OC_JSON::error(array("data" => array( "message" => $l->t("Couldn't update app.") )));
}