From cd19cce92e539bd2d8b1b3b25903c1f8f4e72bda Mon Sep 17 00:00:00 2001
From: Peter Liebetrau <peter.liebetrau@gmail.com>
Date: Sun, 27 Jan 2019 04:06:51 +0100
Subject: [PATCH] frio - fix bug in admin users with table sorting #6529

---
 view/theme/frio/templates/admin/users.tpl | 266 +++++++++++-----------
 1 file changed, 135 insertions(+), 131 deletions(-)

diff --git a/view/theme/frio/templates/admin/users.tpl b/view/theme/frio/templates/admin/users.tpl
index 92ef9be6fa..273eb81e68 100644
--- a/view/theme/frio/templates/admin/users.tpl
+++ b/view/theme/frio/templates/admin/users.tpl
@@ -106,141 +106,147 @@
 				<div id="admin-settings-user-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="admin-settings-user">
 
 					{{if $users}}
-					<table id="users" class="table table-hover">
-						<thead>
-							<tr>
-								<th></th>
-								<th></th>
-								{{foreach $th_users as $k=>$th}}
-									{{if $k < 2 || $order_users == $th.1 || ($k==5 && !in_array($order_users,[$th_users.2.1, $th_users.3.1, $th_users.4.1])) }}
-									<th class="th-{{$k}}">
-										<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th.1}}" class="btn-link table-order">
-											{{if $order_users == $th.1}}
-												{{if $order_direction_users == "+"}}
-												&#8595;
+					<div class="panel-body">
+						<table id="users" class="table table-hover">
+							<thead>
+								<tr>
+									<th></th>
+									<th></th>
+									{{foreach $th_users as $k=>$th}}
+										{{if $k < 2 || $order_users == $th.1 || ($k==5 && !in_array($order_users,[$th_users.2.1, $th_users.3.1, $th_users.4.1])) }}
+										<th class="th-{{$k}}">
+											<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th.1}}" class="btn-link table-order">
+												{{if $order_users == $th.1}}
+													{{if $order_direction_users == "+"}}
+													&#8595;
+													{{else}}
+													&#8593;
+													{{/if}}
 												{{else}}
-												&#8593;
+												&#8597;
 												{{/if}}
