diff options
Diffstat (limited to 'admin/group_list.php')
-rw-r--r-- | admin/group_list.php | 70 |
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">·</span> ', $members), 'MEMBERS' => l10n_dec('%d member', '%d members', count($members)), - 'U_MEMBERS' => $members_url.$row['id'], 'U_DELETE' => $del_url.$row['id'].'&pwg_token='.get_pwg_token(), 'U_PERM' => $perm_url.$row['id'], 'U_ISDEFAULT' => $toggle_is_default_url.$row['id'].'&pwg_token='.get_pwg_token(), |