forked from extern/egroupware
created a class to create the left menu for plugins
changed the code for editaccount and viewaccount
This commit is contained in:
parent
379260b37c
commit
8d7ba95ea6
@ -23,7 +23,7 @@
|
|||||||
// creates the html for the user data
|
// creates the html for the user data
|
||||||
function createPageBody($_account_id,$_userData='',$_errors='')
|
function createPageBody($_account_id,$_userData='',$_errors='')
|
||||||
{
|
{
|
||||||
global $phpgw, $phpgw_info, $t;
|
global $phpgw, $phpgw_info;
|
||||||
|
|
||||||
$t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
|
$t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
|
||||||
$t->set_unknowns('remove');
|
$t->set_unknowns('remove');
|
||||||
@ -258,8 +258,10 @@
|
|||||||
'permissions_list' => $appRightsOutput
|
'permissions_list' => $appRightsOutput
|
||||||
);
|
);
|
||||||
$t->set_var($var);
|
$t->set_var($var);
|
||||||
|
|
||||||
$phpgw->common->hook('edit_account');
|
// create the menu on the left, if needed
|
||||||
|
$menuClass = CreateObject('admin.uimenuclass');
|
||||||
|
$t->set_var('rows',$menuClass->createHTMLCode('edit_account'));
|
||||||
|
|
||||||
echo $t->fp('out','form');
|
echo $t->fp('out','form');
|
||||||
}
|
}
|
||||||
@ -280,10 +282,7 @@
|
|||||||
|
|
||||||
$apps = CreateObject('phpgwapi.applications',array(intval($_userData['account_id']),'u'));
|
$apps = CreateObject('phpgwapi.applications',array(intval($_userData['account_id']),'u'));
|
||||||
|
|
||||||
$apps->account_type = 'u';
|
|
||||||
$apps->account_id = $_userData['account_id'];
|
$apps->account_id = $_userData['account_id'];
|
||||||
$apps->account_apps = Array(Array());
|
|
||||||
$apps_before = $apps->read_account_specific();
|
|
||||||
if ($_userData['account_permissions'])
|
if ($_userData['account_permissions'])
|
||||||
{
|
{
|
||||||
while($app = each($_userData['account_permissions']))
|
while($app = each($_userData['account_permissions']))
|
||||||
@ -291,10 +290,6 @@
|
|||||||
if($app[1])
|
if($app[1])
|
||||||
{
|
{
|
||||||
$apps->add($app[0]);
|
$apps->add($app[0]);
|
||||||
if(!@$apps_before[$app[0]] || @$apps_before == False)
|
|
||||||
{
|
|
||||||
$apps_after[] = $app[0];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -408,44 +403,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// todo
|
// todo
|
||||||
// not needed if i use the same file for new users too
|
// not needed if i use the same file for new users too
|
||||||
if (! $account_id)
|
if (! $account_id)
|
||||||
@ -475,10 +432,27 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (!$errors = userDataInvalid($userData))
|
if (!$errors = userDataInvalid($userData))
|
||||||
{
|
{
|
||||||
saveUserData($userData);
|
saveUserData($userData);
|
||||||
Header('Location: ' . $phpgw->link('/admin/accounts.php', 'cd='.$cd));
|
// check if would create a menu
|
||||||
$phpgw->common->phpgw_exit();
|
// if we do, we can't return to the users list, because
|
||||||
|
// there are also some other plugins
|
||||||
|
$menuClass = CreateObject('admin.uimenuclass');
|
||||||
|
if (!$menuClass->createHTMLCode('edit_account'))
|
||||||
|
{
|
||||||
|
Header('Location: ' . $phpgw->link('/admin/accounts.php', 'cd='.$cd));
|
||||||
|
$phpgw->common->phpgw_exit();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$linkdata = array
|
||||||
|
(
|
||||||
|
'cd' => $cd,
|
||||||
|
'account_id' => $account_id
|
||||||
|
);
|
||||||
|
Header('Location: ' . $phpgw->link('/admin/editaccount.php', $linkdata));
|
||||||
|
$phpgw->common->phpgw_exit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -75,14 +75,14 @@
|
|||||||
$this->template->set_var('row_lo',$record['lo']);
|
$this->template->set_var('row_lo',$record['lo']);
|
||||||
$this->template->set_var('row_total',$record['total']);
|
$this->template->set_var('row_total',$record['total']);
|
||||||
|
|
||||||
$this->template->fp('rows','row',True);
|
$this->template->fp('rows_access','row',True);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $total_records && $account_id)
|
if (! $total_records && $account_id)
|
||||||
{
|
{
|
||||||
$this->nextmatchs->template_alternate_row_color(&$this->template);
|
$this->nextmatchs->template_alternate_row_color(&$this->template);
|
||||||
$this->template->set_var('row_message',lang('No login history exists for this user'));
|
$this->template->set_var('row_message',lang('No login history exists for this user'));
|
||||||
$this->template->fp('rows','row_empty',True);
|
$this->template->fp('rows_access','row_empty',True);
|
||||||
}
|
}
|
||||||
|
|
||||||
$loggedout = $this->bo->return_logged_out($account_id);
|
$loggedout = $this->bo->return_logged_out($account_id);
|
||||||
@ -106,6 +106,10 @@
|
|||||||
{
|
{
|
||||||
$this->template->set_var('lang_percent',lang('Percent of users that logged out') . ': ' . $percent . '%');
|
$this->template->set_var('lang_percent',lang('Percent of users that logged out') . ': ' . $percent . '%');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// create the menu on the left, if needed
|
||||||
|
$menuClass = CreateObject('admin.uimenuclass');
|
||||||
|
$this->template->set_var('rows',$menuClass->createHTMLCode('view_account'));
|
||||||
|
|
||||||
$this->template->pfp('out','list');
|
$this->template->pfp('out','list');
|
||||||
}
|
}
|
||||||
|
118
admin/inc/class.uimenuclass.inc.php
Normal file
118
admin/inc/class.uimenuclass.inc.php
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
<?php
|
||||||
|
/**************************************************************************\
|
||||||
|
* phpGroupWare - Administration *
|
||||||
|
* http://www.phpgroupware.org *
|
||||||
|
* -------------------------------------------- *
|
||||||
|
* 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$ */
|
||||||
|
|
||||||
|
class uimenuclass
|
||||||
|
{
|
||||||
|
function uimenuclass()
|
||||||
|
{
|
||||||
|
global $phpgw, $phpgw_info;
|
||||||
|
|
||||||
|
$this->t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('admin'));
|
||||||
|
|
||||||
|
$this->t->set_file(array('menurow' => 'menurow.tpl'));
|
||||||
|
$this->t->set_block('menurow','menu_links','menu_links');
|
||||||
|
$this->t->set_block('menurow','link_row','link_row');
|
||||||
|
|
||||||
|
$this->rowColor[0] = $phpgw_info["theme"]["row_on"];
|
||||||
|
$this->rowColor[1] = $phpgw_info["theme"]["row_off"];
|
||||||
|
}
|
||||||
|
|
||||||
|
function section_item($pref_link='',$pref_text='', $bgcolor)
|
||||||
|
{
|
||||||
|
global $phpgw, $phpgw_info, $t;
|
||||||
|
|
||||||
|
$this->t->set_var('row_link',$pref_link);
|
||||||
|
$this->t->set_var('row_text',$pref_text);
|
||||||
|
$this->t->set_var('tr_color',$bgcolor);
|
||||||
|
$this->t->parse('all_rows','link_row',True);
|
||||||
|
}
|
||||||
|
|
||||||
|
// $file must be in the following format:
|
||||||
|
// $file = Array(
|
||||||
|
// 'Login History' => array('/index.php','menuaction=admin.uiaccess_history.list')
|
||||||
|
// );
|
||||||
|
// This allows extra data to be sent along
|
||||||
|
function display_section($_menuData)
|
||||||
|
{
|
||||||
|
global $phpgw, $phpgw_info, $account_id;
|
||||||
|
|
||||||
|
$i=0;
|
||||||
|
|
||||||
|
while(list($key,$value) = each($_menuData))
|
||||||
|
{
|
||||||
|
if (!empty($value['extradata']))
|
||||||
|
{
|
||||||
|
$link = $phpgw->link($value['url'],'account_id=' . $account_id . '&' . $value['extradata']);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$link = $phpgw->link($value['url'],'account_id=' . $account_id);
|
||||||
|
}
|
||||||
|
$this->section_item($link,lang($value['description']),$this->rowColor[$i%2]);
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->t->set_var('th_bg',$phpgw_info["theme"]["th_bg"]);
|
||||||
|
|
||||||
|
$this->t->set_var('link_done',$phpgw->link('/admin/accounts.php'));
|
||||||
|
$this->t->set_var('lang_done',lang('back'));
|
||||||
|
$this->t->set_var('row_on',$this->rowColor[0]);
|
||||||
|
|
||||||
|
$this->t->parse("out","menu_links");
|
||||||
|
|
||||||
|
return $this->t->get('out','menu_links');
|
||||||
|
}
|
||||||
|
|
||||||
|
// create the html code for the menu
|
||||||
|
function createHTMLCode($_hookname)
|
||||||
|
{
|
||||||
|
global $phpgw, $menuData;
|
||||||
|
|
||||||
|
switch ($_hookname)
|
||||||
|
{
|
||||||
|
case 'edit_account':
|
||||||
|
$menuData[] = Array
|
||||||
|
(
|
||||||
|
'description' => 'userdata',
|
||||||
|
'url' => '/admin/editaccount.php',
|
||||||
|
'extradata' => ''
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 'view_account':
|
||||||
|
$menuData[] = Array
|
||||||
|
(
|
||||||
|
'description' => 'userdata',
|
||||||
|
'url' => '/admin/viewaccount.php',
|
||||||
|
'extradata' => ''
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$phpgw->common->hook($_hookname);
|
||||||
|
|
||||||
|
if (count($menuData) > 1)
|
||||||
|
{
|
||||||
|
$result = $this->display_section($menuData);
|
||||||
|
//clear $menuData
|
||||||
|
$menuData = '';
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// clear $menuData
|
||||||
|
$menuData = '';
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
@ -1,8 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
$title = $appname;
|
// Only Modify the $file and $title variables.....
|
||||||
$file = Array(
|
$data = Array
|
||||||
'Login History' => array('/index.php','menuaction=admin.uiaccess_history.list_history')
|
(
|
||||||
|
'description' => 'Login History',
|
||||||
|
'url' => '/index.php',
|
||||||
|
'extradata' => 'menuaction=admin.uiaccess_history.list_history'
|
||||||
);
|
);
|
||||||
|
|
||||||
display_section($appname,$title,$file);
|
//Do not modify below this line
|
||||||
|
global $menuData;
|
||||||
|
|
||||||
|
$menuData[] = $data;
|
||||||
?>
|
?>
|
@ -1,44 +1,46 @@
|
|||||||
<!-- BEGIN list -->
|
<!-- BEGIN list -->
|
||||||
<p>
|
<p>
|
||||||
{link_return_to_view_account}
|
<table border="0" align="center" width="95%">
|
||||||
<table border="0" align="center" width="95%">
|
<tr>
|
||||||
<tr>
|
{rows}
|
||||||
<td align="left">
|
<td>
|
||||||
{lang_last_x_logins}
|
<table border="0" align="center" width="100%">
|
||||||
</td>
|
<tr>
|
||||||
<td align="center" colspan="3">
|
<td align="left">
|
||||||
{showing}
|
{lang_last_x_logins}
|
||||||
</td>
|
</td>
|
||||||
<td align="right">
|
<td align="center" colspan="3">
|
||||||
|
{showing}
|
||||||
<table border="0">
|
</td>
|
||||||
<tr>
|
<td align="right">
|
||||||
{nextmatchs_left}
|
<table border="0">
|
||||||
|
<tr>
|
||||||
{nextmatchs_right}
|
{nextmatchs_left} {nextmatchs_right}
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr bgcolor="{th_bg}">
|
||||||
<tr bgcolor="{th_bg}">
|
<td>{lang_loginid}</td>
|
||||||
<td>{lang_loginid}</td>
|
<td>{lang_ip}</td>
|
||||||
<td>{lang_ip}</td>
|
<td>{lang_login}</td>
|
||||||
<td>{lang_login}</td>
|
<td>{lang_logout}</td>
|
||||||
<td>{lang_logout}</td>
|
<td>{lang_total}</td>
|
||||||
<td>{lang_total}</td>
|
</tr>
|
||||||
</tr>
|
|
||||||
|
{rows_access}
|
||||||
{rows}
|
|
||||||
|
<tr bgcolor="{bg_color}">
|
||||||
<tr bgcolor="{bg_color}">
|
<td colspan="5" align="left">{footer_total}</td>
|
||||||
<td colspan="5" align="left">{footer_total}</td>
|
</tr>
|
||||||
</tr>
|
|
||||||
|
<tr bgcolor="{bg_color}">
|
||||||
<tr bgcolor="{bg_color}">
|
<td colspan="5" align="left">{lang_percent}</td>
|
||||||
<td colspan="5" align="left">{lang_percent}</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
<!-- END list -->
|
<!-- END list -->
|
||||||
|
|
||||||
<!-- BEGIN row -->
|
<!-- BEGIN row -->
|
||||||
|
@ -5,16 +5,7 @@
|
|||||||
<center>
|
<center>
|
||||||
<table border="0" width="95%">
|
<table border="0" width="95%">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top">
|
{rows}
|
||||||
|
|
||||||
<table border="0" width="100%">
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
{rows}
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
<table border=0 width=100%>
|
<table border=0 width=100%>
|
||||||
|
@ -5,34 +5,36 @@
|
|||||||
<center>
|
<center>
|
||||||
<table border="0" width="95%">
|
<table border="0" width="95%">
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top">
|
{rows}
|
||||||
|
<td>
|
||||||
<table border="0" width="100%">
|
<table border="0" width="100%">
|
||||||
<tr bgcolor="{th_bg}">
|
<tr bgcolor="{th_bg}">
|
||||||
<td colspan="4"> </td>
|
<td colspan="4">
|
||||||
|
<b>{lang_action}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr bgcolor="{tr_color1}">
|
||||||
|
<td width="25%">
|
||||||
|
{lang_loginid}
|
||||||
|
</td>
|
||||||
|
<td width="25%">
|
||||||
|
{account_lid}
|
||||||
|
</td>
|
||||||
|
<td width="25%">
|
||||||
|
{lang_account_active}:
|
||||||
|
</td>
|
||||||
|
<td width="25%">
|
||||||
|
{account_status}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr bgcolor="{tr_color2}">
|
||||||
|
<td>{lang_firstname}</td>
|
||||||
|
<td>{account_firstname} </td>
|
||||||
|
<td>{lang_lastname}</td>
|
||||||
|
<td>{account_lastname} </td>
|
||||||
</tr>
|
</tr>
|
||||||
{rows}
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<table border="0" width="100%">
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td colspan="4"><b>{lang_action}</b></td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr bgcolor="{tr_color1}">
|
|
||||||
<td width="25%">{lang_loginid}</td>
|
|
||||||
<td width="25%">{account_lid} </td>
|
|
||||||
|
|
||||||
<td width="25%">{lang_account_active}:</td>
|
|
||||||
<td width="25%">{account_status}</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr bgcolor="{tr_color2}">
|
|
||||||
<td>{lang_firstname}</td>
|
|
||||||
<td>{account_firstname} </td>
|
|
||||||
<td>{lang_lastname}</td>
|
|
||||||
<td>{account_lastname} </td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr bgcolor="{tr_color2}">
|
<tr bgcolor="{tr_color2}">
|
||||||
<td>{lang_homedir}</td>
|
<td>{lang_homedir}</td>
|
||||||
@ -88,8 +90,3 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<!-- END form_logininfo -->
|
<!-- END form_logininfo -->
|
||||||
|
|
||||||
<!-- BEGIN link_row -->
|
|
||||||
<tr bgcolor="{tr_color}">
|
|
||||||
<td colspan="2"> <a href="{row_link}">{row_text}</a></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END link_row -->
|
|
||||||
|
27
admin/templates/default/menurow.tpl
Normal file
27
admin/templates/default/menurow.tpl
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<!-- BEGIN menu_links -->
|
||||||
|
<td valign="top" width="140">
|
||||||
|
|
||||||
|
<table border="0" width="100%">
|
||||||
|
<tr bgcolor="{th_bg}">
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
{all_rows}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="{row_on}">
|
||||||
|
<a href="{link_done}">{lang_done}</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<!-- END menu_links -->
|
||||||
|
<!-- BEGIN link_row -->
|
||||||
|
<tr bgcolor="{tr_color}">
|
||||||
|
<td colspan="2"> <a href="{row_link}">{row_text}</a></td>
|
||||||
|
</tr>
|
||||||
|
<!-- END link_row -->
|
@ -225,7 +225,10 @@
|
|||||||
|
|
||||||
$t->set_var('permissions_list',$appRightsOutput);
|
$t->set_var('permissions_list',$appRightsOutput);
|
||||||
|
|
||||||
$phpgw->common->hook('view_account');
|
// create the menu on the left, if needed
|
||||||
|
$menuClass = CreateObject('admin.uimenuclass');
|
||||||
|
$t->set_var('rows',$menuClass->createHTMLCode('view_account'));
|
||||||
|
|
||||||
$t->pfp('out','form');
|
$t->pfp('out','form');
|
||||||
$phpgw->common->phpgw_footer();
|
$phpgw->common->phpgw_footer();
|
||||||
?>
|
?>
|
||||||
|
Loading…
Reference in New Issue
Block a user