source: trunk/admin/group_list.php @ 1900

Last change on this file since 1900 was 1900, checked in by rub, 17 years ago

Apply property svn:eol-style Value: LF

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 6.9 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | PhpWebGallery - a PHP based picture gallery                           |
4// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
5// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
6// +-----------------------------------------------------------------------+
7// | branch        : BSF (Best So Far)
8// | file          : $RCSfile$
9// | last update   : $Date: 2007-03-12 22:33:53 +0000 (Mon, 12 Mar 2007) $
10// | last modifier : $Author: rub $
11// | revision      : $Revision: 1900 $
12// +-----------------------------------------------------------------------+
13// | This program is free software; you can redistribute it and/or modify  |
14// | it under the terms of the GNU General Public License as published by  |
15// | the Free Software Foundation                                          |
16// |                                                                       |
17// | This program is distributed in the hope that it will be useful, but   |
18// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
19// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
20// | General Public License for more details.                              |
21// |                                                                       |
22// | You should have received a copy of the GNU General Public License     |
23// | along with this program; if not, write to the Free Software           |
24// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
25// | USA.                                                                  |
26// +-----------------------------------------------------------------------+
27
28if( !defined("PHPWG_ROOT_PATH") )
29{
30  die ("Hacking attempt!");
31}
32
33include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
34
35// +-----------------------------------------------------------------------+
36// | Check Access and exit when user status is not ok                      |
37// +-----------------------------------------------------------------------+
38check_status(ACCESS_ADMINISTRATOR);
39
40// +-----------------------------------------------------------------------+
41// |                             delete a group                            |
42// +-----------------------------------------------------------------------+
43
44if (isset($_GET['delete']) and is_numeric($_GET['delete']) and !is_adviser())
45{
46  // destruction of the access linked to the group
47  $query = '
48DELETE
49  FROM '.GROUP_ACCESS_TABLE.'
50  WHERE group_id = '.$_GET['delete'].'
51;';
52  pwg_query($query);
53 
54  // destruction of the users links for this group
55  $query = '
56DELETE
57  FROM '.USER_GROUP_TABLE.'
58  WHERE group_id = '.$_GET['delete'].'
59;';
60  pwg_query($query);
61
62  $query = '
63SELECT name
64  FROM '.GROUPS_TABLE.'
65  WHERE id = '.$_GET['delete'].'
66;';
67  list($groupname) = mysql_fetch_row(pwg_query($query));
68 
69  // destruction of the group
70  $query = '
71DELETE
72  FROM '.GROUPS_TABLE.'
73  WHERE id = '.$_GET['delete'].'
74;';
75  pwg_query($query);
76
77  array_push(
78    $page['infos'],
79    sprintf(l10n('group "%s" deleted'), $groupname)
80    );
81}
82
83// +-----------------------------------------------------------------------+
84// |                              add a group                              |
85// +-----------------------------------------------------------------------+
86
87if (isset($_POST['submit_add']) and !is_adviser())
88{
89  if (empty($_POST['groupname']))
90  {
91    array_push($page['errors'], $lang['group_add_error1']);
92  }
93  if (count($page['errors']) == 0)
94  {
95    // is the group not already existing ?
96    $query = '
97SELECT COUNT(*)
98  FROM '.GROUPS_TABLE.'
99  WHERE name = \''.$_POST['groupname'].'\'
100;';
101    list($count) = mysql_fetch_row(pwg_query($query));
102    if ($count != 0)
103    {
104      array_push($page['errors'], $lang['group_add_error2']);
105    }
106  }
107  if (count($page['errors']) == 0)
108  {
109    // creating the group
110    $query = '
111INSERT INTO '.GROUPS_TABLE.'
112  (name)
113  VALUES
114  (\''.mysql_escape_string($_POST['groupname']).'\')
115;';
116    pwg_query($query);
117
118    array_push(
119      $page['infos'],
120      sprintf(l10n('group "%s" added'), $_POST['groupname'])
121      );
122  }
123}
124
125// +-----------------------------------------------------------------------+
126// | toggle is default group property                                      |
127// +-----------------------------------------------------------------------+
128
129if (isset($_GET['toggle_is_default']) and is_numeric($_GET['toggle_is_default']) and !is_adviser())
130{
131  $query = '
132SELECT name, is_default
133  FROM '.GROUPS_TABLE.'
134  WHERE id = '.$_GET['toggle_is_default'].'
135;';
136  list($groupname, $is_default) = mysql_fetch_row(pwg_query($query));
137 
138  // update of the group
139  $query = '
140UPDATE '.GROUPS_TABLE.'
141  SET is_default = \''.boolean_to_string(!get_boolean($is_default)).'\'
142  WHERE id = '.$_GET['toggle_is_default'].'
143;';
144  pwg_query($query);
145
146  array_push(
147    $page['infos'],
148    sprintf(l10n('group "%s" updated'), $groupname)
149    );
150}
151
152// +-----------------------------------------------------------------------+
153// |                             template init                             |
154// +-----------------------------------------------------------------------+
155
156$template->set_filenames(array('group_list' => 'admin/group_list.tpl'));
157
158$template->assign_vars(
159  array(
160    'F_ADD_ACTION' => PHPWG_ROOT_PATH.'admin.php?page=group_list',
161    'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=group_list',
162    )
163  );
164
165// +-----------------------------------------------------------------------+
166// |                              group list                               |
167// +-----------------------------------------------------------------------+
168
169$query = '
170SELECT id, name, is_default
171  FROM '.GROUPS_TABLE.'
172  ORDER BY id ASC
173;';
174$result = pwg_query($query);
175
176$admin_url = PHPWG_ROOT_PATH.'admin.php?page=';
177$perm_url    = $admin_url.'group_perm&amp;group_id=';
178$del_url     = $admin_url.'group_list&amp;delete=';
179$members_url = $admin_url.'user_list&amp;group=';
180$toggle_is_default_url     = $admin_url.'group_list&amp;toggle_is_default=';
181
182$num = 0;
183while ($row = mysql_fetch_array($result))
184{
185  $query = '
186SELECT COUNT(*)
187  FROM '.USER_GROUP_TABLE.'
188  WHERE group_id = '.$row['id'].'
189;';
190  list($counter) = mysql_fetch_row(pwg_query($query));
191 
192  $template->assign_block_vars(
193    'group',
194    array(
195      'CLASS' => ($num++ % 2 == 1) ? 'row2' : 'row1',
196      'NAME' => $row['name'],
197      'IS_DEFAULT' => (get_boolean($row['is_default']) ? ' ['.l10n('is_default_group').']' : ''),
198      'MEMBERS' => sprintf(l10n('%d members'), $counter),
199      'U_MEMBERS' => $members_url.$row['id'],
200      'U_DELETE' => $del_url.$row['id'],
201      'U_PERM' => $perm_url.$row['id'],
202      'U_ISDEFAULT' => $toggle_is_default_url.$row['id']
203      )
204    );
205}
206
207// +-----------------------------------------------------------------------+
208// |                           sending html code                           |
209// +-----------------------------------------------------------------------+
210
211$template->assign_var_from_handle('ADMIN_CONTENT', 'group_list');
212
213?>
Note: See TracBrowser for help on using the repository browser.