summaryrefslogtreecommitdiffstats
path: root/settings/ajax/updateapp.php
diff options
context:
space:
mode:
authorGeorg Ehrke <developer@georgehrke.com>2014-05-21 12:14:10 +0200
committerGeorg Ehrke <developer@georgehrke.com>2014-05-31 12:17:54 +0200
commit2bcfd8e084b27ed89cf6e62bc9ab2c681d5a8361 (patch)
treebff130f767536eca5892511e0de26bab317b9697 /settings/ajax/updateapp.php
parentb9f059bd3ee75247058bd5eb9908f6c33ffa08e2 (diff)
downloadnextcloud-server-2bcfd8e084b27ed89cf6e62bc9ab2c681d5a8361.tar.gz
nextcloud-server-2bcfd8e084b27ed89cf6e62bc9ab2c681d5a8361.zip
make it possible to update shipped apps via the appstore
Diffstat (limited to 'settings/ajax/updateapp.php')
-rw-r--r--settings/ajax/updateapp.php38
1 files changed, 31 insertions, 7 deletions
diff --git a/settings/ajax/updateapp.php b/settings/ajax/updateapp.php
index 91c342d5d07..5eb0a277cba 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::updateApp($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.") )));
}