* * -------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * * Free Software Foundation; either version 2 of the License, or (at your * * option) any later version. * \**************************************************************************/ /* $Id$ */ if (! $account_id) { $phpgw_info['flags'] = array( 'nonavbar' => True, 'noheader' => True ); } $phpgw_info['flags']['enable_nextmatchs_class'] = True; $phpgw_info['flags']['currentapp'] = 'admin'; $phpgw_info['flags']['parent_page'] = 'accounts.php'; include('../header.inc.php'); if (! $account_id) { Header('Location: ' . $phpgw->link('/admin/accounts.php')); } function section_item($pref_link='',$pref_text='', $bgcolor) { global $phpgw, $phpgw_info, $t; $t->set_var('row_link',$pref_link); $t->set_var('row_text',$pref_text); $t->set_var('tr_color',$bgcolor); $t->parse('rows','link_row',True); } // $file must be in the follow format: // $file = Array( // 'Login History' => array('/index.php','menuaction=admin.uiaccess_history.list') // ); // This allows extra data to be sent along function display_section($appname,$title,$file) { global $phpgw, $phpgw_info, $account_id; $i = 0; $color[1] = $phpgw_info['theme']['row_off']; $color[0] = $phpgw_info['theme']['row_on']; while(list($text,$_url) = each($file)) { list($url,$extra_data) = $_url; if ($extra_data) { $link = $phpgw->link($url,'account_id=' . $account_id . '&' . $extra_data); } else { $link = $phpgw->link($url,'account_id=' . $account_id); } section_item($link,lang($text),$color[$i%2]); $i++; } } $t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); $t->set_unknowns('remove'); $t->set_file(array('account' => 'account_form.tpl')); $t->set_block('account','form','form'); $t->set_block('account','form_logininfo'); $t->set_block('account','link_row'); $t->set_var('th_bg',$phpgw_info['theme']['th_bg']); $t->set_var('tr_color1',$phpgw_info['theme']['row_on']); $t->set_var('tr_color2',$phpgw_info['theme']['row_off']); $t->set_var('lang_action',lang('View user account')); $t->set_var('lang_loginid',lang('LoginID')); $t->set_var('lang_account_active',lang('Account active')); $t->set_var('lang_password',lang('Password')); $t->set_var('lang_reenter_password',lang('Re-Enter Password')); $t->set_var('lang_lastname',lang('Last Name')); $t->set_var('lang_groups',lang('Groups')); $t->set_var('lang_firstname',lang('First Name')); $t->set_var('lang_lastlogin',lang('Last login')); $t->set_var('lang_lastloginfrom',lang('Last login from')); $t->set_var('lang_expires',lang('Expires')); $account = CreateObject('phpgwapi.accounts',$account_id); $userData = $account->read_repository(); $t->set_var('account_lid',$userData['account_lid']); $t->set_var('account_firstname',$userData['firstname']); $t->set_var('account_lastname',$userData['lastname']); // Account status if ($userData['status']) { $t->set_var('account_status',lang('Enabled')); } else { $t->set_var('account_status','' . lang('Disabled') . ''); } // Last login time if ($userData['lastlogin']) { $t->set_var('account_lastlogin',$phpgw->common->show_date($userData['lastlogin'])); } else { $t->set_var('account_lastlogin',lang('Never')); } // Last login IP if ($userData['lastloginfrom']) { $t->set_var('account_lastloginfrom',$userData['lastloginfrom']); } else { $t->set_var('account_lastloginfrom',lang('Never')); } $t->parse('password_fields','form_logininfo',True); // Account expires if ($userData['expires'] != -1) { $t->set_var('input_expires',$phpgw->common->show_date($userData['expires'])); } else { $t->set_var('input_expires',lang('Never')); } // Find out which groups they are members of $usergroups = $account->memberships(intval($account_id)); if (gettype($usergroups) != 'array') { $t->set_var('groups_select',lang('None')); } else { while (list(,$group) = each($usergroups)) { $group_names[] = $group['account_name']; } $t->set_var('groups_select',implode(',',$group_names)); } $loginid = $userData["account_lid"]; $account_lastlogin = $userData["account_lastlogin"]; $account_lastloginfrom = $userData["account_lastloginfrom"]; $account_status = $userData["account_status"]; // create list of available app $i = 0; $availableApps = $phpgw_info['apps']; @asort($availableApps); @reset($availableApps); while ($application = each($availableApps)) { if ($application[1]['enabled'] && $application[1]['status'] != 2) { $perm_display[$i]['appName'] = $application[0]; $perm_display[$i]['translatedName'] = $application[1]['title']; $i++; } } // create apps output $apps = CreateObject('phpgwapi.applications',intval($account_id)); $db_perms = $apps->read_account_specific(); @reset($db_perms); for ($i=0;$i<=count($perm_display);$i++) { $checked = ''; if ($_userData['account_permissions'][$perm_display[$i]['appName']] || $db_perms[$perm_display[$i]['appName']]) { $checked = '  X'; } else { $checked = ' '; } if ($perm_display[$i]['translatedName']) { $part1 = sprintf("%s%s",lang($perm_display[$i]['translatedName']),$checked); } $i++; if ($_userData['account_permissions'][$perm_display[$i]['appName']] || $db_perms[$perm_display[$i]['appName']]) { $checked = '  X'; } else { $checked = ' '; } if ($perm_display[$i]['translatedName']) { $part2 = sprintf("%s%s",lang($perm_display[$i]['translatedName']),$checked); } else { $part2 = ' '; } $appRightsOutput .= sprintf("$part1$part2\n",$phpgw_info["theme"]["row_on"]); } $t->set_var('permissions_list',$appRightsOutput); $phpgw->common->hook('view_account'); $t->pfp('out','form'); $phpgw->common->phpgw_footer(); ?>