diff options
author | Martin Konrad <info@martin-konrad.net> | 2014-09-30 03:23:00 +0200 |
---|---|---|
committer | Martin Konrad <info@martin-konrad.net> | 2014-09-30 03:23:00 +0200 |
commit | fd9b79b218c171a201940c31068808fb3ccc6383 (patch) | |
tree | 88f586533a13f2ccb619f73cd95effb83f1b9778 /apps | |
parent | 659b9fc0308d30b141e6ed66e52b822e76393756 (diff) | |
download | nextcloud-server-fd9b79b218c171a201940c31068808fb3ccc6383.tar.gz nextcloud-server-fd9b79b218c171a201940c31068808fb3ccc6383.zip |
Add a CLI command that deletes an LDAP config
With this change LDAP configurations can be managed completely from
the command line.
Diffstat (limited to 'apps')
-rw-r--r-- | apps/user_ldap/appinfo/register_command.php | 1 | ||||
-rw-r--r-- | apps/user_ldap/command/deleteconfig.php | 44 | ||||
-rw-r--r-- | apps/user_ldap/lib/helper.php | 3 |
3 files changed, 45 insertions, 3 deletions
diff --git a/apps/user_ldap/appinfo/register_command.php b/apps/user_ldap/appinfo/register_command.php index 639597fdb83..f65b9773388 100644 --- a/apps/user_ldap/appinfo/register_command.php +++ b/apps/user_ldap/appinfo/register_command.php @@ -10,3 +10,4 @@ $application->add(new OCA\user_ldap\Command\ShowConfig()); $application->add(new OCA\user_ldap\Command\SetConfig()); $application->add(new OCA\user_ldap\Command\TestConfig()); $application->add(new OCA\user_ldap\Command\CreateEmptyConfig()); +$application->add(new OCA\user_ldap\Command\DeleteConfig()); diff --git a/apps/user_ldap/command/deleteconfig.php b/apps/user_ldap/command/deleteconfig.php new file mode 100644 index 00000000000..f8b834a6465 --- /dev/null +++ b/apps/user_ldap/command/deleteconfig.php @@ -0,0 +1,44 @@ +<?php +/** + * Copyright (c) 2014 Martin Konrad <info@martin-konrad.net> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCA\user_ldap\Command; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; +use \OCA\user_ldap\lib\Helper; + +class DeleteConfig extends Command { + + protected function configure() { + $this + ->setName('ldap:delete-config') + ->setDescription('deletes an existing LDAP configuration') + ->addArgument( + 'configID', + InputArgument::REQUIRED, + 'the configuration ID' + ) + ; + } + + + protected function execute(InputInterface $input, OutputInterface $output) { + $configPrefix = $input->getArgument('configID');; + + $success = Helper::deleteServerConfiguration($configPrefix); + + if($success) { + $output->writeln("Deleted configuration with configID '{$configPrefix}'"); + } else { + $output->writeln("Cannot delete configuration with configID '{$configPrefix}'"); + } + } +} diff --git a/apps/user_ldap/lib/helper.php b/apps/user_ldap/lib/helper.php index ecda49f73fc..282f4549e3b 100644 --- a/apps/user_ldap/lib/helper.php +++ b/apps/user_ldap/lib/helper.php @@ -111,9 +111,6 @@ class Helper { * @return bool true on success, false otherwise */ static public function deleteServerConfiguration($prefix) { - //just to be on the safe side - \OCP\User::checkAdminUser(); - if(!in_array($prefix, self::getServerConfigurationPrefixes())) { return false; } |