added possibility to assign a color and an icon to a category

This commit is contained in:
Ralf Becker 2004-05-26 07:25:29 +00:00
parent 2a311ca452
commit a4f495d678
5 changed files with 154 additions and 180 deletions

View File

@ -3,6 +3,7 @@
* phpGroupWare - Preferences - categories *
* http://www.phpgroupware.org *
* Written by Bettina Gille [ceb@phpgroupware.org] *
* Simplified ;-) and icon & color added by RalfBecker@outdoor-training.de *
* ----------------------------------------------- *
* Copyright 2000 - 2003 Free Software Foundation, Inc *
* *
@ -28,7 +29,6 @@
var $public_functions = array
(
'index' => True,
'add' => True,
'edit' => True,
'delete' => True
);
@ -46,6 +46,18 @@
$this->query = $this->bo->query;
$this->sort = $this->bo->sort;
$this->order = $this->bo->order;
$dir = dir(PHPGW_SERVER_ROOT.'/phpgwapi/images');
while($file = $dir->read())
{
if (preg_match('/\\.(png|gif|jpe?g)$/i',$file))
{
$this->icons[] = $file;
}
}
$dir->close();
sort($this->icons);
$this->img_url = $GLOBALS['phpgw_info']['server']['webserver_url'].'/phpgwapi/images/';
}
function save_sessiondata($cats_app)
@ -62,9 +74,6 @@
function set_langs()
{
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
$GLOBALS['phpgw']->template->set_var('row_on',$GLOBALS['phpgw_info']['theme']['row_on']);
$GLOBALS['phpgw']->template->set_var('row_off',$GLOBALS['phpgw_info']['theme']['row_off']);
$GLOBALS['phpgw']->template->set_var('lang_access',lang('Private'));
$GLOBALS['phpgw']->template->set_var('lang_save',lang('Save'));
$GLOBALS['phpgw']->template->set_var('user_name',$this->user);
@ -79,13 +88,15 @@
$GLOBALS['phpgw']->template->set_var('lang_descr',lang('Description'));
$GLOBALS['phpgw']->template->set_var('lang_add',lang('Add'));
$GLOBALS['phpgw']->template->set_var('lang_reset',lang('Clear Form'));
$GLOBALS['phpgw']->template->set_var('lang_color',lang('Color'));
$GLOBALS['phpgw']->template->set_var('lang_icon',lang('Icon'));
}
function cat_data($edata,$data)
{
for ($j=0;$j<count($edata);$j++)
foreach ($edata as $name)
{
$td_data .= '<td>' . $data[$edata[$j]] . '</td>' . "\n";
$td_data .= '<td>' . ($name == 'icon' && $data['icon'] ? '<img src="'.$this->img_url.$data['icon'].'">' : $data[$name]) . '</td>' . "\n";
}
return $td_data;
}
@ -110,6 +121,10 @@
{
$edata = explode(',',$extra);
}
else
{
$edata = array('icon');
}
$GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps'][$cats_app]['title'].
'&nbsp;'.lang('categories for').':&nbsp;'.$this->user;
$GLOBALS['phpgw']->common->phpgw_header();
@ -140,6 +155,7 @@
}
$cats = $this->bo->get_list($global_cats);
if (!is_array($cats)) $cats = array();
//--------------------------------- nextmatch --------------------------------------------
@ -161,7 +177,7 @@
{
for($i=0;$i<count($edata);$i++)
{
$GLOBALS['phpgw']->template->set_var('sort_data','<td bgcolor="' . $GLOBALS['phpgw_info']['theme']['th_bg'] . '">' . lang($edata[$i]) . '</td>');
$GLOBALS['phpgw']->template->set_var('sort_data','<td class="th">' . lang($edata[$i]) . '</td>');
$GLOBALS['phpgw']->template->fp('column','data_column',True);
}
}
@ -172,15 +188,27 @@
// -------------------------- end header declaration --------------------------------------
for ($i=0;$i<count($cats);$i++)
foreach($cats as $cat)
{
$this->nextmatchs->template_alternate_row_color($GLOBALS['phpgw']->template);
$data = unserialize($cat['data']);
if ($cats[$i]['app_name'] == 'phpgw')
if ($data['color'])
{
$GLOBALS['phpgw']->template->set_var('tr_color',$data['color']);
$gray = (hexdec(substr($data['color'],1,2))+hexdec(substr($data['color'],3,2))+hexdec(substr($data['color'],5,2)))/3;
}
else
{
$this->nextmatchs->template_alternate_row_color($GLOBALS['phpgw']->template);
$gray = 255;
}
$GLOBALS['phpgw']->template->set_var('color',$gray < 128 ? 'style="color: white;"' : '');
if ($cat['app_name'] == 'phpgw')
{
$appendix = '&lt;' . lang('Global') . '&gt;';
}
elseif ($cats[$i]['owner'] == '-1')
elseif ($cat['owner'] == '-1')
{
$appendix = '&lt;' . lang('Global') . '&nbsp;' . $GLOBALS['phpgw_info']['apps'][$cats_app]['title'] . '&gt;';
}
@ -189,22 +217,21 @@
$appendix = '';
}
$level = $cats[$i]['level'];
$level = $cat['level'];
if ($level > 0)
{
$space = '&nbsp;&nbsp;';
$spaceset = str_repeat($space,$level);
$name = $spaceset . $GLOBALS['phpgw']->strip_html($cats[$i]['name']) . $appendix;
$name = $spaceset . $GLOBALS['phpgw']->strip_html($cat['name']) . $appendix;
}
$descr = $GLOBALS['phpgw']->strip_html($cats[$i]['description']);
$descr = $GLOBALS['phpgw']->strip_html($cat['description']);
if (!$descr) { $descr = '&nbsp;'; }
if (is_array($edata))
{
$data = unserialize($cats[$i]['data']);
if (! is_array($data))
if (!is_array($data))
{
$holder = '<td>&nbsp;</td>' . "\n";
$placeholder = str_repeat($holder,count($edata));
@ -218,7 +245,7 @@
if ($level == 0)
{
$name = '<font color="FF0000"><b>' . $GLOBALS['phpgw']->strip_html($cats[$i]['name']) . '</b></font>' . $appendix;
$name = '<font color="FF0000"><b>' . $GLOBALS['phpgw']->strip_html($cat['name']) . '</b></font>' . $appendix;
$descr = '<font color="FF0000"><b>' . $descr . '</b></font>';
}
@ -227,14 +254,15 @@
'descr' => $descr
));
$GLOBALS['phpgw']->template->set_var('app_url',$GLOBALS['phpgw']->link('/' . $cats_app . '/index.php','cat_id=' . $cats[$i]['id']));
$GLOBALS['phpgw']->template->set_var('app_url',$GLOBALS['phpgw']->link('/' . $cats_app . '/index.php','cat_id=' . $cat['id']));
if ($cats_level || ($level == 0))
{
if ($cats[$i]['owner'] == $this->account || $cats[$i]['app_name'] == 'phpgw')
if ($cat['owner'] == $this->account || $cat['app_name'] == 'phpgw')
{
$link_data['menuaction'] = 'preferences.uicategories.add';
$link_data['cat_parent'] = $cats[$i]['id'];
$link_data['menuaction'] = 'preferences.uicategories.edit';
$link_data['cat_parent'] = $cat['id'];
unset($link_data['cat_id']);
$GLOBALS['phpgw']->template->set_var('add_sub',$GLOBALS['phpgw']->link('/index.php',$link_data));
$GLOBALS['phpgw']->template->set_var('lang_sub_entry',lang('Add sub'));
}
@ -245,8 +273,8 @@
$GLOBALS['phpgw']->template->set_var('lang_sub_entry','&nbsp;');
}
$link_data['cat_id'] = $cats[$i]['id'];
if ($cats[$i]['owner'] == $this->account && $cats[$i]['app_name'] != 'phpgw')
$link_data['cat_id'] = $cat['id'];
if ($cat['owner'] == $this->account && $cat['app_name'] != 'phpgw')
{
$link_data['menuaction'] = 'preferences.uicategories.edit';
$GLOBALS['phpgw']->template->set_var('edit',$GLOBALS['phpgw']->link('/index.php',$link_data));
@ -266,121 +294,15 @@
}
$GLOBALS['phpgw']->template->fp('list','cat_list',True);
}
$link_data['menuaction'] = 'preferences.uicategories.add';
$link_data['menuaction'] = 'preferences.uicategories.edit';
unset($link_data['cat_id']);
unset($link_data['cat_parent']);
$GLOBALS['phpgw']->template->set_var('add_action',$GLOBALS['phpgw']->link('/index.php',$link_data));
$this->save_sessiondata($cats_app);
$GLOBALS['phpgw']->template->pfp('out','cat_list_t',True);
}
function add()
{
$cats_app = get_var('cats_app',array('GET','POST'));
$extra = get_var('extra',array('GET','POST'));
$global_cats = get_var('global_cats',array('GET','POST'));
$cats_level = get_var('cats_level',array('GET','POST'));
$link_data = array
(
'menuaction' => 'preferences.uicategories.add',
'cats_app' => $cats_app,
'extra' => $extra,
'global_cats' => $global_cats,
'cats_level' => $cats_level
);
$new_parent = $_POST['new_parent'];
$cat_parent = get_var('cat_parent',array('POST','GET'));
$cat_name = $_POST['cat_name'];
$cat_description = $_POST['cat_description'];
$cat_data = $_POST['cat_data'];
$cat_access = $_POST['cat_access'];
$GLOBALS['phpgw']->template->set_file(array('form' => 'category_form.tpl'));
$GLOBALS['phpgw']->template->set_block('form','data_row','row');
$GLOBALS['phpgw']->template->set_block('form','add','addhandle');
$GLOBALS['phpgw']->template->set_block('form','edit','edithandle');
$this->set_langs();
if ($new_parent)
{
$cat_parent = $new_parent;
}
if (!$global_cats)
{
$global_cats = False;
}
if ($_POST['save'])
{
$data = serialize($cat_data);
$values = array
(
'parent' => $cat_parent,
'descr' => $cat_description,
'name' => $cat_name,
'access' => $cat_access,
'data' => $data
);
$error = $this->bo->check_values($values);
if (is_array($error))
{
$GLOBALS['phpgw']->template->set_var('message',$GLOBALS['phpgw']->common->error_list($error));
}
else
{
$this->bo->save_cat($values);
return $this->index();
//$GLOBALS['phpgw']->template->set_var('message',lang('Category %1 has been added !', $cat_name));
}
}
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Add %1 category for',
$GLOBALS['phpgw_info']['apps'][$cats_app]['title']).':&nbsp;'.$this->user;
$GLOBALS['phpgw']->common->phpgw_header();
echo parse_navbar();
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php',$link_data));
if ($cats_level)
{
$type = 'all';
}
else
{
$type = 'mains';
}
$GLOBALS['phpgw']->template->set_var('category_list',$this->bo->cats->formated_list('select',$type,$cat_parent,$global_cats));
$GLOBALS['phpgw']->template->set_var('cat_name',$cat_name);
$GLOBALS['phpgw']->template->set_var('cat_description',$cat_description);
$GLOBALS['phpgw']->template->set_var('access','<input type="checkbox" name="cat_access" value="True"'
. ($cat_access == True ?' checked':'') . '>');
if ($extra)
{
$edata = explode(',',$extra);
for($i=0;$i<count($edata);$i++)
{
$GLOBALS['phpgw']->template->set_var('tr_color',$GLOBALS['phpgw']->nextmatchs->alternate_row_color());
$GLOBALS['phpgw']->template->set_var('td_data','<input name="cat_data[' . $edata[$i] . ']" size="50" value="' . $cat_data[$edata[$i]] . '">');
$GLOBALS['phpgw']->template->set_var('lang_data',lang($edata[$i]));
$GLOBALS['phpgw']->template->fp('row','data_row',True);
}
}
$link_data['menuaction'] = 'preferences.uicategories.index';
$GLOBALS['phpgw']->template->set_var('cancel_url',$GLOBALS['phpgw']->link('/index.php',$link_data));
$GLOBALS['phpgw']->template->set_var('edithandle','');
$GLOBALS['phpgw']->template->set_var('addhandle','');
$GLOBALS['phpgw']->template->pfp('out','form');
$GLOBALS['phpgw']->template->pfp('addhandle','add');
}
function edit()
{
$cats_app = get_var('cats_app',array('GET','POST'));
@ -398,12 +320,6 @@
'cats_level' => $cats_level,
'cat_id' => $cat_id
);
if (!$cat_id)
{
$GLOBALS['phpgw']->link_redirect('/index.php',$link_data);
}
$new_parent = $_POST['new_parent'];
$cat_parent = $_POST['cat_parent'];
$cat_name = $_POST['cat_name'];
@ -432,18 +348,20 @@
if ($_POST['save'])
{
$data = serialize($cat_data);
$values = array
(
'id' => $cat_id,
'id' => (int)$cat_id,
'parent' => $cat_parent,
'descr' => $cat_description,
'name' => $cat_name,
'access' => $cat_access,
'data' => $data,
'old_parent' => $old_parent
'data' => serialize($cat_data),
);
if ((int)$cat_id)
{
$values['id'] = (int)$cat_id;
$values['old_parent'] = $old_parent;
}
$error = $this->bo->check_values($values);
if (is_array($error))
@ -458,20 +376,30 @@
}
}
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Edit %1 category for',
$GLOBALS['phpgw_info']['apps'][$cats_app]['title']).':&nbsp;'.$this->user;
$GLOBALS['phpgw']->common->phpgw_header();
echo parse_navbar();
$cats = $this->bo->cats->return_single($cat_id);
if ($cat_id)
{
list($cat) = $this->bo->cats->return_single($cat_id);
$cat['data'] = unserialize($cat['data']);
}
else
{
$cat = array();
$cat['parent'] = $_GET['cat_parent'];
}
// update the old calendar color format, color was added to the description
if (preg_match('/(#[0-9a-fA-F]{6})\n?$/',$cat['description'],$matches))
{
$cat['data']['color'] = $matches[1];
$cat['description'] = str_replace($matches[1],'',$cat['description']);
}
$link_data['menuaction'] = 'preferences.uicategories.edit';
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php',$link_data));
$GLOBALS['phpgw']->template->set_var('cat_name',$GLOBALS['phpgw']->strip_html($cats[0]['name']));
$GLOBALS['phpgw']->template->set_var('cat_description',$GLOBALS['phpgw']->strip_html($cats[0]['description']));
$GLOBALS['phpgw']->template->set_var('cat_name',$GLOBALS['phpgw']->strip_html($cat['name']));
$GLOBALS['phpgw']->template->set_var('cat_description',$GLOBALS['phpgw']->strip_html($cat['description']));
$GLOBALS['phpgw']->template->set_var('hidden_vars','<input type="hidden" name="old_parent" value="' . $cats[0]['parent'] . '">');
$hidden_vars = '<input type="hidden" name="old_parent" value="' . $cat['parent'] . '">';
if ($cats_level)
{
@ -483,27 +411,55 @@
}
$GLOBALS['phpgw']->template->set_var('category_list',$this->bo->cats->formated_list(array(
'type' => $type,'selected' => $cats[0]['parent'],
'type' => $type,'selected' => $cat['parent'],
'globals' => $global_cats, 'self' => $cat_id
)));
$GLOBALS['phpgw']->template->set_var('access','<input type="checkbox" name="cat_access" value="True"'
. ($cats[0]['access'] == 'private' ? ' checked' : '') . '>');
. ($cat['access'] == 'private' ? ' checked' : '') . '>');
if (!is_object($GLOBALS['phpgw']->html))
{
$GLOBALS['phpgw']->html = CreateObject('phpgwapi.html');
}
$GLOBALS['phpgw']->template->set_var('color',$GLOBALS['phpgw']->html->inputColor('cat_data[color]',$cat['data']['color'],lang('Click to select a color')));
$options = '<option value=""'.(!$cat['data']['icon'] ? ' selected="1"':'').'>'.lang('none')."</options>\n";
foreach ($this->icons as $icon)
{
$options .= '<option value="'.$icon.'"'.($icon == $cat['data']['icon'] ? ' selected="1"':'').'>'.
ucfirst(preg_replace('/\\.(png|gif|jpe?g)$/i','',$icon))."</option>\n";
}
$GLOBALS['phpgw']->template->set_var('select_icon', '<select name="cat_data[icon]" onchange="document.images[\'icon\'].src=\''.$this->img_url.'\' + this.value;">'.$options."</select>\n");
$GLOBALS['phpgw']->template->set_var('icon','<img id="icon" src="'. $this->img_url.$cat['data']['icon'] .'">');
$already_done = array('icon','color');
if ($extra)
{
$edata = explode(',',$extra);
$data = unserialize($cats[0]['data']);
for($i=0;$i<count($edata);$i++)
foreach(explode(',',$extra) as $i => $name)
{
$GLOBALS['phpgw']->template->set_var('td_data','<input name="cat_data[' . $edata[$i] . ']" size="50" value="' . $data[$edata[$i]] . '">');
$GLOBALS['phpgw']->template->set_var('lang_data',lang($edata[$i]));
$GLOBALS['phpgw']->template->set_var('class',($i & 1) ? 'row_on' : 'row_off');
$GLOBALS['phpgw']->template->set_var('td_data','<input name="cat_data[' . htmlspecialchars($name) . ']" size="50" value="' . htmlspecialchars($cat['data'][$name]) . '">');
$GLOBALS['phpgw']->template->set_var('lang_data',lang($name));
$GLOBALS['phpgw']->template->fp('row','data_row',True);
$already_done[] = $name;
}
}
// preserv everything in the data array, not already shown via extra
if (is_array($cat['data']))
{
foreach($cat['data'] as $name => $value)
{
if (!in_array($name,$already_done))
{
$hidden_vars .= '<input type="hidden" name="cat_data['.htmlspecialchars($name).']" value="' . htmlspecialchars($value) . '">';
}
}
}
$GLOBALS['phpgw']->template->set_var('hidden_vars',$hidden_vars);
if ($cats[0]['owner'] == $this->account)
if ($cat['owner'] == $this->account)
{
$link_data['menuaction'] = 'preferences.uicategories.delete';
$GLOBALS['phpgw']->template->set_var('delete','<form method="POST" action="' . $GLOBALS['phpgw']->link('/index.php',$link_data)
@ -514,6 +470,11 @@
$GLOBALS['phpgw']->template->set_var('delete','&nbsp;');
}
$GLOBALS['phpgw_info']['flags']['app_header'] = lang($cat_id ? 'Edit %1 category for' : 'Add %1 category for',
$GLOBALS['phpgw_info']['apps'][$cats_app]['title']).':&nbsp;'.$this->user;
$GLOBALS['phpgw']->common->phpgw_header();
echo parse_navbar();
$GLOBALS['phpgw']->template->set_var('edithandle','');
$GLOBALS['phpgw']->template->set_var('addhandle','');
$GLOBALS['phpgw']->template->pfp('out','form');

View File

@ -12,6 +12,8 @@ automatically hide the sidebox menu's? preferences de Damit wird das seitliche M
change your password preferences de Passwort ändern
change your profile preferences de Profil ändern
change your settings preferences de Einstellungen ändern
click to select a color preferences de Anklicken um eine Farbe auszuwählen
color preferences de Farbe
country preferences de Land
date format preferences de Datumsformat
default preferences de Vorgabe
@ -33,6 +35,7 @@ how do you like to select accounts preferences de Wie sollen Benutzer ausgew
how many hours are you in front or after the timezone of the server.<br>if you are in the same time zone as the server select 0 hours, else select your locale date and time. preferences de Wieviele Stunden beträgt die Abweichung Ihrer Zeitzone von der Zeitzone des Servers?<br> Wenn Sie sich in derselben Zeitzone befinden, wählen Sie 0 Stunden, sonst wählen Sie Ihre lokalen Datum-/Zeiteinstellungen
how many icons should be shown in the navbar (top of the page). additional icons go into a kind of pulldown menu, callable by the icon on the far right side of the navbar. preferences de Wieviele Icons sollen in der Navigationsleiste am Kopf der Seite angezeigt werden. Zusätzliche Icons erscheinen in einem Pulldownmenü, das über ein Icon ganz rechts in der Navigation aufgerufen wird.
how should phpgroupware display dates for you. preferences de Wie soll eGroupWare das Datum für Sie anzeigen?
icon preferences de Icon
icons and text preferences de Icons und Text
icons only preferences de nur Icons
in which country are you. this is used to set certain defaults for you. preferences de In welchen Land befinden Sie sich? Damit werden verschiedene Voreinstellungen für Sie vorgenommen.
@ -42,7 +45,6 @@ max matches per page preferences de maximale Treffer pro Seite
max matchs per page preferences de Maximale Treffer pro Seite
max number of icons in navbar preferences de Maximale Anzahl von Icons in der Navigationsleiste
no default preferences de Keine Vorgabe
note: this feature does *not* change your email password. this will preferences de
note: this feature does *not* change your email password. this will need to be done manually. preferences de Hinweis: Diese Funktion ändert *nicht* Ihr Passwort auf dem E-Mail server. Dies müssen sie separat tun.
please, select a new theme preferences de Bitte ein neues Schema wählen
popup with search preferences de Popup mit Suche

View File

@ -10,6 +10,8 @@ are you sure you want to delete this category ? preferences en Are you sure you
change your password preferences en Change your Password
change your profile preferences en Change your profile
change your settings preferences en Change your Settings
click to select a color preferences en Click to select a color
color preferences en Color
country preferences en Country
date format preferences en Date format
default preferences en default
@ -27,15 +29,16 @@ hours preferences en hours
how do you like to display accounts preferences en How would you like to display accounts
how do you like to select accounts preferences en How would you like to select accounts
how many hours are you in front or after the timezone of the server.<br>if you are in the same time zone as the server select 0 hours, else select your locale date and time. preferences en How many hours are you in front or after the timezone of the server.<br>If you are in the same time zone as the server select 0 hours, else select your locale date and time.
How many icons should be shown in the navbar (top of the page). Additional icons go into a kind of pulldown menu, callable by the icon on the far right side of the navbar. preferences en How many icons should be shown in the navigation bar at the top of the page. Additional icons go into a pulldown menu, callable by the icon on the far right side of the navbar.
how many icons should be shown in the navbar (top of the page). additional icons go into a kind of pulldown menu, callable by the icon on the far right side of the navbar. preferences en How many icons should be shown in the navigation bar at the top of the page. Additional icons go into a pulldown menu, callable by the icon on the far right side of the navbar.
how should phpgroupware display dates for you. preferences en How should eGroupWare display dates for you.
icon preferences en Icon
icons and text preferences en Icons and text
icons only preferences en icons only
in which country are you. this is used to set certain defaults for you. preferences en In which country are you. This is used to set certain defaults for you.
interface/template selection preferences en Interface/Template Selection
language preferences en Language
max matches per page preferences en Max matches per page
Max number of icons in navbar preferences en Max number of icons in navigation bar
max number of icons in navbar preferences en Max number of icons in navigation bar
no default preferences en No default
note: this feature does *not* change your email password. this will need to be done manually. preferences en Note: This feature does *not* change your email password. This will need to be done manually.
please, select a new theme preferences en Please, select a new theme
@ -50,11 +53,11 @@ should the number of active sessions be displayed for you all the time. preferen
should this help messages shown up always, when you enter the preferences or only on request. preferences en Should these help messages always display when modifying preferences, or only on request.
show helpmessages by default preferences en Show help messages by default
show navigation bar as preferences en Show navigation bar as
show_more_apps common en Show More Applications
show number of current users preferences en Show number of current users
show text on navigation icons preferences en Show text on navigation icons
show_more_apps common en Show More Applications
text only preferences en Text only
The default application will be started when you enter phpGroupWare or click on the homepage icon.<br>You can also have more than one application showing up on the homepage, if you don't choose a specific application here (has to be configured in the preferences of each application). preferences en The default application will be started when you enter eGroupWare or click on the homepage icon.<br>You can also have more than one application showing up on the homepage, if you don't choose a specific application here (has to be configured in the preferences of each application).
the default application will be started when you enter phpgroupware or click on the homepage icon.<br>you can also have more than one application showing up on the homepage, if you don't choose a specific application here (has to be configured in the preferences of each application). preferences en The default application will be started when you enter eGroupWare or click on the homepage icon.<br>You can also have more than one application showing up on the homepage, if you don't choose a specific application here (has to be configured in the preferences of each application).
the selectbox shows all available users (can be very slow on big installs with many users). the popup can search users by name or group. preferences en The selectbox shows all available users (can be very slow on big installs with many users). The popup can search users by name or group.
the two passwords are not the same preferences en The two passwords are not the same
theme (colors/fonts) selection preferences en Theme (colors/fonts) Selection

View File

@ -5,25 +5,33 @@
<center>
{message}<br>
<table border="0" width="80%" cellspacing="2" cellpadding="2">
<form name="form" action="{actionurl}" method="POST">
<tr bgcolor="{th_bg}">
<form name="edit_cat" action="{actionurl}" method="POST">
<tr class="th">
<td colspan="2">{lang_parent}</td>
<td><select name="new_parent"><option value="">{lang_none}</option>{category_list}</select></td>
</tr>
<tr bgcolor="{row_on}">
<tr class="row_on">
<td colspan="2">{lang_name}</font></td>
<td><input name="cat_name" size="50" value="{cat_name}"></td>
</tr>
<tr bgcolor="{row_off}">
<tr class="row_off">
<td colspan="2">{lang_descr}</td>
<td colspan="2"><textarea name="cat_description" rows="4" cols="50" wrap="virtual">{cat_description}</textarea></td>
</tr>
<tr bgcolor="{row_on}">
<tr class="row_on">
<td colspan="2">{lang_access}</td>
<td colspan="2">{access}</td>
</tr>
<tr class="row_off">
<td colspan="2">{lang_color}</td>
<td colspan="2">{color}</td>
</tr>
<tr class="row_on">
<td colspan="2">{lang_icon}</td>
<td colspan="2">{select_icon} {icon}</td>
</tr>
<!-- BEGIN data_row -->
<tr bgcolor="{tr_color}">
<tr class="{class}">
<td colspan="2">{lang_data}</td>
<td>{td_data}</td>
</tr>

View File

@ -22,19 +22,19 @@
</tr>
</table>
<table border="0" cellspacing="2" cellpadding="2" width="80%">
<tr bgcolor="{th_bg}">
<td bgcolor="{th_bg}">{sort_name}</td>
<td bgcolor="{th_bg}">{sort_description}</td>
<tr class="th">
<td>{sort_name}</td>
<td>{sort_description}</td>
{sort_data}
<td bgcolor="{th_bg}" align="center">{lang_app}</td>
<td bgcolor="{th_bg}" align=center>{lang_sub}</td>
<td bgcolor="{th_bg}" align=center>{lang_edit}</td>
<td bgcolor="{th_bg}" align=center>{lang_delete}</td>
<td align="center">{lang_app}</td>
<td align=center>{lang_sub}</td>
<td align=center>{lang_edit}</td>
<td align=center>{lang_delete}</td>
</tr>
<!-- BEGIN cat_list -->
<tr bgcolor="{tr_color}">
<tr bgcolor="{tr_color}" {color}>
<td>{name}</td>
<td>{descr}</td>
{td_data}