]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add a CLI command that deletes an LDAP config
authorMartin Konrad <info@martin-konrad.net>
Tue, 30 Sep 2014 01:23:00 +0000 (03:23 +0200)
committerMartin Konrad <info@martin-konrad.net>
Tue, 30 Sep 2014 01:23:00 +0000 (03:23 +0200)
With this change LDAP configurations can be managed completely from
the command line.

apps/user_ldap/appinfo/register_command.php
apps/user_ldap/command/deleteconfig.php [new file with mode: 0644]
apps/user_ldap/lib/helper.php

index 639597fdb83b3b970560aaa402eafc7f6a593728..f65b9773388ff25c8dec789a705e078b09c236ad 100644 (file)
@@ -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 (file)
index 0000000..f8b834a
--- /dev/null
@@ -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}'");
+               }
+       }
+}
index ecda49f73fcd0cd216ddbe6e9b60ca8f143ea4a8..282f4549e3b68137b0e0751e47cf7e6f8fa96a17 100644 (file)
@@ -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;
                }