Ignore:
Timestamp:
Aug 16, 2005, 5:19:40 PM (19 years ago)
Author:
plg
Message:
  • modification : admin/group_list screen completely rewrite to present the list of existing groups and a form to add a new group. Here you can delete a group, go to permissions management for a group, go to member list of a group (on admin/user_list with a filter on group).
  • modification : admin/user_perm and admin/group_perm are not directly reachable by the admin menu anymore. Only the user/group list lets you reach user/group permissions management screen.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/user_perm.php

    r709 r815  
    3232include_once(PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php');
    3333
    34 $userdata = array();
    35 if (isset($_POST['submituser']))
     34// +-----------------------------------------------------------------------+
     35// |                            variables init                             |
     36// +-----------------------------------------------------------------------+
     37
     38if (isset($_GET['user_id']) and is_numeric($_GET['user_id']))
    3639{
    37   $userdata = getuserdata($_POST['username']);
     40  $page['user'] = $_GET['user_id'];
    3841}
    39 else if (isset($_GET['user_id']))
     42else
    4043{
    41   $userdata = getuserdata(intval($_GET['user_id']));
     44  echo l10n('user_id URL parameter is missing');
     45  exit();
    4246}
    43 else if (isset($_POST['falsify'])
    44          and isset($_POST['cat_true'])
    45          and count($_POST['cat_true']) > 0)
     47
     48// +-----------------------------------------------------------------------+
     49// |                                updates                                |
     50// +-----------------------------------------------------------------------+
     51
     52if (isset($_POST['falsify'])
     53    and isset($_POST['cat_true'])
     54    and count($_POST['cat_true']) > 0)
    4655{
    47   $userdata = getuserdata(intval($_POST['userid']));
    4856  // if you forbid access to a category, all sub-categories become
    4957  // automatically forbidden
     
    5159  $query = '
    5260DELETE FROM '.USER_ACCESS_TABLE.'
    53   WHERE user_id = '.$userdata['id'].'
     61  WHERE user_id = '.$page['user'].'
    5462    AND cat_id IN ('.implode(',', $subcats).')
    5563;';
     
    6068         and count($_POST['cat_false']) > 0)
    6169{
    62   $userdata = getuserdata(intval($_POST['userid']));
    63    
    6470  $uppercats = get_uppercat_ids($_POST['cat_false']);
    6571  $private_uppercats = array();
     
    8591SELECT cat_id
    8692  FROM '.USER_ACCESS_TABLE.'
    87   WHERE user_id = '.$userdata['id'].'
     93  WHERE user_id = '.$page['user'].'
    8894;';
    8995  $result = pwg_query($query);
     
    98104  foreach ($to_autorize_ids as $to_autorize_id)
    99105  {
    100     array_push($inserts, array('user_id' => $userdata['id'],
     106    array_push($inserts, array('user_id' => $page['user'],
    101107                               'cat_id' => $to_autorize_id));
    102108  }
     
    105111}
    106112//----------------------------------------------------- template initialization
    107 if (empty($userdata))
    108 {
    109   $template->set_filenames(array('user' => 'admin/user_perm.tpl'));
     113$template->set_filenames(array('user_perm'=>'admin/cat_options.tpl'));
    110114
    111   $base_url = PHPWG_ROOT_PATH.'admin.php?page=';
    112  
    113   $template->assign_vars(array(
    114     'L_SELECT_USERNAME'=>$lang['Select_username'],
    115     'L_LOOKUP_USER'=>$lang['Look_up_user'],
    116     'L_FIND_USERNAME'=>$lang['Find_username'],
    117     'L_AUTH_USER'=>$lang['permuser_only_private'],
    118     'L_SUBMIT'=>$lang['submit'],
     115$template->assign_vars(
     116  array(
     117    'L_RESET'=>$lang['reset'],
     118    'L_CAT_OPTIONS_TRUE'=>$lang['authorized'],
     119    'L_CAT_OPTIONS_FALSE'=>$lang['forbidden'],
     120    'L_CAT_OPTIONS_INFO'=>$lang['permuser_info'],
     121   
     122    'F_ACTION' =>
     123      add_session_id(
     124        PHPWG_ROOT_PATH.
     125        'admin.php?page=user_perm'.
     126        '&user_id='.$page['user']
     127        )
     128    )
     129  );
    119130
    120     'F_SEARCH_USER_ACTION' => add_session_id($base_url.'user_perm'),
    121     'U_SEARCH_USER' => add_session_id(PHPWG_ROOT_PATH.'admin/search.php')
    122     ));
    123 }
    124 else
    125 {
    126   $template->set_filenames(array('user'=>'admin/cat_options.tpl'));
    127   $template->assign_vars(
    128     array(
    129       'L_RESET'=>$lang['reset'],
    130       'L_CAT_OPTIONS_TRUE'=>$lang['authorized'],
    131       'L_CAT_OPTIONS_FALSE'=>$lang['forbidden'],
    132       'L_CAT_OPTIONS_INFO'=>$lang['permuser_info'],
    133      
    134       'HIDDEN_NAME'=> 'userid',
    135       'HIDDEN_VALUE'=>$userdata['id'],
    136       'F_ACTION' => add_session_id(PHPWG_ROOT_PATH.'admin.php?page=user_perm'),
    137       ));
    138 
    139   // only private categories are listed
    140   $query_true = '
     131// only private categories are listed
     132$query_true = '
    141133SELECT id,name,uppercats,global_rank
    142134  FROM '.CATEGORIES_TABLE.' INNER JOIN '.USER_ACCESS_TABLE.' ON cat_id = id
    143135  WHERE status = \'private\'
    144     AND user_id = '.$userdata['id'].'
     136    AND user_id = '.$page['user'].'
    145137;';
    146   display_select_cat_wrapper($query_true,array(),'category_option_true');
     138display_select_cat_wrapper($query_true,array(),'category_option_true');
    147139 
    148   $result = pwg_query($query_true);
    149   $authorized_ids = array();
    150   while ($row = mysql_fetch_array($result))
    151   {
    152     array_push($authorized_ids, $row['id']);
    153   }
    154  
    155   $query_false = '
     140$result = pwg_query($query_true);
     141$authorized_ids = array();
     142while ($row = mysql_fetch_array($result))
     143{
     144  array_push($authorized_ids, $row['id']);
     145}
     146
     147$query_false = '
    156148SELECT id,name,uppercats,global_rank
    157149  FROM '.CATEGORIES_TABLE.'
    158150  WHERE status = \'private\'';
    159   if (count($authorized_ids) > 0)
    160   {
    161     $query_false.= '
     151if (count($authorized_ids) > 0)
     152{
     153  $query_false.= '
    162154    AND id NOT IN ('.implode(',', $authorized_ids).')';
    163   }
    164   $query_false.= '
     155}
     156$query_false.= '
    165157;';
    166   display_select_cat_wrapper($query_false,array(),'category_option_false');
    167 }
     158display_select_cat_wrapper($query_false,array(),'category_option_false');
     159
    168160//----------------------------------------------------------- sending html code
    169 $template->assign_var_from_handle('ADMIN_CONTENT', 'user');
     161
     162$template->assign_var_from_handle('ADMIN_CONTENT', 'user_perm');
    170163?>
Note: See TracChangeset for help on using the changeset viewer.