Signed-off-by: Julius Härtl <jus@bitgrid.net> Move app management ajax code to AppSettingsController Signed-off-by: Julius Härtl <jus@bitgrid.net>pull/9565/head
parent
88f657b71c
commit
8594fdc493
@ -1,44 +0,0 @@ |
||||
<?php |
||||
/** |
||||
* @copyright Copyright (c) 2016, ownCloud, Inc. |
||||
* |
||||
* @author Georg Ehrke <oc.list@georgehrke.com> |
||||
* @author Kamil Domanski <kdomanski@kdemail.net> |
||||
* @author Lukas Reschke <lukas@statuscode.ch> |
||||
* |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
\OC_JSON::checkAdminUser(); |
||||
\OC_JSON::callCheck(); |
||||
|
||||
$lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); |
||||
if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay |
||||
$l = \OC::$server->getL10N('core'); |
||||
OC_JSON::error(array( 'data' => array( 'message' => $l->t('Password confirmation is required')))); |
||||
exit(); |
||||
} |
||||
|
||||
if (!array_key_exists('appid', $_POST)) { |
||||
OC_JSON::error(); |
||||
exit; |
||||
} |
||||
|
||||
$appIds = (array)$_POST['appid']; |
||||
foreach($appIds as $appId) { |
||||
$appId = OC_App::cleanAppId($appId); |
||||
\OC::$server->getAppManager()->disableApp($appId); |
||||
} |
||||
OC_JSON::success(); |
||||
@ -1,61 +0,0 @@ |
||||
<?php |
||||
/** |
||||
* @copyright Copyright (c) 2016, ownCloud, Inc. |
||||
* |
||||
* @author Bart Visscher <bartv@thisnet.nl> |
||||
* @author Christopher Schäpers <kondou@ts.unde.re> |
||||
* @author Kamil Domanski <kdomanski@kdemail.net> |
||||
* @author Lukas Reschke <lukas@statuscode.ch> |
||||
* @author Robin Appelman <robin@icewind.nl> |
||||
* @author Thomas Müller <thomas.mueller@tmit.eu> |
||||
* |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
|
||||
use OCP\ILogger; |
||||
|
||||
OC_JSON::checkAdminUser(); |
||||
\OC_JSON::callCheck(); |
||||
|
||||
$lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); |
||||
if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay |
||||
$l = \OC::$server->getL10N('core'); |
||||
OC_JSON::error(array( 'data' => array( 'message' => $l->t('Password confirmation is required')))); |
||||
exit(); |
||||
} |
||||
|
||||
$groups = isset($_POST['groups']) ? (array)$_POST['groups'] : []; |
||||
$appIds = isset($_POST['appIds']) ? (array)$_POST['appIds'] : []; |
||||
|
||||
try { |
||||
$updateRequired = false; |
||||
foreach($appIds as $appId) { |
||||
$app = new OC_App(); |
||||
$appId = OC_App::cleanAppId($appId); |
||||
$app->enable($appId, $groups); |
||||
if(\OC_App::shouldUpgrade($appId)) { |
||||
$updateRequired = true; |
||||
} |
||||
} |
||||
|
||||
OC_JSON::success(['data' => ['update_required' => $updateRequired]]); |
||||
} catch (Exception $e) { |
||||
\OC::$server->getLogger()->logException($e, [ |
||||
'level' => ILogger::DEBUG, |
||||
'app' => 'core', |
||||
]); |
||||
OC_JSON::error(array("data" => array("message" => $e->getMessage()) )); |
||||
} |
||||
@ -1,55 +0,0 @@ |
||||
<?php |
||||
/** |
||||
* @copyright Copyright (c) 2016, ownCloud, Inc. |
||||
* |
||||
* @author Georg Ehrke <oc.list@georgehrke.com> |
||||
* @author Lukas Reschke <lukas@statuscode.ch> |
||||
* @author Robin Appelman <robin@icewind.nl> |
||||
* @author Roeland Jago Douma <roeland@famdouma.nl> |
||||
* |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
\OC_JSON::checkAdminUser(); |
||||
\OC_JSON::callCheck(); |
||||
|
||||
$lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); |
||||
if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay |
||||
$l = \OC::$server->getL10N('core'); |
||||
OC_JSON::error(array( 'data' => array( 'message' => $l->t('Password confirmation is required')))); |
||||
exit(); |
||||
} |
||||
|
||||
if (!array_key_exists('appid', $_POST)) { |
||||
OC_JSON::error(); |
||||
exit; |
||||
} |
||||
|
||||
$appId = (string)$_POST['appid']; |
||||
$appId = OC_App::cleanAppId($appId); |
||||
|
||||
// FIXME: move to controller |
||||
/** @var \OC\Installer $installer */ |
||||
$installer = \OC::$server->query(\OC\Installer::class); |
||||
$result = $installer->removeApp($app); |
||||
if($result !== false) { |
||||
// FIXME: Clear the cache - move that into some sane helper method |
||||
\OC::$server->getMemCacheFactory()->createDistributed('settings')->remove('listApps-0'); |
||||
\OC::$server->getMemCacheFactory()->createDistributed('settings')->remove('listApps-1'); |
||||
OC_JSON::success(array('data' => array('appid' => $appId))); |
||||
} else { |
||||
$l = \OC::$server->getL10N('settings'); |
||||
OC_JSON::error(array('data' => array( 'message' => $l->t("Couldn't remove app.") ))); |
||||
} |
||||
@ -1,58 +0,0 @@ |
||||
<?php |
||||
/** |
||||
* @copyright Copyright (c) 2016, ownCloud, Inc. |
||||
* |
||||
* @author Christopher Schäpers <kondou@ts.unde.re> |
||||
* @author Frank Karlitschek <frank@karlitschek.de> |
||||
* @author Georg Ehrke <oc.list@georgehrke.com> |
||||
* @author Lukas Reschke <lukas@statuscode.ch> |
||||
* @author Robin Appelman <robin@icewind.nl> |
||||
* @author Roeland Jago Douma <roeland@famdouma.nl> |
||||
* @author Thomas Müller <thomas.mueller@tmit.eu> |
||||
* |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
\OC_JSON::checkAdminUser(); |
||||
\OC_JSON::callCheck(); |
||||
|
||||
if (!array_key_exists('appid', $_POST)) { |
||||
\OC_JSON::error(array( |
||||
'message' => 'No AppId given!' |
||||
)); |
||||
return; |
||||
} |
||||
|
||||
$appId = (string)$_POST['appid']; |
||||
$appId = OC_App::cleanAppId($appId); |
||||
|
||||
$config = \OC::$server->getConfig(); |
||||
$config->setSystemValue('maintenance', true); |
||||
try { |
||||
$installer = \OC::$server->query(\OC\Installer::class); |
||||
$result = $installer->updateAppstoreApp($appId); |
||||
$config->setSystemValue('maintenance', false); |
||||
} catch(Exception $ex) { |
||||
$config->setSystemValue('maintenance', false); |
||||
OC_JSON::error(array('data' => array( 'message' => $ex->getMessage() ))); |
||||
return; |
||||
} |
||||
|
||||
if($result !== false) { |
||||
OC_JSON::success(array('data' => array('appid' => $appId))); |
||||
} else { |
||||
$l = \OC::$server->getL10N('settings'); |
||||
OC_JSON::error(array('data' => array( 'message' => $l->t("Couldn't update app.") ))); |
||||
} |
||||
Loading…
Reference in new issue