+++ /dev/null
-<?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();
}
private function getSettings($section) {
+ if($section === 'additional') {
+ return $this->getLegacyForms();
+ }
+
$settings = $this->settingsManager->getAdminSettings($section);
$html = '';
foreach ($settings as $prioritizedSettings) {
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';
--- /dev/null
+<?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>