Change saving active panel from js localStorage to via html #anker
authorJonny Tischbein <jonny_tischbein@systemli.org>
Fri, 23 Nov 2018 23:44:11 +0000 (00:44 +0100)
committerJonny Tischbein <jonny_tischbein@systemli.org>
Fri, 23 Nov 2018 23:44:11 +0000 (00:44 +0100)
mod/admin.php
view/theme/frio/templates/admin/site.tpl

index cca109f..97bde76 100644 (file)
@@ -1163,6 +1163,7 @@ function admin_page_site_post(App $a)
        $relay_scope            =       ((x($_POST,'relay_scope'))              ? Strings::escapeTags(trim($_POST['relay_scope']))              : '');
        $relay_server_tags      =       ((x($_POST,'relay_server_tags'))        ? Strings::escapeTags(trim($_POST['relay_server_tags']))        : '');
        $relay_user_tags        =       ((x($_POST,'relay_user_tags'))          ? True                                          : False);
+       $active_panel           =       (defaults($_POST, 'active_panel', '')   ? "#" . Strings::escapeTags(trim($_POST['active_panel'])) : '');
 
        // Has the directory url changed? If yes, then resubmit the existing profiles there
        if ($global_directory != Config::get('system', 'directory') && ($global_directory != '')) {
@@ -1344,7 +1345,8 @@ function admin_page_site_post(App $a)
        Config::set('system', 'rino_encrypt', $rino);
 
        info(L10n::t('Site settings updated.') . EOL);
-       $a->internalRedirect('admin/site');
+
+       $a->internalRedirect('admin/site' . $active_panel);
        return; // NOTREACHED
 }
 
index 6a6deb1..c0241cd 100644 (file)
        });
        $(function(){
                $(".collapse").on('show.bs.collapse', function(e) {
-                       localStorage.setItem('activeTab', $(e.target).attr('id'));
+                       var id = $(e.target).attr('id');
+                       $("input[name=active_panel]").val(id);
                });
-               var activeTab = localStorage.getItem('activeTab');
-               if (activeTab) {
-                       $("#" + activeTab).collapse('show');
-                       window.scroll(0, $("#" + activeTab).offset().top - 120);
-                       localStorage.removeItem('activeTab');
+               var url = document.location.toString();
+               if ( url.match('#') ) {
+                       var element = '#'+url.split('#')[1];
+                               $(element).addClass('in');
+                       window.scroll(0, $(element).offset().top - 120);
                }
        });
 </script>
@@ -56,6 +57,7 @@
        <h1>{{$title}} - {{$page}}</h1>
        <form action="{{$baseurl}}/admin/site" method="post">
                <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
+               <input type='hidden' name='active_panel' value=''>
                <div class="panel-group panel-group-settings" id="admin-settings" role="tablist" aria-multiselectable="true">
                        <!--
                        /*
                                <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
                                {{include file="field_input.tpl" field=$relocate_url}}
                                <input type="hidden" name="page_site" value="{{$submit|escape:'html'}}">
+                               <input type='hidden' name='active_panel' value='admin-settings-relocate-collapse'>
                                <div class="panel-footer">
                                        <input type="submit" name="relocate" class="btn btn-primary" value="{{$relocate_button|escape:'html'}}"/>
                                </div>