diff options
-rw-r--r-- | apps/user_ldap/appinfo/register_command.php | 1 | ||||
-rw-r--r-- | apps/user_ldap/command/createemptyconfig.php | 51 |
2 files changed, 52 insertions, 0 deletions
diff --git a/apps/user_ldap/appinfo/register_command.php b/apps/user_ldap/appinfo/register_command.php index 10d992531c4..639597fdb83 100644 --- a/apps/user_ldap/appinfo/register_command.php +++ b/apps/user_ldap/appinfo/register_command.php @@ -9,3 +9,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()); diff --git a/apps/user_ldap/command/createemptyconfig.php b/apps/user_ldap/command/createemptyconfig.php new file mode 100644 index 00000000000..32010825361 --- /dev/null +++ b/apps/user_ldap/command/createemptyconfig.php @@ -0,0 +1,51 @@ +<?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; +use \OCA\user_ldap\lib\Configuration; + +class CreateEmptyConfig extends Command { + + protected function configure() { + $this + ->setName('ldap:create-empty-config') + ->setDescription('creates an empty LDAP configuration') + ; + } + + + protected function execute(InputInterface $input, OutputInterface $output) { + $configPrefix = $this->getNewConfigurationPrefix(); + $output->writeln("Created new configuration with configID '{$configPrefix}'"); + + $configHolder = new Configuration($configPrefix); + $configHolder->saveConfiguration(); + } + + protected function getNewConfigurationPrefix() { + $serverConnections = Helper::getServerConfigurationPrefixes(); + + // first connection uses no prefix + if(sizeof($serverConnections) == 0) { + return ''; + } + + sort($serverConnections); + $lastKey = array_pop($serverConnections); + $lastNumber = intval(str_replace('s', '', $lastKey)); + $nextPrefix = 's' . str_pad($lastNumber + 1, 2, '0', STR_PAD_LEFT); + return $nextPrefix; + } +} |