Changeset 1583


Ignore:
Timestamp:
Oct 31, 2006, 12:34:31 AM (17 years ago)
Author:
rub
Message:

Resolved Issue ID 0000526:

o Add default group to new user

Allow to have n default groups.
Property are save on table #_group and can be modified on administration group screen.

Location:
trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/group_list.php

    r1072 r1583  
    124124
    125125// +-----------------------------------------------------------------------+
     126// | toggle is default group property                                      |
     127// +-----------------------------------------------------------------------+
     128
     129if (isset($_GET['toggle_is_default']) and is_numeric($_GET['toggle_is_default']))
     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// +-----------------------------------------------------------------------+
    126153// |                             template init                             |
    127154// +-----------------------------------------------------------------------+
     
    140167
    141168$query = '
    142 SELECT id, name
     169SELECT id, name, is_default
    143170  FROM '.GROUPS_TABLE.'
    144171  ORDER BY id ASC
     
    150177$del_url     = $admin_url.'group_list&delete=';
    151178$members_url = $admin_url.'user_list&group=';
     179$toggle_is_default_url     = $admin_url.'group_list&toggle_is_default=';
    152180
    153181$num = 0;
     
    166194      'CLASS' => ($num++ % 2 == 1) ? 'row2' : 'row1',
    167195      'NAME' => $row['name'],
     196      'IS_DEFAULT' => (get_boolean($row['is_default']) ? ' ['.l10n('is_default_group').']' : ''),
    168197      'MEMBERS' => sprintf(l10n('%d members'), $counter),
    169198      'U_MEMBERS' => $members_url.$row['id'],
    170199      'U_DELETE' => $del_url.$row['id'],
    171       'U_PERM' => $perm_url.$row['id']
     200      'U_PERM' => $perm_url.$row['id'],
     201      'U_ISDEFAULT' => $toggle_is_default_url.$row['id']
    172202      )
    173203    );
  • trunk/include/config_default.inc.php

    r1582 r1583  
    223223$conf['rate_items'] = array(0,1,2,3,4,5);
    224224
    225 // Dafault groups to assign to new user
    226 $conf['default_group_id'] = -1;
    227 
    228225// +-----------------------------------------------------------------------+
    229226// |                               metadata                                |
  • trunk/include/functions_user.inc.php

    r1582 r1583  
    9494    mass_inserts(USERS_TABLE, array_keys($insert), array($insert));
    9595
    96   // Assign by default one group
    97   if(isset($conf['default_group_id']))
     96  // Assign by default groups
    9897  {
    9998    $query = '
    100 select count(*) from '.GROUPS_TABLE.' where id = '.$conf['default_group_id'].';';
    101     list($exist_group) = mysql_fetch_array(pwg_query($query));
    102 
    103     if ($exist_group == 1)
    104     {
    105       $insert =
    106         array(
     99SELECT id
     100  FROM '.GROUPS_TABLE.'
     101  WHERE is_default = \''.boolean_to_string(true).'\'
     102  ORDER BY id ASC
     103;';
     104    $result = pwg_query($query);
     105
     106    $inserts = array();
     107    while ($row = mysql_fetch_array($result))
     108    {
     109      array_push
     110      (
     111        $inserts,
     112        array
     113        (
    107114          'user_id' => $next_id,
    108           'group_id' => $conf['default_group_id']
    109           );
    110 
     115          'group_id' => $row['id']
     116        )
     117      );
     118    }
     119
     120    if (count($inserts) != 0)
     121    {
    111122      include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
    112       mass_inserts(USER_GROUP_TABLE, array_keys($insert), array($insert));
     123      mass_inserts(USER_GROUP_TABLE, array('user_id', 'group_id'), $inserts);
    113124    }
    114125  }
  • trunk/install/phpwebgallery_structure.sql

    r1500 r1583  
    103103  `id` smallint(5) unsigned NOT NULL auto_increment,
    104104  `name` varchar(255) NOT NULL default '',
     105  `is_default` enum('true','false') NOT NULL default 'false',
    105106  PRIMARY KEY  (`id`)
    106107) TYPE=MyISAM;
  • trunk/language/en_UK.iso-8859-1/admin.lang.php

    r1580 r1583  
    243243$lang['group "%s" added'] = 'group "%s" added';
    244244$lang['group "%s" deleted'] = 'group "%s" deleted';
     245$lang['group "%s" updated'] = 'group "%s" updated';
    245246$lang['group'] = 'group';
    246247$lang['group_add_error1'] = 'The name of a group must not contain " or \' or be empty.';
     
    487488$lang['w_day'] = 'Day';
    488489$lang['waiting'] = 'Waiting';
     490$lang['is_default_group'] = 'default';
     491$lang['toggle_is_default_group'] = 'Toggle \'default group\' property';
    489492?>
  • trunk/language/fr_FR.iso-8859-1/admin.lang.php

    r1580 r1583  
    243243$lang['group "%s" added'] = 'groupe "%s" ajouté';
    244244$lang['group "%s" deleted'] = 'groupe "%s" supprimé';
     245$lang['group "%s" updated'] = 'groupe "%s" mis à jour';
    245246$lang['group'] = 'groupe';
    246247$lang['group_add_error1'] = 'Le nom du groupe ne doit pas contenir " or \' et ne doit pas être vide.';
     
    487488$lang['w_day'] = 'Jour';
    488489$lang['waiting'] = 'En attente';
     490$lang['is_default_group'] = 'par défaut';
     491$lang['toggle_is_default_group'] = 'Inverser la propriété \'groupe par défaut\'';
    489492?>
  • trunk/template/yoga/admin/group_list.tpl

    r1491 r1583  
    2525  <!-- BEGIN group -->
    2626  <tr class="{group.CLASS}">
    27     <td>{group.NAME}</td>
     27    <td>{group.NAME}<i><small>{group.IS_DEFAULT}</small></i></td>
    2828    <td><a href="{group.U_MEMBERS}">{group.MEMBERS}</a></td>
    2929    <td style="text-align:center;">
    3030      <a href="{group.U_PERM}"><img src="{themeconf:icon_dir}/permissions.png" class="button" style="border:none" alt="permissions" title="{lang:permissions}" /></a>
    3131      <a href="{group.U_DELETE}" onclick="return confirm('{lang:Are you sure?}');"><img src="{themeconf:icon_dir}/delete.png" class="button" style="border:none" alt="delete" title="{lang:delete}" {TAG_INPUT_ENABLED}/></a>
     32      <a href="{group.U_ISDEFAULT}" onclick="return confirm('{lang:Are you sure?}');"><img src="{themeconf:icon_dir}/toggle_is_default_group.png" class="button" style="border:none" alt="toggle_is_default_group" title="{lang:toggle_is_default_group}" {TAG_INPUT_ENABLED}/></a>
    3233    </td>
    3334  </tr>
Note: See TracChangeset for help on using the changeset viewer.