From: Martin Konrad Date: Tue, 30 Sep 2014 01:23:00 +0000 (+0200) Subject: Add a CLI command that deletes an LDAP config X-Git-Tag: v8.0.0alpha1~380^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fd9b79b218c171a201940c31068808fb3ccc6383;p=nextcloud-server.git Add a CLI command that deletes an LDAP config With this change LDAP configurations can be managed completely from the command line. --- 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 @@ + + * 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; }