[geeklog-cvs] geeklog: Gave the Groups editor a facelift
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Sun Jan 25 14:25:52 EST 2009
details: http://project.geeklog.net/cgi-bin/hgweb.cgi/rev/744c064938a0
changeset: 6726:744c064938a0
user: Dirk Haun <dirk at haun-online.de>
date: Sun Jan 25 20:25:40 2009 +0100
description:
Gave the Groups editor a facelift
diffstat:
11 files changed, 98 insertions(+), 33 deletions(-)
language/english.php | 3
language/english_utf-8.php | 3
language/german.php | 3
language/german_formal.php | 3
language/german_formal_utf-8.php | 3
language/german_utf-8.php | 3
public_html/admin/group.php | 70 +++++++++-----
public_html/docs/history | 2
public_html/docs/theme.html | 3
public_html/layout/professional/admin/lists/inline.thtml | 14 ++
system/lib-admin.php | 24 +++-
diffs (truncated from 335 to 300 lines):
diff -r 51b1f7bf224c -r 744c064938a0 language/english.php
--- a/language/english.php Sun Jan 25 17:28:17 2009 +0100
+++ b/language/english.php Sun Jan 25 20:25:40 2009 +0100
@@ -924,7 +924,8 @@
82 => "Your account on {$_CONF['site_name']} has not been accesssed since %s and will be disabled if not accessed in the next 30 days.",
83 => "Your account on {$_CONF['site_name']} has not been used since it was created and will be deleted soon if not accessed.",
84 => "Your login name is: %s for our site: {$_CONF['site_url']}",
- 85 => 'If you have forgotten the password use the following link: %s'
+ 85 => 'If you have forgotten the password use the following link: %s',
+ 86 => 'Include'
);
###############################################################################
diff -r 51b1f7bf224c -r 744c064938a0 language/english_utf-8.php
--- a/language/english_utf-8.php Sun Jan 25 17:28:17 2009 +0100
+++ b/language/english_utf-8.php Sun Jan 25 20:25:40 2009 +0100
@@ -924,7 +924,8 @@
82 => "Your account on {$_CONF['site_name']} has not been accesssed since %s and will be disabled if not accessed in the next 30 days.",
83 => "Your account on {$_CONF['site_name']} has not been used since it was created and will be deleted soon if not accessed.",
84 => "Your login name is: %s for our site: {$_CONF['site_url']}",
- 85 => 'If you have forgotten the password use the following link: %s'
+ 85 => 'If you have forgotten the password use the following link: %s',
+ 86 => 'Include'
);
###############################################################################
diff -r 51b1f7bf224c -r 744c064938a0 language/german.php
--- a/language/german.php Sun Jan 25 17:28:17 2009 +0100
+++ b/language/german.php Sun Jan 25 20:25:40 2009 +0100
@@ -926,7 +926,8 @@
82 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde nicht benutzt seit %s und wird innerhalb 30 .",
83 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde seit der Einrichtung nicht benutzt \und wird gelöscht, wenn Sie nicht in Kürze einloggen.",
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
- 85 => 'Wenn Du das Passwort vergessen hast, benutze folgenden Link: %s'
+ 85 => 'Wenn Du das Passwort vergessen hast, benutze folgenden Link: %s',
+ 86 => 'Enthalten'
);
###############################################################################
diff -r 51b1f7bf224c -r 744c064938a0 language/german_formal.php
--- a/language/german_formal.php Sun Jan 25 17:28:17 2009 +0100
+++ b/language/german_formal.php Sun Jan 25 20:25:40 2009 +0100
@@ -927,7 +927,8 @@
82 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde nicht benutzt seit %s und wird innerhalb 30 .",
83 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde seit der Einrichtung nicht benutzt \und wird gelöscht, wenn Sie nicht in Kürze einloggen.",
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
- 85 => 'Wenn Sie Ihr Passwort vergessen haben, benutzen Sie folgenden Link: %s'
+ 85 => 'Wenn Sie Ihr Passwort vergessen haben, benutzen Sie folgenden Link: %s',
+ 86 => 'Enthalten'
);
###############################################################################
diff -r 51b1f7bf224c -r 744c064938a0 language/german_formal_utf-8.php
--- a/language/german_formal_utf-8.php Sun Jan 25 17:28:17 2009 +0100
+++ b/language/german_formal_utf-8.php Sun Jan 25 20:25:40 2009 +0100
@@ -927,7 +927,8 @@
82 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde nicht benutzt seit %s und wird innerhalb 30 .",
83 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde seit der Einrichtung nicht benutzt \und wird gelöscht, wenn Sie nicht in Kürze einloggen.",
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
- 85 => 'Wenn Sie Ihr Passwort vergessen haben, benutzen Sie folgenden Link: %s'
+ 85 => 'Wenn Sie Ihr Passwort vergessen haben, benutzen Sie folgenden Link: %s',
+ 86 => 'Enthalten'
);
###############################################################################
diff -r 51b1f7bf224c -r 744c064938a0 language/german_utf-8.php
--- a/language/german_utf-8.php Sun Jan 25 17:28:17 2009 +0100
+++ b/language/german_utf-8.php Sun Jan 25 20:25:40 2009 +0100
@@ -926,7 +926,8 @@
82 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde nicht benutzt seit %s und wird innerhalb 30 .",
83 => "Ihr Account auf der Seite {$_CONF['site_name']} wurde seit der Einrichtung nicht benutzt \und wird gelöscht, wenn Sie nicht in Kürze einloggen.",
84 => "Ihr Einlogname ist: %s auf der Site: {$_CONF['site_url']}",
- 85 => 'Wenn Du das Passwort vergessen hast, benutze folgenden Link: %s'
+ 85 => 'Wenn Du das Passwort vergessen hast, benutze folgenden Link: %s',
+ 86 => 'Enthalten'
);
###############################################################################
diff -r 51b1f7bf224c -r 744c064938a0 public_html/admin/group.php
--- a/public_html/admin/group.php Sun Jan 25 17:28:17 2009 +0100
+++ b/public_html/admin/group.php Sun Jan 25 20:25:40 2009 +0100
@@ -2,13 +2,13 @@
/* Reminder: always indent with 4 spaces (no tabs). */
// +---------------------------------------------------------------------------+
-// | Geeklog 1.5 |
+// | Geeklog 1.6 |
// +---------------------------------------------------------------------------+
// | group.php |
// | |
// | Geeklog group administration page. |
// +---------------------------------------------------------------------------+
-// | Copyright (C) 2000-2008 by the following authors: |
+// | Copyright (C) 2000-2009 by the following authors: |
// | |
// | Authors: Tony Bibbs - tony AT tonybibbs DOT com |
// | Mark Limburg - mlimburg AT users DOT sourceforge DOT net |
@@ -31,8 +31,6 @@
// | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
// | |
// +---------------------------------------------------------------------------+
-//
-// $Id: group.php,v 1.103 2008/06/07 12:41:44 dhaun Exp $
/**
* This file is the Geeklog Group administration page
@@ -178,9 +176,9 @@
if (!empty($grp_id)) {
$tmp = DB_query("SELECT ug_main_grp_id FROM {$_TABLES['group_assignments']} WHERE ug_grp_id = $grp_id");
$num_groups = DB_numRows($tmp);
- for ($x = 1; $x <= $num_groups; $x++) {
+ for ($x = 0; $x < $num_groups; $x++) {
$G = DB_fetchArray($tmp);
- if ($x > 1) {
+ if ($x > 0) {
$selected .= ' ' . $G['ug_main_grp_id'];
} else {
$selected .= $G['ug_main_grp_id'];
@@ -192,8 +190,8 @@
$group_templates->set_var('hide_adminoption',' style="display:none;"');
if (!empty($selected)) {
- $inclause = str_replace(' ',',',$selected);
- $result= DB_query("SELECT grp_id,grp_name FROM {$_TABLES['groups']} WHERE grp_id <> $grp_id AND grp_id in ($inclause) ORDER BY grp_name");
+ $inclause = str_replace(' ', ',', $selected);
+ $result = DB_query("SELECT grp_id,grp_name FROM {$_TABLES['groups']} WHERE grp_id <> $grp_id AND grp_id in ($inclause) ORDER BY grp_name");
$nrows = DB_numRows($result);
} else {
$nrows = 0;
@@ -204,14 +202,17 @@
$group_templates->set_var('group_options', $LANG_ACCESS['nogroupsforcoregroup']);
} else {
$groupoptions = '';
- for ($i = 1; $i <= $nrows; $i++) {
+ for ($i = 0; $i < $nrows; $i++) {
$GRPS = DB_fetchArray($result);
$groupoptions .= $GRPS['grp_name'] . '<input type="hidden" name="groups[]" value="' . $GRPS['grp_id'] . '"' . XHTML . '><br' . XHTML . '>' .LB;
}
$group_templates->set_var('group_options', $groupoptions);
}
} else {
- $group_templates->set_var('lang_securitygroupmsg', $LANG_ACCESS['groupmsg']);
+ require_once $_CONF['path_system'] . 'lib-admin.php';
+
+ $group_templates->set_var('lang_securitygroupmsg',
+ $LANG_ACCESS['groupmsg']);
$group_templates->set_var('hide_adminoption','');
if ($VERBOSE) {
COM_errorLog("SELECTED: $selected");
@@ -221,13 +222,38 @@
// is a member
$whereGroups = '(grp_id IN (' . implode (',', $thisUsersGroups) . '))';
- // You can no longer give access to the Root group....
- // it's pointless and doesn't make any sense
- if (!empty($grp_id)) {
- $group_templates->set_var ('group_options', COM_checkList ($_TABLES['groups'], 'grp_id,grp_name', "(grp_id <> $grp_id) AND (grp_name <> 'Root') AND " . $whereGroups, $selected));
- } else {
- $group_templates->set_var ('group_options', COM_checkList ($_TABLES['groups'], 'grp_id,grp_name', "(grp_name <> 'Root') AND " . $whereGroups, ''));
+ $header_arr = array(
+ array('text' => $LANG28[86], 'field' => 'checkbox', 'sort' => false),
+ array('text' => $LANG_ACCESS['groupname'], 'field' => 'grp_name', 'sort' => true),
+ array('text' => $LANG_ACCESS['description'], 'field' => 'grp_descr', 'sort' => true)
+ );
+
+ $defsort_arr = array('field' => 'grp_name', 'direction' => 'asc');
+
+ $form_url = $_CONF['site_admin_url']
+ . '/group.php?mode=edit&grp_id=' . $grp_id;
+ $text_arr = array('has_menu' => false,
+ 'title' => '', 'instructions' => '',
+ 'icon' => '', 'form_url' => $form_url,
+ 'inline' => true);
+
+ $xsql = '';
+ if (! empty($grp_id)) {
+ $xsql = " AND (grp_id <> $grp_id)";
}
+ $sql = "SELECT grp_id, grp_name, grp_descr FROM {$_TABLES['groups']} WHERE (grp_name <> 'Root')" . $xsql . ' AND ' . $whereGroups;
+ $query_arr = array('table' => 'groups',
+ 'sql' => $sql,
+ 'query_fields' => array('grp_name'),
+ 'default_filter' => '',
+ 'query' => '',
+ 'query_limit' => 0);
+
+ $options = ADMIN_list('groups', 'ADMIN_getListField_groups',
+ $header_arr, $text_arr, $query_arr, $defsort_arr,
+ '', explode(' ', $selected));
+ $group_templates->set_var('group_options', $options);
+
}
$group_templates->set_var('lang_rights', $LANG_ACCESS['rights']);
@@ -237,7 +263,8 @@
$group_templates->set_var('lang_rightsmsg', $LANG_ACCESS['rightsdescr']);
}
- $group_templates->set_var('rights_options', printrights($grp_id, $A['grp_gl_core']));
+ $group_templates->set_var('rights_options',
+ printrights($grp_id, $A['grp_gl_core']));
$group_templates->set_var('gltoken_name', CSRF_TOKEN);
$group_templates->set_var('gltoken', SEC_createToken());
$group_templates->parse('output','editor');
@@ -308,7 +335,7 @@
* @return string HTML for rights
*
*/
-function printrights ($grp_id = '', $core = 0)
+function printrights($grp_id = '', $core = 0)
{
global $_TABLES, $_USER, $LANG_ACCESS, $VERBOSE;
@@ -371,8 +398,8 @@
$ftcount = 0;
$retval = '<tr>' . LB;
for ($i = 1; $i <= $nfeatures; $i++) {
- if ($i > 0 AND ($i % 3 == 1)) {
- $retval .= "</tr>\n<tr>";
+ if ($i > 0 AND (($ftcount + 1) % 3 == 1)) {
+ $retval .= '</tr>' . LB . '<tr>';
}
$A = DB_fetchArray($features);
@@ -390,7 +417,8 @@
// either this is an indirect right OR this is a core feature
if ((($core == 1) AND (isset ($grpftarray[$A['ft_name']]) AND (($grpftarray[$A['ft_name']] == 'indirect') OR ($grpftarray[$A['ft_name']] == 'direct')))) OR ($core != 1)) {
$ftcount++;
- $retval .= '<td> (<i title="'
+ $retval .= '<td><input type="checkbox" disabled="disabled" '
+ . 'checked="checked"' . XHTML . '>(<i title="'
. $A['ft_descr'] . '">' . $A['ft_name'] . '</i>)</td>';
}
}
diff -r 51b1f7bf224c -r 744c064938a0 public_html/docs/history
--- a/public_html/docs/history Sun Jan 25 17:28:17 2009 +0100
+++ b/public_html/docs/history Sun Jan 25 20:25:40 2009 +0100
@@ -11,6 +11,8 @@
+ (TBD) Comment moderation and editable comments, by Jared Wenerd
Other changes:
+- Gave the Groups editor a facelift. Requires a new template file,
+ admin/lists/inline.thtml [Dirk]
- Add new permissions plugin.install and plugin.upload for more fine-grained
control to the plugin admin panel (bug #0000637) [Dirk]
- Introduced new plugin API function PLG_itemDeleted [Dirk]
diff -r 51b1f7bf224c -r 744c064938a0 public_html/docs/theme.html
--- a/public_html/docs/theme.html Sun Jan 25 17:28:17 2009 +0100
+++ b/public_html/docs/theme.html Sun Jan 25 20:25:40 2009 +0100
@@ -207,6 +207,9 @@
version of the directory name) when using the new variable
<code>{pi_display_name}</code> in <tt>admin/plugins/editor.thtml</tt>.
This is a purely cosmetic change.</li>
+<li>New template file <tt>admin/lists/inline.thtml</tt>, used when embedding
+ lists into an existing HTML <code><form></code> (e.g. the new Groups
+ editor).</li>
</ul>
<h3>Plugins</h3>
diff -r 51b1f7bf224c -r 744c064938a0 public_html/layout/professional/admin/lists/inline.thtml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/public_html/layout/professional/admin/lists/inline.thtml Sun Jan 25 20:25:40 2009 +0100
@@ -0,0 +1,14 @@
+ {search_menu}
+ {formfields_top}
+ <table class="admin-list-table">
+ <tr style="background:#FFFFFF;">
+ {header_row}
+ </tr>
+ {item_row}
+ </table>
+ <div>
+ <input style="padding:5px 0px 0px 9px;{show_deleteimage}" name="delbutton" alt="delbutton" type="image" src="{layout_url}/images/deleteitem.png" title="{lang_deleteall}" onclick="return confirm('{lang_delconfirm}');"{xhtml}>
+ {formfields_bottom}
+ </div>
+ <p class="aligncenter" style="{show_message}"><b>{message}</b></p>
+ {google_paging}
diff -r 51b1f7bf224c -r 744c064938a0 system/lib-admin.php
--- a/system/lib-admin.php Sun Jan 25 17:28:17 2009 +0100
+++ b/system/lib-admin.php Sun Jan 25 20:25:40 2009 +0100
@@ -263,14 +263,19 @@
$title = $text_arr['title'];
}
+ $inline_form = false;
+ if (isset($text_arr['inline'])) {
+ $inline_form = $text_arr['inline'];
+ }
+
# get all template fields.
$admin_templates = new Template($_CONF['path_layout'] . 'admin/lists');
$admin_templates->set_file (array (
'search' => 'searchmenu.thtml',
- 'list' => 'list.thtml',
+ 'list' => ($inline_form ? 'inline.thtml' : 'list.thtml'),
'header' => 'header.thtml',
- 'row' => 'listitem.thtml',
- 'field' => 'field.thtml'
+ 'row' => 'listitem.thtml',
+ 'field' => 'field.thtml'
More information about the geeklog-cvs
mailing list