[geeklog-cvs] geeklog: Allow groups to be marked as a Default Group. New users...
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Sun Jan 3 16:15:06 EST 2010
changeset 7579:21c4ffae4200
url: http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/21c4ffae4200
user: Dirk Haun <dirk at haun-online.de>
date: Sat Jan 02 20:56:41 2010 +0100
description:
Allow groups to be marked as a Default Group. New users will automatically be added to all default groups (feature request #0000798)
diffstat:
language/english.php | 4 +-
language/english_utf-8.php | 4 +-
language/german.php | 4 +-
language/german_formal.php | 4 +-
language/german_formal_utf-8.php | 4 +-
language/german_utf-8.php | 4 +-
public_html/admin/group.php | 63 +++++++----
public_html/admin/user.php | 16 ++-
public_html/docs/history | 2 +
public_html/layout/professional/admin/group/groupeditor.thtml | 8 +-
sql/mssql_tableanddata.php | 3 +-
sql/mysql_tableanddata.php | 1 +
sql/updates/mssql_1.6.1_to_1.6.2.php | 3 +
sql/updates/mysql_1.6.1_to_1.6.2.php | 3 +
system/lib-admin.php | 10 +-
system/lib-user.php | 85 +++++++++-------
16 files changed, 142 insertions(+), 76 deletions(-)
diffs (truncated from 570 to 300 lines):
diff -r 05d0ecb57c45 -r 21c4ffae4200 language/english.php
--- a/language/english.php Sat Jan 02 15:56:38 2010 +0100
+++ b/language/english.php Sat Jan 02 20:56:41 2010 +0100
@@ -962,7 +962,9 @@
84 => "Your login name is: %s for our site: {$_CONF['site_url']}",
85 => 'If you have forgotten the password use the following link: %s',
86 => 'Include',
- 87 => 'Reminders'
+ 87 => 'Reminders',
+ 88 => 'Default Group',
+ 89 => 'Check to make this a default group for new users'
);
###############################################################################
diff -r 05d0ecb57c45 -r 21c4ffae4200 language/english_utf-8.php
--- a/language/english_utf-8.php Sat Jan 02 15:56:38 2010 +0100
+++ b/language/english_utf-8.php Sat Jan 02 20:56:41 2010 +0100
@@ -962,7 +962,9 @@
84 => "Your login name is: %s for our site: {$_CONF['site_url']}",
85 => 'If you have forgotten the password use the following link: %s',
86 => 'Include',
- 87 => 'Reminders'
+ 87 => 'Reminders',
+ 88 => 'Default Group',
+ 89 => 'Check to make this a default group for new users'
);
###############################################################################
diff -r 05d0ecb57c45 -r 21c4ffae4200 language/german.php
--- a/language/german.php Sat Jan 02 15:56:38 2010 +0100
+++ b/language/german.php Sat Jan 02 20:56:41 2010 +0100
@@ -964,7 +964,9 @@
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
85 => 'Wenn Du das Passwort vergessen hast, benutze folgenden Link: %s',
86 => 'Enthalten',
- 87 => 'Erinnerungen'
+ 87 => 'Erinnerungen',
+ 88 => 'Default Group',
+ 89 => 'Check to make this a default group for new users'
);
###############################################################################
diff -r 05d0ecb57c45 -r 21c4ffae4200 language/german_formal.php
--- a/language/german_formal.php Sat Jan 02 15:56:38 2010 +0100
+++ b/language/german_formal.php Sat Jan 02 20:56:41 2010 +0100
@@ -965,7 +965,9 @@
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
85 => 'Wenn Sie Ihr Passwort vergessen haben, benutzen Sie folgenden Link: %s',
86 => 'Enthalten',
- 87 => 'Erinnerungen'
+ 87 => 'Erinnerungen',
+ 88 => 'Default Group',
+ 89 => 'Check to make this a default group for new users'
);
###############################################################################
diff -r 05d0ecb57c45 -r 21c4ffae4200 language/german_formal_utf-8.php
--- a/language/german_formal_utf-8.php Sat Jan 02 15:56:38 2010 +0100
+++ b/language/german_formal_utf-8.php Sat Jan 02 20:56:41 2010 +0100
@@ -965,7 +965,9 @@
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
85 => 'Wenn Sie Ihr Passwort vergessen haben, benutzen Sie folgenden Link: %s',
86 => 'Enthalten',
- 87 => 'Erinnerungen'
+ 87 => 'Erinnerungen',
+ 88 => 'Default Group',
+ 89 => 'Check to make this a default group for new users'
);
###############################################################################
diff -r 05d0ecb57c45 -r 21c4ffae4200 language/german_utf-8.php
--- a/language/german_utf-8.php Sat Jan 02 15:56:38 2010 +0100
+++ b/language/german_utf-8.php Sat Jan 02 20:56:41 2010 +0100
@@ -964,7 +964,9 @@
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
85 => 'Wenn Du das Passwort vergessen hast, benutze folgenden Link: %s',
86 => 'Enthalten',
- 87 => 'Erinnerungen'
+ 87 => 'Erinnerungen',
+ 88 => 'Default Group',
+ 89 => 'Check to make this a default group for new users'
);
###############################################################################
diff -r 05d0ecb57c45 -r 21c4ffae4200 public_html/admin/group.php
--- a/public_html/admin/group.php Sat Jan 02 15:56:38 2010 +0100
+++ b/public_html/admin/group.php Sat Jan 02 20:56:41 2010 +0100
@@ -106,11 +106,20 @@
$group_templates->set_var('site_url', $_CONF['site_url']);
$group_templates->set_var('site_admin_url', $_CONF['site_admin_url']);
$group_templates->set_var('layout_url', $_CONF['layout_url']);
+ $group_templates->set_var('xhtml', XHTML);
+
$group_templates->set_var('lang_save', $LANG_ADMIN['save']);
$group_templates->set_var('lang_cancel', $LANG_ADMIN['cancel']);
$group_templates->set_var('lang_admingroup', $LANG28[49]);
$group_templates->set_var('lang_admingrp_msg', $LANG28[50]);
- $group_templates->set_var('xhtml', XHTML);
+ $group_templates->set_var('lang_defaultgroup', $LANG28[88]);
+ $group_templates->set_var('lang_defaultgrp_msg', $LANG28[89]);
+ $group_templates->set_var('lang_groupname', $LANG_ACCESS['groupname']);
+ $group_templates->set_var('lang_description', $LANG_ACCESS['description']);
+ $group_templates->set_var('lang_securitygroups',
+ $LANG_ACCESS['securitygroups']);
+ $group_templates->set_var('lang_rights', $LANG_ACCESS['rights']);
+
$showall = 0;
if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
$showall = 1;
@@ -118,14 +127,18 @@
$group_templates->set_var('show_all', $showall);
if (! empty($grp_id)) {
- $result = DB_query("SELECT grp_id,grp_name,grp_descr,grp_gl_core FROM {$_TABLES['groups']} WHERE grp_id ='$grp_id'");
+ $result = DB_query("SELECT grp_id,grp_name,grp_descr,grp_gl_core,grp_default FROM {$_TABLES['groups']} WHERE grp_id ='$grp_id'");
$A = DB_fetchArray($result);
if ($A['grp_gl_core'] > 0) {
$group_templates->set_var('chk_adminuse', 'checked="checked"');
}
+ if ($A['grp_default'] != 0) {
+ $group_templates->set_var('chk_defaultuse', 'checked="checked"');
+ }
} else {
// new group, so it's obviously not a core group
$A['grp_gl_core'] = 0;
+ $A['grp_default'] = 0;
}
$token = SEC_createToken();
@@ -152,8 +165,6 @@
$group_templates->set_var('group_core', 0);
}
- $group_templates->set_var('lang_groupname', $LANG_ACCESS['groupname']);
-
if ($A['grp_gl_core'] != 1) {
$group_templates->set_var('groupname_inputtype', 'text');
$group_templates->set_var('groupname_static', '');
@@ -161,19 +172,17 @@
$group_templates->set_var('groupname_inputtype', 'hidden');
$group_templates->set_var('groupname_static', $A['grp_name']);
}
- if (isset ($A['grp_name'])) {
+ if (isset($A['grp_name'])) {
$group_templates->set_var('group_name', $A['grp_name']);
} else {
$group_templates->set_var('group_name', '');
}
- $group_templates->set_var('lang_description', $LANG_ACCESS['description']);
- if (isset ($A['grp_descr'])) {
+ if (isset($A['grp_descr'])) {
$group_templates->set_var('group_description', $A['grp_descr']);
} else {
$group_templates->set_var('group_description', '');
}
- $group_templates->set_var('lang_securitygroups', $LANG_ACCESS['securitygroups']);
$selected = '';
if (! empty($grp_id)) {
@@ -258,7 +267,6 @@
$defsort_arr, '', explode(' ', $selected));
}
$group_templates->set_var('group_options', $groupoptions);
- $group_templates->set_var('lang_rights', $LANG_ACCESS['rights']);
if ($A['grp_gl_core'] == 1) {
$group_templates->set_var('lang_rightsmsg', $LANG_ACCESS['corerightsdescr']);
@@ -272,7 +280,7 @@
$group_templates->set_var('gltoken', $token);
$group_templates->parse('output','editor');
$retval .= $group_templates->finish($group_templates->get_var('output'));
- $retval .= COM_endBlock (COM_getBlockTemplate ('_admin_block', 'footer'));
+ $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
return $retval;
}
@@ -458,12 +466,13 @@
* @param string $grp_descr Description of group
* @param boolean $grp_admin Flag that indicates this is an admin use group
* @param boolean $grp_gl_core Flag that indicates if this is a core Geeklog group
+* @param boolean $grp_default Flag that indicates if this is a default group
* @param array $features Features the group has access to
* @param array $groups Groups this group will belong to
* @return string HTML refresh or error message
*
*/
-function savegroup($grp_id, $grp_name, $grp_descr, $grp_admin, $grp_gl_core, $features, $groups)
+function savegroup($grp_id, $grp_name, $grp_descr, $grp_admin, $grp_gl_core, $grp_default, $features, $groups)
{
global $_CONF, $_TABLES, $_USER, $LANG_ACCESS, $VERBOSE;
@@ -506,16 +515,17 @@
$grp_descr = COM_stripslashes ($grp_descr);
$grp_descr = addslashes ($grp_descr);
- if (empty ($grp_id)) {
- DB_save ($_TABLES['groups'], 'grp_name,grp_descr,grp_gl_core',
- "'$grp_name','$grp_descr',$grp_gl_core");
- $grp_id = DB_getItem ($_TABLES['groups'], 'grp_id',
- "grp_name = '$grp_name'");
+ if (empty($grp_id)) {
+ DB_save($_TABLES['groups'],
+ 'grp_name,grp_descr,grp_gl_core,grp_default',
+ "'$grp_name','$grp_descr',$grp_gl_core,$grp_default");
+ $grp_id = DB_getItem($_TABLES['groups'], 'grp_id',
+ "grp_name = '$grp_name'");
$new_group = true;
} else {
- DB_save ($_TABLES['groups'],
- 'grp_id,grp_name,grp_descr,grp_gl_core',
- "$grp_id,'$grp_name','$grp_descr',$grp_gl_core");
+ DB_save($_TABLES['groups'],
+ 'grp_id,grp_name,grp_descr,grp_gl_core,grp_default',
+ "$grp_id,'$grp_name','$grp_descr',$grp_gl_core,$grp_default");
$new_group = false;
}
@@ -585,14 +595,14 @@
}
if ($new_group) {
- PLG_groupChanged ($grp_id, 'new');
+ PLG_groupChanged($grp_id, 'new');
} else {
- PLG_groupChanged ($grp_id, 'edit');
+ PLG_groupChanged($grp_id, 'edit');
}
if (isset($_REQUEST['chk_showall']) && ($_REQUEST['chk_showall'] == 1)) {
- echo COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49&chk_showall=1');
+ return 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');
+ return COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=49');
}
} else {
$retval .= COM_siteHeader ('menu', $LANG_ACCESS['groupeditor']);
@@ -775,6 +785,7 @@
array('text' => $LANG_ACCESS['groupname'], 'field' => 'grp_name', 'sort' => true),
array('text' => $LANG_ACCESS['description'], 'field' => 'grp_descr', 'sort' => true),
array('text' => $LANG_ACCESS['coregroup'], 'field' => 'grp_gl_core', 'sort' => true),
+ array('text' => $LANG28[88], 'field' => 'grp_default', 'sort' => true),
array('text' => $LANG_ACCESS['listusers'], 'field' => 'list', 'sort' => false)
);
@@ -1107,6 +1118,10 @@
}
} elseif (($mode == $LANG_ADMIN['save']) && !empty($LANG_ADMIN['save']) && SEC_checkToken()) {
$grp_gl_core = COM_applyFilter($_POST['grp_gl_core'], true);
+ $grp_default = 0;
+ if (isset($_POST['chk_grpdefault'])) {
+ $grp_default = 1;
+ }
$chk_grpadmin = '';
if (isset($_POST['chk_grpadmin'])) {
$chk_grpadmin = COM_applyFilter($_POST['chk_grpadmin']);
@@ -1122,7 +1137,7 @@
$display .= savegroup(COM_applyFilter($_POST['grp_id'], true),
COM_applyFilter($_POST['grp_name']),
$_POST['grp_descr'], $chk_grpadmin, $grp_gl_core,
- $features, $groups);
+ $grp_default, $features, $groups);
} elseif (($mode == 'savegroupusers') && SEC_checkToken()) {
$grp_id = COM_applyFilter($_REQUEST['grp_id'], true);
$display .= savegroupusers($grp_id, $_POST['groupmembers']);
diff -r 05d0ecb57c45 -r 21c4ffae4200 public_html/admin/user.php
--- a/public_html/admin/user.php Sat Jan 02 15:56:38 2010 +0100
+++ b/public_html/admin/user.php Sat Jan 02 20:56:41 2010 +0100
@@ -8,7 +8,7 @@
// | |
// | Geeklog user administration page. |
// +---------------------------------------------------------------------------+
-// | Copyright (C) 2000-2009 by the following authors: |
+// | Copyright (C) 2000-2010 by the following authors: |
// | |
// | Authors: Tony Bibbs - tony AT tonybibbs DOT com |
// | Mark Limburg - mlimburg AT users DOT sourceforge DOT net |
@@ -139,7 +139,7 @@
$user_templates = new Template($_CONF['path_layout'] . 'admin/user');
$user_templates->set_file (array ('form' => 'edituser.thtml',
'groupedit' => 'groupedit.thtml'));
- $user_templates->set_var( 'xhtml', XHTML );
+ $user_templates->set_var('xhtml', XHTML);
$user_templates->set_var('site_url', $_CONF['site_url']);
$user_templates->set_var('site_admin_url', $_CONF['site_admin_url']);
$user_templates->set_var('layout_url', $_CONF['layout_url']);
@@ -236,7 +236,7 @@
if (!empty($uid)) {
if ($A['uid'] == $_USER['uid']) {
$allow_ban = false; // do not allow to ban yourself
- } else if (SEC_inGroup('Root', $A['uid'])) { // editing a Root user?
+ } elseif (SEC_inGroup('Root', $A['uid'])) { // editing a Root user?
$count_root_sql = "SELECT COUNT(ug_uid) AS root_count FROM {$_TABLES['group_assignments']} WHERE ug_main_grp_id = 1 GROUP BY ug_uid;";
$count_root_result = DB_query($count_root_sql);
$C = DB_fetchArray($count_root_result); // how many are left?
@@ -294,6 +294,14 @@
. ' ';
$selected .= DB_getItem($_TABLES['groups'], 'grp_id',
"grp_name = 'Logged-in Users'");
+
More information about the geeklog-cvs
mailing list