-											{{else}}
-											&#8597;
-											{{/if}}
-											{{$th.0}}
-										</button>
-									</th>
-									{{/if}}
-								{{/foreach}}
-								<th></th>
-							</tr>
-						</thead>
-						<tbody>
-						{{foreach $users as $u}}
-							<tr id="user-{{$u.uid}}" class="{{if $u.blocked != 0}}blocked{{/if}}">
-								<td>
-								{{if $u.is_deletable}}
-								<div class="checkbox">
-									<input type="checkbox" class="users_ckbx" id="id_user_{{$u.uid}}" name="user[]" value="{{$u.uid}}"/>
-									<label for="id_user_{{$u.uid}}"></label>
-								</div>
-								{{else}}
-								&nbsp;
-								{{/if}}
-								</td>
-								<td><img class="avatar-nano" src="{{$u.micro}}" title="{{$u.nickname}}"></td>
-								<td><a href="{{$u.url}}" title="{{$u.nickname}}"> {{$u.name}}</a></td>
-								<td>{{$u.email}}</td>
-								{{if $order_users == $th_users.2.1}}
-								<td>{{$u.register_date}}</td>
-								{{/if}}
-
-								{{if $order_users == $th_users.3.1}}
-								<td>{{$u.login_date}}</td>
-								{{/if}}
-
-								{{if $order_users == $th_users.4.1}}
-								<td>{{$u.lastitem_date}}</td>
-								{{/if}}
-
-								{{if !in_array($order_users,[$th_users.2.1, $th_users.3.1, $th_users.4.1]) }}
-								<td>
-									<i class="fa
-										{{if $u.page_flags_raw==0}}fa-user{{/if}}		{{* PAGE_NORMAL *}}
-										{{if $u.page_flags_raw==1}}fa-bullhorn{{/if}}		{{* PAGE_SOAPBOX *}}
-										{{if $u.page_flags_raw==2}}fa-users{{/if}}		{{* PAGE_COMMUNITY *}}
-										{{if $u.page_flags_raw==3}}fa-heart{{/if}}		{{* PAGE_FREELOVE *}}
-										{{if $u.page_flags_raw==4}}fa-rss{{/if}}		{{* PAGE_BLOG *}}
-										{{if $u.page_flags_raw==5}}fa-user-secret{{/if}}	{{* PAGE_PRVGROUP *}}
-										" title="{{$u.page_flags}}">
-									</i>
-									{{if $u.page_flags_raw==0 && $u.account_type_raw > 0}}
-									<i class="fa
-										{{if $u.account_type_raw==1}}fa-sitemap{{/if}}		{{* ACCOUNT_TYPE_ORGANISATION *}}
-										{{if $u.account_type_raw==2}}fa-newspaper-o{{/if}}	{{* ACCOUNT_TYPE_NEWS *}}
-										{{if $u.account_type_raw==3}}fa-comments{{/if}}		{{* ACCOUNT_TYPE_COMMUNITY *}}
-										" title="{{$u.account_type}}">
-									</i>
-									{{/if}}
-									{{if $u.is_admin}}<i class="fa fa-user-md text-primary" title="{{$siteadmin}}"></i>{{/if}}
-									{{if $u.account_expired}}<i class="fa fa-clock-o text-warning" title="{{$accountexpired}}"></i>{{/if}}
-								</td>
-								{{/if}}
-
-								<td class="text-right">
-									<button type="button" class="btn-link admin-settings-action-link" onclick="return details({{$u.uid}})"><span class="caret"></span></button>
-								</td>
-							</tr>
-							<tr id="user-{{$u.uid}}-detail" class=" details hidden {{if $u.blocked != 0}}blocked{{/if}}">
-								<td>&nbsp;</td>
-								<td colspan="4">
-									{{if $order_users != $th_users.2.1}}
-									<p>
-										<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.2.1}}" class="btn-link table-order">
-										&#8597; {{$th_users.2.0}}</button> : {{$u.register_date}}
-									</p>
-									{{/if}}
-
-									{{if $order_users != $th_users.3.1}}
-									<p>
-										<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.3.1}}" class="btn-link table-order">
-											&#8597; {{$th_users.3.0}}</button> : {{$u.login_date}}
-									</p>
-									{{/if}}
-
-									{{if $order_users != $th_users.4.1}}
-									<p>
-										<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.4.1}}" class="btn-link table-order">
-											&#8597; {{$th_users.4.0}}</button> : {{$u.lastitem_date}}
-									</p>
-									{{/if}}
-
-									{{if in_array($order_users,[$th_users.2.1, $th_users.3.1, $th_users.4.1]) }}
-									<p>
-										<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.5.1}}" class="btn-link table-order">
-											&#8597; {{$th_users.5.0}}</button> : {{$u.page_flags}}{{if $u.page_flags_raw==0 && $u.account_type_raw > 0}}, {{$u.account_type}}{{/if}} {{if $u.is_admin}}({{$siteadmin}}){{/if}} {{if $u.account_expired}}({{$accountexpired}}){{/if}}
-									</p>
-									{{/if}}
-
-								</td>
-								<td class="text-right">
-									{{if $u.is_deletable}}
-									<a href="{{$baseurl}}/admin/users/block/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link"title="{{if $u.blocked}}{{$unblock}}{{else}}{{$block}}{{/if}}">
-										{{if $u.blocked == 0}}
-										<i class="fa fa-ban" aria-hidden="true"></i>
-										{{else}}
-										<i class="fa fa-circle-o" aria-hidden="true"></i>
+												{{$th.0}}
+											</button>
+										</th>
 										{{/if}}
-									</a>
-									<a href="{{$baseurl}}/admin/users/delete/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link" title="{{$delete}}" onclick="return confirm_delete('{{$confirm_delete}}','{{$u.name}}')">
-										<i class="fa fa-trash" aria-hidden="true"></i>
-									</a>
+									{{/foreach}}
+									<th></th>
+								</tr>
+							</thead>
+							<tbody>
+							{{foreach $users as $u}}
+								<tr id="user-{{$u.uid}}" class="{{if $u.blocked != 0}}blocked{{/if}}">
+									<td>
+									{{if $u.is_deletable}}
+									<div class="checkbox">
+										<input type="checkbox" class="users_ckbx" id="id_user_{{$u.uid}}" name="user[]" value="{{$u.uid}}"/>
+										<label for="id_user_{{$u.uid}}"></label>
+									</div>
 									{{else}}
 									&nbsp;
 									{{/if}}
