[geeklog-cvs] geeklog: Ensure the Show Admin Groups option keeps its state
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Sat Jan 31 07:00:57 EST 2009
details: http://project.geeklog.net/cgi-bin/hgweb.cgi/rev/f81308b1a246
changeset: 6735:f81308b1a246
user: Dirk Haun <dirk at haun-online.de>
date: Sat Jan 31 13:00:47 2009 +0100
description:
Ensure the Show Admin Groups option keeps its state
diffstat:
2 files changed, 34 insertions(+), 32 deletions(-)
public_html/admin/group.php | 58 ++++++++++++++++++++++++-------------------
system/lib-admin.php | 8 -----
diffs (160 lines):
diff -r d7dffa7655fe -r f81308b1a246 public_html/admin/group.php
--- a/public_html/admin/group.php Sat Jan 31 10:21:07 2009 +0100
+++ b/public_html/admin/group.php Sat Jan 31 13:00:47 2009 +0100
@@ -112,8 +112,8 @@
$group_templates->set_var('lang_admingrp_msg', $LANG28[50]);
$group_templates->set_var('xhtml', XHTML);
$showall = 0;
- if (isset($_GET['chk_showall'])) {
- $showall = COM_applyFilter($_GET['chk_showall'], true);
+ if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
+ $showall = 1;
}
$group_templates->set_var('show_all', $showall);
@@ -589,8 +589,8 @@
} else {
PLG_groupChanged ($grp_id, 'edit');
}
- if ($_POST['chk_showall'] == 1) {
- echo COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49&showall=1');
+ if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
+ echo COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49&chk_showall=1');
} else {
echo COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49');
}
@@ -693,7 +693,7 @@
);
$form_url = $_CONF['site_admin_url'] . '/group.php?mode=listusers&grp_id='.$grp_id;
- if (isset ($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
+ if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
$form_url .= '&chk_showall=1';
}
@@ -702,7 +702,7 @@
$headline = sprintf ($LANG_ACCESS['usersingroup'], $groupname);
$url = $_CONF['site_admin_url'] . '/group.php';
- if (isset ($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
+ if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
$url .= '?chk_showall=1';
}
$menu_arr = array (
@@ -755,7 +755,14 @@
return $retval;
}
-function listgroups()
+/**
+* Display a list of (all) groups
+*
+* @param boolean $show_all_groups include admin groups if true
+* @return string HTML of the group list
+*
+*/
+function listgroups($show_all_groups = false)
{
global $_CONF, $_TABLES, $LANG_ADMIN, $LANG_ACCESS, $LANG28, $_IMAGE_TYPE;
@@ -774,7 +781,7 @@
$defsort_arr = array('field' => 'grp_name', 'direction' => 'asc');
$form_url = $_CONF['site_admin_url'] . '/group.php';
- if (isset ($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
+ if ($show_all_groups) {
$form_url .= '?chk_showall=1';
}
@@ -801,18 +808,9 @@
$filter = '<span style="padding-right:20px;">';
- // Extra test required to handle that different ways this option is passed and need to be able to
- // over-ride the option using the posted form when the URL contains the variable as well
- $show_all_groups = false;
$checked ='';
- if (isset($_POST['q'])) { // Form has been posted - test actual option in this form
- if ($_POST['chk_showall'] == 1) {
- $show_all_groups = true;
- $checked = ' checked';
- }
- } else if (isset ($_GET['chk_showall']) && ($_GET['chk_showall'] == 1)) {
- $show_all_groups = true;
- $checked = ' checked';
+ if ($show_all_groups) {
+ $checked = ' checked="checked"';
}
if (SEC_inGroup('Root')) {
@@ -830,7 +828,7 @@
'query_fields' => array('grp_name', 'grp_descr'),
'default_filter' => $grpFilter);
} else {
- $filter .= "<label for=\"chk_showall\"><input id=\"chk_showall\" type=\"checkbox\" name=\"chk_showall\" value=\"1\"$checked" . XHTML . ">";
+ $filter .= '<label for="chk_showall"><input id="chk_showall" type="checkbox" name="chk_showall" value="1"' . $checked . XHTML . '>';
$query_arr = array(
'table' => 'groups',
'sql' => "SELECT * FROM {$_TABLES['groups']} WHERE (grp_gl_core = 0 OR grp_id IN (2,13))",
@@ -972,8 +970,8 @@
$adduser[$i] = COM_applyFilter($adduser[$i], true);
DB_query("INSERT INTO {$_TABLES['group_assignments']} (ug_main_grp_id, ug_uid) VALUES ('$groupid', '$adduser[$i]')");
}
- if ($_POST['chk_showall'] == 1) {
- echo COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49&showall=1');
+ if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
+ echo COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49&chk_showall=1');
} else {
echo COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49');
}
@@ -1010,8 +1008,8 @@
DB_delete ($_TABLES['groups'], 'grp_id', $grp_id);
PLG_groupChanged ($grp_id, 'delete');
- if ($_POST['chk_showall'] == 1) {
- return COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=50&showall=1');
+ if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
+ return COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=50&chk_showall=1');
} else {
return COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=50');
}
@@ -1074,9 +1072,19 @@
$display .= editusers ($grp_id);
$display .= COM_siteFooter ();
} else { // 'cancel' or no mode at all
+ $show_all_groups = false;
+ if (isset($_POST['q'])) {
+ // check $_POST only, as $_GET['chk_showall'] may also be set
+ if (isset($_POST['chk_showall']) && ($_POST['chk_showall'] == 1)) {
+ $show_all_groups = true;
+ }
+ } elseif (isset($_REQUEST['chk_showall']) &&
+ ($_REQUEST['chk_showall'] == 1)) {
+ $show_all_groups = true;
+ }
$display .= COM_siteHeader('menu', $LANG28[38]);
$display .= COM_showMessageFromParameter();
- $display .= listgroups();
+ $display .= listgroups($show_all_groups);
$display .= COM_siteFooter();
}
diff -r d7dffa7655fe -r f81308b1a246 system/lib-admin.php
--- a/system/lib-admin.php Sat Jan 31 10:21:07 2009 +0100
+++ b/system/lib-admin.php Sat Jan 31 13:00:47 2009 +0100
@@ -677,14 +677,8 @@
$thisUsersGroups = SEC_getUserGroups();
}
- // Extra test required to handle that different ways this option is passed and need to be able to
- // over-ride the option using the posted form when the URL contains the variable as well
$show_all_groups = false;
- if (isset($_POST['q'])) { // Form has been posted - test actual option in this form
- if ($_POST['chk_showall'] == 1) {
- $show_all_groups = true;
- }
- } else if (isset ($_GET['showall']) && ($_GET['showall'] == 1)) {
+ if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
$show_all_groups = true;
}
More information about the geeklog-cvs
mailing list