aboutsummaryrefslogtreecommitdiffstats
path: root/admin/group_list.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/group_list.php')
-rw-r--r--admin/group_list.php70
1 files changed, 39 insertions, 31 deletions
diff --git a/admin/group_list.php b/admin/group_list.php
index 390107613..4912458f7 100644
--- a/admin/group_list.php
+++ b/admin/group_list.php
@@ -2,7 +2,7 @@
// +-----------------------------------------------------------------------+
// | Piwigo - a PHP based photo gallery |
// +-----------------------------------------------------------------------+
-// | Copyright(C) 2008-2013 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2008-2014 Piwigo Team http://piwigo.org |
// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
// +-----------------------------------------------------------------------+
@@ -29,6 +29,19 @@ if( !defined("PHPWG_ROOT_PATH") )
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
// +-----------------------------------------------------------------------+
+// | tabs |
+// +-----------------------------------------------------------------------+
+
+include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
+
+$my_base_url = get_root_url().'admin.php?page=';
+
+$tabsheet = new tabsheet();
+$tabsheet->set_id('groups');
+$tabsheet->select('group_list');
+$tabsheet->assign();
+
+// +-----------------------------------------------------------------------+
// | Check Access and exit when user status is not ok |
// +-----------------------------------------------------------------------+
check_status(ACCESS_ADMINISTRATOR);
@@ -45,7 +58,7 @@ if (isset($_POST['submit_add']))
{
if (empty($_POST['groupname']))
{
- array_push($page['errors'], l10n('The name of a group must not contain " or \' or be empty.'));
+ $page['errors'][] = l10n('The name of a group must not contain " or \' or be empty.');
}
if (count($page['errors']) == 0)
{
@@ -58,7 +71,7 @@ SELECT COUNT(*)
list($count) = pwg_db_fetch_row(pwg_query($query));
if ($count != 0)
{
- array_push($page['errors'], l10n('This name is already used by another group.'));
+ $page['errors'][] = l10n('This name is already used by another group.');
}
}
if (count($page['errors']) == 0)
@@ -72,10 +85,7 @@ INSERT INTO '.GROUPS_TABLE.'
;';
pwg_query($query);
- array_push(
- $page['infos'],
- sprintf(l10n('group "%s" added'), $_POST['groupname'])
- );
+ $page['infos'][] = l10n('group "%s" added', $_POST['groupname']);
}
}
@@ -89,7 +99,7 @@ if (isset($_POST['submit']) and isset($_POST['selectAction']) and isset($_POST['
$groups = $_POST['group_selection'];
if (count($groups) == 0)
{
- array_push($page['errors'], l10n('Select at least one group'));
+ $page['errors'][] = l10n('Select at least one group');
}
$action = $_POST['selectAction'];
@@ -100,13 +110,23 @@ if (isset($_POST['submit']) and isset($_POST['selectAction']) and isset($_POST['
if ($action=="rename")
{
+ // is the group not already existing ?
+ $query = '
+SELECT name
+ FROM '.GROUPS_TABLE.'
+;';
+ $group_names = array_from_query($query, 'name');
foreach($groups as $group)
{
- if ( !empty($_POST['rename_'.$group.'']) )
+ if ( in_array($_POST['rename_'.$group.''], $group_names))
+ {
+ $page['errors'][] = $_POST['rename_'.$group.''].' | '.l10n('This name is already used by another group.');
+ }
+ elseif ( !empty($_POST['rename_'.$group.'']))
{
$query = '
UPDATE '.GROUPS_TABLE.'
- SET name = \''.$_POST['rename_'.$group.''].'\'
+ SET name = \''.pwg_db_real_escape_string($_POST['rename_'.$group.'']).'\'
WHERE id = '.$group.'
;';
pwg_query($query);
@@ -153,10 +173,7 @@ if (isset($_POST['submit']) and isset($_POST['selectAction']) and isset($_POST['
;';
pwg_query($query);
- array_push(
- $page['infos'],
- sprintf(l10n('group "%s" deleted'), $groupname)
- );
+ $page['infos'][] = l10n('group "%s" deleted', $groupname);
}
}
@@ -175,7 +192,7 @@ SELECT COUNT(*)
list($count) = pwg_db_fetch_row(pwg_query($query));
if ($count != 0)
{
- array_push($page['errors'], l10n('This name is already used by another group.'));
+ $page['errors'][] = l10n('This name is already used by another group.');
}
else
{
@@ -236,10 +253,8 @@ SELECT COUNT(*)
}
mass_inserts(USER_GROUP_TABLE, array('user_id','group_id'), $usr_grp);
mass_inserts(GROUP_ACCESS_TABLE, array('group_id','cat_id'), $grp_access);
- array_push(
- $page['infos'],
- sprintf(l10n('group "%s" added'), $_POST['merge'])
- );
+
+ $page['infos'][] = l10n('group "%s" added', $_POST['merge']);
}
// +
@@ -263,7 +278,7 @@ SELECT COUNT(*)
list($count) = pwg_db_fetch_row(pwg_query($query));
if ($count != 0)
{
- array_push($page['errors'], l10n('This name is already used by another group.'));
+ $page['errors'][] = l10n('This name is already used by another group.');
break;
}
// creating the group
@@ -313,10 +328,7 @@ SELECT COUNT(*)
}
mass_inserts(USER_GROUP_TABLE, array('user_id','group_id'), $usr_grp);
- array_push(
- $page['infos'],
- sprintf(l10n('group "%s" added'), $_POST['duplicate_'.$group.''])
- );
+ $page['infos'][] = l10n('group "%s" added', $_POST['duplicate_'.$group.'']);
}
}
@@ -344,12 +356,10 @@ SELECT COUNT(*)
;';
pwg_query($query);
- array_push(
- $page['infos'],
- sprintf(l10n('group "%s" updated'), $groupname)
- );
+ $page['infos'][] = l10n('group "%s" updated', $groupname);
}
}
+ invalidate_user_cache();
}
// +-----------------------------------------------------------------------+
// | template init |
@@ -379,7 +389,6 @@ $result = pwg_query($query);
$admin_url = get_root_url().'admin.php?page=';
$perm_url = $admin_url.'group_perm&group_id=';
$del_url = $admin_url.'group_list&delete=';
-$members_url = $admin_url.'user_list&group=';
$toggle_is_default_url = $admin_url.'group_list&toggle_is_default=';
while ($row = pwg_db_fetch_assoc($result))
@@ -404,9 +413,8 @@ SELECT username
'ID' => $row['id'],
'IS_DEFAULT' => (get_boolean($row['is_default']) ? ' ['.l10n('default').']' : ''),
'NB_MEMBERS' => count($members),
- 'L_MEMBERS' => implode(' - ', $members),
+ 'L_MEMBERS' => implode(' <span class="userSeparator">&middot;</span> ', $members),
'MEMBERS' => l10n_dec('%d member', '%d members', count($members)),
- 'U_MEMBERS' => $members_url.$row['id'],
'U_DELETE' => $del_url.$row['id'].'&amp;pwg_token='.get_pwg_token(),
'U_PERM' => $perm_url.$row['id'],
'U_ISDEFAULT' => $toggle_is_default_url.$row['id'].'&amp;pwg_token='.get_pwg_token(),