-								</td>
-							</tr>
-						{{/foreach}}
-						</tbody>
-					</table>
+									</td>
+									<td><img class="avatar-nano" src="{{$u.micro}}" title="{{$u.nickname}}"></td>
+									<td><a href="{{$u.url}}" title="{{$u.nickname}}"> {{$u.name}}</a></td>
+									<td>{{$u.email}}</td>
+									{{if $order_users == $th_users.2.1}}
+									<td>{{$u.register_date}}</td>
+									{{/if}}
+
+									{{if $order_users == $th_users.3.1}}
+									<td>{{$u.login_date}}</td>
+									{{/if}}
+
+									{{if $order_users == $th_users.4.1}}
+									<td>{{$u.lastitem_date}}</td>
+									{{/if}}
+
+									{{if !in_array($order_users,[$th_users.2.1, $th_users.3.1, $th_users.4.1]) }}
+									<td>
+										<i class="fa
+											{{if $u.page_flags_raw==0}}fa-user{{/if}}		{{* PAGE_NORMAL *}}
+											{{if $u.page_flags_raw==1}}fa-bullhorn{{/if}}		{{* PAGE_SOAPBOX *}}
+											{{if $u.page_flags_raw==2}}fa-users{{/if}}		{{* PAGE_COMMUNITY *}}
+											{{if $u.page_flags_raw==3}}fa-heart{{/if}}		{{* PAGE_FREELOVE *}}
+											{{if $u.page_flags_raw==4}}fa-rss{{/if}}		{{* PAGE_BLOG *}}
+											{{if $u.page_flags_raw==5}}fa-user-secret{{/if}}	{{* PAGE_PRVGROUP *}}
+											" title="{{$u.page_flags}}">
+										</i>
+										{{if $u.page_flags_raw==0 && $u.account_type_raw > 0}}
+										<i class="fa
+											{{if $u.account_type_raw==1}}fa-sitemap{{/if}}		{{* ACCOUNT_TYPE_ORGANISATION *}}
+											{{if $u.account_type_raw==2}}fa-newspaper-o{{/if}}	{{* ACCOUNT_TYPE_NEWS *}}
+											{{if $u.account_type_raw==3}}fa-comments{{/if}}		{{* ACCOUNT_TYPE_COMMUNITY *}}
+											" title="{{$u.account_type}}">
+										</i>
+										{{/if}}
+										{{if $u.is_admin}}<i class="fa fa-user-md text-primary" title="{{$siteadmin}}"></i>{{/if}}
+										{{if $u.account_expired}}<i class="fa fa-clock-o text-warning" title="{{$accountexpired}}"></i>{{/if}}
+									</td>
+									{{/if}}
+
+									<td class="text-right">
+										<button type="button" class="btn-link admin-settings-action-link" onclick="return details({{$u.uid}})"><span class="caret"></span></button>
+									</td>
+								</tr>
+								<tr id="user-{{$u.uid}}-detail" class=" details hidden {{if $u.blocked != 0}}blocked{{/if}}">
+									<td>&nbsp;</td>
+									<td colspan="4">
+										{{if $order_users != $th_users.2.1}}
+										<p>
+											<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.2.1}}" class="btn-link table-order">
+											&#8597; {{$th_users.2.0}}</button> : {{$u.register_date}}
+										</p>
+										{{/if}}
+
+										{{if $order_users != $th_users.3.1}}
+										<p>
+											<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.3.1}}" class="btn-link table-order">
+												&#8597; {{$th_users.3.0}}</button> : {{$u.login_date}}
+										</p>
+										{{/if}}
+
+										{{if $order_users != $th_users.4.1}}
+										<p>
+											<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.4.1}}" class="btn-link table-order">
+												&#8597; {{$th_users.4.0}}</button> : {{$u.lastitem_date}}
+										</p>
+										{{/if}}
+
+										{{if in_array($order_users,[$th_users.2.1, $th_users.3.1, $th_users.4.1]) }}
+										<p>
+											<button type="button" data-order-url="{{$baseurl}}/admin/users/?o={{if $order_direction_users == "+"}}-{{/if}}{{$th_users.5.1}}" class="btn-link table-order">
+												&#8597; {{$th_users.5.0}}</button> : {{$u.page_flags}}{{if $u.page_flags_raw==0 && $u.account_type_raw > 0}}, {{$u.account_type}}{{/if}} {{if $u.is_admin}}({{$siteadmin}}){{/if}} {{if $u.account_expired}}({{$accountexpired}}){{/if}}
+										</p>
+										{{/if}}
+
+									</td>
+									<td class="text-right">
+										{{if $u.is_deletable}}
+										<a href="{{$baseurl}}/admin/users/block/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link"title="{{if $u.blocked}}{{$unblock}}{{else}}{{$block}}{{/if}}">
+											{{if $u.blocked == 0}}
+											<i class="fa fa-ban" aria-hidden="true"></i>
+											{{else}}
+											<i class="fa fa-circle-o" aria-hidden="true"></i>
+											{{/if}}
+										</a>
+										<a href="{{$baseurl}}/admin/users/delete/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link" title="{{$delete}}" onclick="return confirm_delete('{{$confirm_delete}}','{{$u.name}}')">
+											<i class="fa fa-trash" aria-hidden="true"></i>
+										</a>
+										{{else}}
+										&nbsp;
+										{{/if}}
+									</td>
+								</tr>
+							{{/foreach}}
+							</tbody>
+						</table>
+					</div>
+					{{else}}
+					<div class="panel-body text-center bg-danger">NO USERS?!?</div>
+					{{/if}}
 					<div class="panel-footer">
+						{{if $users}}
 						<div class="row">
 							<div class="col-xs-3 admin-settings-footer-elements">
 								<div class="checkbox">
@@ -257,10 +263,8 @@
 								</button>
 							</div>
 						</div>
+						{{/if}}
 					</div>
-					{{else}}
-					<div class="panel-body text-center bg-danger">NO USERS?!?</div>
-					{{/if}}
 				</div>
 			</div>