From fd9b79b218c171a201940c31068808fb3ccc6383 Mon Sep 17 00:00:00 2001 From: Martin Konrad Date: Tue, 30 Sep 2014 03:23:00 +0200 Subject: [PATCH] Add a CLI command that deletes an LDAP config With this change LDAP configurations can be managed completely from the command line. --- apps/user_ldap/appinfo/register_command.php | 1 + apps/user_ldap/command/deleteconfig.php | 44 +++++++++++++++++++++ apps/user_ldap/lib/helper.php | 3 -- 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 apps/user_ldap/command/deleteconfig.php diff --git a/apps/user_ldap/appinfo/register_command.php b/apps/user_ldap/appinfo/register_command.php index 639597fdb8..f65b977338 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 0000000000..f8b834a646 --- /dev/null +++ b/apps/user_ldap/command/deleteconfig.php @@ -0,0 +1,44 @@ + + * 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 ecda49f73f..282f4549e3 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; }