]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fallback for legacy settings. They are placed into Additional Settings
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Tue, 9 Aug 2016 21:30:07 +0000 (23:30 +0200)
committerLukas Reschke <lukas@statuscode.ch>
Tue, 16 Aug 2016 19:04:41 +0000 (21:04 +0200)
apps/user_ldap/settings.php [deleted file]
settings/Controller/AdminSettingsController.php
settings/templates/admin/additional.php [new file with mode: 0644]

diff --git a/apps/user_ldap/settings.php b/apps/user_ldap/settings.php
deleted file mode 100644 (file)
index f20f873..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
- * @author Dominik Schmidt <dev@dominik-schmidt.de>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Lukas Reschke <lukas@statuscode.ch>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Robin McCorkell <robin@mccorkell.me.uk>
- * @author Volkan Gezer <volkangezer@gmail.com>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program.  If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-// fill template
-$tmpl = new OCP\Template('user_ldap', 'settings');
-
-$helper = new \OCA\User_LDAP\Helper();
-$prefixes = $helper->getServerConfigurationPrefixes();
-$hosts = $helper->getServerConfigurationHosts();
-
-$wizardHtml = '';
-$toc = array();
-
-$wControls = new OCP\Template('user_ldap', 'part.wizardcontrols');
-$wControls = $wControls->fetchPage();
-$sControls = new OCP\Template('user_ldap', 'part.settingcontrols');
-$sControls = $sControls->fetchPage();
-
-$l = \OC::$server->getL10N('user_ldap');
-
-$wizTabs = array();
-$wizTabs[] = array('tpl' => 'part.wizard-server',      'cap' => $l->t('Server'));
-$wizTabs[] = array('tpl' => 'part.wizard-userfilter',  'cap' => $l->t('Users'));
-$wizTabs[] = array('tpl' => 'part.wizard-loginfilter', 'cap' => $l->t('Login Attributes'));
-$wizTabs[] = array('tpl' => 'part.wizard-groupfilter', 'cap' => $l->t('Groups'));
-$wizTabsCount = count($wizTabs);
-for($i = 0; $i < $wizTabsCount; $i++) {
-       $tab = new OCP\Template('user_ldap', $wizTabs[$i]['tpl']);
-       if($i === 0) {
-               $tab->assign('serverConfigurationPrefixes', $prefixes);
-               $tab->assign('serverConfigurationHosts', $hosts);
-       }
-       $tab->assign('wizardControls', $wControls);
-       $wizardHtml .= $tab->fetchPage();
-       $toc['#ldapWizard'.($i+1)] = $wizTabs[$i]['cap'];
-}
-
-$tmpl->assign('tabs', $wizardHtml);
-$tmpl->assign('toc', $toc);
-$tmpl->assign('settingControls', $sControls);
-
-// assign default values
-$config = new \OCA\User_LDAP\Configuration('', false);
-$defaults = $config->getDefaults();
-foreach($defaults as $key => $default) {
-       $tmpl->assign($key.'_default', $default);
-}
-
-return $tmpl->fetchPage();
index 68707addfe4b6e3d701d987a184bdd6ad72bb3b6..b6a6e74705fcf9955572a55494b37718361056d3 100644 (file)
@@ -83,6 +83,10 @@ class AdminSettingsController extends Controller {
        }
 
        private function getSettings($section) {
+               if($section === 'additional') {
+                       return $this->getLegacyForms();
+               }
+
                $settings = $this->settingsManager->getAdminSettings($section);
                $html = '';
                foreach ($settings as $prioritizedSettings) {
@@ -95,6 +99,33 @@ class AdminSettingsController extends Controller {
                return ['content' => $html];
        }
 
+       private function getLegacyForms() {
+               $forms = \OC_App::getForms('admin');
+
+               $forms = array_map(function ($form) {
+                       if (preg_match('%(<h2(?P<class>[^>]*)>.*?</h2>)%i', $form, $regs)) {
+                               $sectionName = str_replace('<h2' . $regs['class'] . '>', '', $regs[0]);
+                               $sectionName = str_replace('</h2>', '', $sectionName);
+                               $anchor = strtolower($sectionName);
+                               $anchor = str_replace(' ', '-', $anchor);
+
+                               return array(
+                                       'anchor' => $anchor,
+                                       'section-name' => $sectionName,
+                                       'form' => $form
+                               );
+                       }
+                       return array(
+                               'form' => $form
+                       );
+               }, $forms);
+
+               $out = new \OCP\Template('settings', 'admin/additional');
+               $out->assign('forms', $forms);
+
+               return ['content' => $out->fetchPage()];
+       }
+
        private function getNavigationParameters() {
                $a = 'anchor';
                $name = 'section-name';
diff --git a/settings/templates/admin/additional.php b/settings/templates/admin/additional.php
new file mode 100644 (file)
index 0000000..c4e70db
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/** @var \OCP\IL10N $l */
+/** @var array $_ */
+
+?>
+
+<div class="section" id="additional">
+       <h2><?php p($l->t('Additional Settings'));?></h2>
+       <?php foreach($_['forms'] as $form) {
+               if (isset($form['form'])) {?>
+                       <div id="<?php isset($form['anchor']) ? p($form['anchor']) : p('');?>"><?php print_unescaped($form['form']);?></div>
+               <?php }
+       };?>
+</div>