summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-10-16 18:01:48 +0200
committerLukas Reschke <lukas@owncloud.com>2014-10-17 10:38:13 +0200
commit04323fbc19524926973550cc2aa0ab0331a4ca0a (patch)
treec2bc4ee6adad09114d4b1ceccf145cc9860b33ac
parent4611520c7fbb9269c6232e7f4047bb5f5dd1610c (diff)
downloadnextcloud-server-04323fbc19524926973550cc2aa0ab0331a4ca0a.tar.gz
nextcloud-server-04323fbc19524926973550cc2aa0ab0331a4ca0a.zip
implement sidebar fro personal settings - bad kung-fu
-rw-r--r--core/css/apps.css2
-rw-r--r--settings/personal.php35
-rw-r--r--settings/templates/personal.php21
3 files changed, 47 insertions, 11 deletions
diff --git a/core/css/apps.css b/core/css/apps.css
index 35487bee598..898259ed9d5 100644
--- a/core/css/apps.css
+++ b/core/css/apps.css
@@ -479,7 +479,7 @@ button.loading {
border-top: 1px solid #ddd;
}
/* no top border for first settings item */
-.section:first-child {
+#app-content > .section:first-child {
border-top: none;
}
.section h2 {
diff --git a/settings/personal.php b/settings/personal.php
index e6f53d62704..ecbec887da8 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -101,9 +101,38 @@ $tmpl->assign('enableAvatars', \OC_Config::getValue('enable_avatars', true));
$tmpl->assign('avatarChangeSupported', OC_User::canUserChangeAvatar(OC_User::getUser()));
$tmpl->assign('certs', $certificateManager->listCertificates());
+// add hardcoded forms from the template
+$l = OC_L10N::get('settings');
+$formsAndMore = array();
+$formsAndMore[]= array( 'anchor' => 'passwordform', 'section-name' => $l->t('Personal Info') );
+
$forms=OC_App::getForms('personal');
-$tmpl->assign('forms', array());
-foreach($forms as $form) {
- $tmpl->append('forms', $form);
+
+$formsMap = array_map(function($form){
+ if (preg_match('%(<h2[^>]*>.*?</h2>)%i', $form, $regs)) {
+ $sectionName = str_replace('<h2>', '', $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);
+
+$formsAndMore = array_merge($formsAndMore, $formsMap);
+
+// add bottom hardcoded forms from the template
+$formsAndMore[]= array( 'anchor' => 'ssl-root-certificates', 'section-name' => $l->t('SSL root certificates') );
+if($enableDecryptAll) {
+ $formsAndMore[]= array( 'anchor' => 'encryption', 'section-name' => $l->t('Encryption') );
}
+
+$tmpl->assign('forms', $formsAndMore);
$tmpl->printPage();
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index 86f2c28319b..b3a26acdb69 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -8,10 +8,15 @@
?>
<div id="app-navigation">
-<!-- <?php foreach($_['forms'] as $form) {
- print_unescaped($form);
- };?>
--->
+ <ul>
+ <?php foreach($_['forms'] as $form) {
+ if (isset($form['anchor'])) {
+ $anchor = '#' . $form['anchor'];
+ $sectionName = $form['section-name'];
+ print_unescaped("<li><a href='$anchor'>$sectionName</a></li>");
+ }
+ }?>
+ </ul>
</div>
<div id="app-content">
@@ -159,10 +164,12 @@ if($_['passwordChangeSupported']) {
</form>
<?php foreach($_['forms'] as $form) {
- print_unescaped($form);
+ if (isset($form['form'])) {?>
+ <div id="<?php isset($form['anchor']) ? print_unescaped($form['anchor']) : p('');?>"><?php print_unescaped($form['form']);?></div>
+ <?php }
};?>
-<div class="section">
+<div id="ssl-root-certificates" class="section">
<h2><?php p($l->t('SSL root certificates')); ?></h2>
<table id="sslCertificate" class="grid">
<thead>
@@ -201,7 +208,7 @@ if($_['passwordChangeSupported']) {
</div>
<?php if($_['enableDecryptAll']): ?>
-<div class="section">
+<div id="encryption" class="section">
<h2>
<?php p( $l->t( 'Encryption' ) ); ?>