make cat list nicer

This commit is contained in:
Cornelius Weiß 2005-02-20 17:50:39 +00:00
parent c0867b777e
commit a8f3dcc2d0
3 changed files with 31 additions and 21 deletions

View File

@ -1,6 +1,3 @@
/* $Id: */
TODO: TODO:
- configuration dialog for admin section - configuration dialog for admin section
don't use vfs don't use vfs
@ -25,14 +22,10 @@ TODO:
add location functionality add location functionality
bug: loose html and picture on tab-switch (eTemplate bug --> Ralf) bug: loose html and picture on tab-switch (eTemplate bug --> Ralf)
use eTemplates input validation use eTemplates input validation
if only one cat is present --> chose it
bug: lang() returnmessages to often
make some returnmessages js dialogs
acl : the acl realy sucks! it was copied from news_admin and persumaly needs to be rewritten...
use of class.db / or even better no dirct access to tables!
use of class.acl
use of class.eTemplate
define admin for each used cat
add right 'direct book'
---- ----
if basics are working --> make it scheudable (meeting with ralf) if basics are working --> make it scheudable (meeting with ralf)

View File

@ -10,6 +10,8 @@
* -------------------------------------------- * * -------------------------------------------- *
\**************************************************************************/ \**************************************************************************/
/* $Id$ */
class bo_acl class bo_acl
{ {
/*! @var $permissions Holds alls permissions for resources of user */ /*! @var $permissions Holds alls permissions for resources of user */
@ -69,15 +71,28 @@
*/ */
function get_cats($perm_type) function get_cats($perm_type)
{ {
foreach($this->permissions as $cat_id => $rights) $cats = $this->egw_cats->return_sorted_array(0,False,'','','',!$type);
while (list(,$cat) = @each($cats))
{ {
if(strstr($cat_id,'L') && $rights & $perm_type) if($this->is_permitted($cat['id'],$perm_type))
{ {
$cat_id = substr($cat_id,1); for ($j=0,$s=''; $j < $cat['level']; $j++)
$readcats[$cat_id] = $this->egw_cats->id2name($cat_id); {
$s .= '&nbsp;';
}
$s .= $GLOBALS['phpgw']->strip_html($cat['name']);
if ($cat['app_name'] == 'phpgw')
{
$s .= '&nbsp;&lt;' . lang('Global') . '&gt;';
}
if ($cat['owner'] == '-1')
{
$s .= '&nbsp;&lt;' . lang('Global') . '&nbsp;' . lang($cat['app_name']) . '&gt;';
}
$perm_cats[$cat['id']] = $s;
} }
} }
return $readcats; return $perm_cats;
} }
/*! /*!
@ -116,6 +131,7 @@
return $this->so->get_rights('L'.$cat_id); return $this->so->get_rights('L'.$cat_id);
} }
// privat functions from here on ------------------------------------------------------------------------- // privat functions from here on -------------------------------------------------------------------------
function save_sessiondata() function save_sessiondata()
{ {

View File

@ -1,5 +1,5 @@
<center> <center>
<table border="0" cellspacing="2" cellpadding="2" width="60%"> <table border="0" cellspacing="2" cellpadding="2" width="80%">
<tr> <tr>
<td colspan="3" align="center" bgcolor="#c9c9c9"><b>{title}<b/></td> <td colspan="3" align="center" bgcolor="#c9c9c9"><b>{title}<b/></td>
</tr> </tr>
@ -22,7 +22,7 @@
</tr> </tr>
</table> </table>
<form method="POST"> <form method="POST">
<table border="0" cellspacing="2" cellpadding="2" width="60%"> <table border="0" cellspacing="2" cellpadding="2" width="80%">
<tr bgcolor="{th_bg}" valign="middle" align="center"> <tr bgcolor="{th_bg}" valign="middle" align="center">
<td>{sort_cat}<br>{lang_cat_admin}</td> <td>{sort_cat}<br>{lang_cat_admin}</td>
<td>{lang_read}</td> <td>{lang_read}</td>
@ -41,9 +41,10 @@
</tr> </tr>
<!-- END cat_list --> <!-- END cat_list -->
<tr> <tr>
<td colspan="4" align="center"> <td colspan="4" align="left">
<input type="submit" name="btnSave" value="{lang_save}"> &nbsp; <br>
<input type="submit" name="btnDone" value="{lang_done}"> <input type="submit" name="btnSave" value="{lang_save}"> &nbsp;
<input type="submit" name="btnDone" value="{lang_done}">
</td> </td>
</tr> </tr>
</table> </table>