phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] admin ./acl2_tester.php ./class.admin.php ./cla...


From: Dave Hall
Subject: [Phpgroupware-cvs] admin ./acl2_tester.php ./class.admin.php ./cla...
Date: Tue, 14 Feb 2006 08:48:22 +0000

CVSROOT:        /cvsroot/phpgroupware
Module name:    admin
Branch:         
Changes by:     Dave Hall <address@hidden>      06/02/14 08:48:21

Modified files:
        .              : acl2_tester.php class.admin.php class.base.php 
                         index.php navbar-create.php navbar-sel.php 
                         phpinfo.php testbutton.php 
        doc            : adminconfig.dvi adminconfig.lyx adminconfig.pdf 
                         adminconfig.ps adminconfig.sgml adminconfig.txt 
        help           : index.php 
        help/EN        : account.php admin.php other.php session.php 
        help/FI        : account.php admin.php other.php session.php 
        help/JA        : account.php admin.php other.php session.php 
        inc            : class.boaccess_history.inc.php 
                         class.boaccounts.inc.php 
                         class.boaclmanager.inc.php 
                         class.boapplications.inc.php 
                         class.bocategories.inc.php 
                         class.boconfig.inc.php 
                         class.bocurrentsessions.inc.php 
                         class.bolog.inc.php class.boserver.inc.php 
                         class.html.inc.php 
                         class.soaccess_history.inc.php 
                         class.soaccounts.inc.php 
                         class.soapplications.inc.php 
                         class.solog.inc.php class.soserver.inc.php 
                         class.uiaccess_history.inc.php 
                         class.uiaccounts.inc.php 
                         class.uiaclmanager.inc.php 
                         class.uiapplications.inc.php 
                         class.uiasyncservice.inc.php 
                         class.uicategories.inc.php 
                         class.uiconfig.inc.php 
                         class.uicurrentsessions.inc.php 
                         class.uilog.inc.php class.uimainscreen.inc.php 
                         class.uimenuclass.inc.php 
                         class.uiserver.inc.php hook_acl_manager.inc.php 
                         hook_add_def_pref.inc.php hook_admin.inc.php 
                         hook_after_navbar.inc.php 
                         hook_deleteaccount.inc.php hook_manual.inc.php 
                         hook_view_user.inc.php 
        setup          : phpgw_cs.lang phpgw_de.lang phpgw_en.lang 
                         phpgw_es.lang phpgw_fi.lang phpgw_fr.lang 
                         phpgw_ja.lang phpgw_pl.lang phpgw_pt.lang 
                         setup.inc.php 
        templates/base : accesslog.tpl account_form_ldap.tpl 
                         acl_accounts.tpl acl_applist.tpl 
                         acl_manager_form.tpl application_form.tpl 
                         applications.tpl config.tpl config_footer.tpl 
                         config_head.tpl currentusers.tpl 
                         delete_common.tpl form_button_script.tpl 
                         group_manager.tpl kill_session.tpl 
                         listservers.tpl log.tpl mainscreen_message.tpl 
                         menurow.tpl nntp.tpl server_form.tpl 
        templates/base/images: navbar.png 
Added files:
        templates/base/images: dot.gif navbar.gif 
        templates/desktop/images: navbar.png 
Removed files:
        templates/default: accesslog.tpl account_form_ldap.tpl 
                           acl_accounts.tpl acl_applist.tpl 
                           acl_manager_form.tpl addressmaster.xsl 
                           app_data.xsl application_form.tpl 
                           applications.tpl cats.xsl config.tpl 
                           config_footer.tpl config_head.tpl 
                           currentusers.tpl delete_account.tpl 
                           delete_common.tpl form_button_script.tpl 
                           group_manager.tpl groups.xsl kill_session.tpl 
                           listservers.tpl log.tpl 
                           mainscreen_message.tpl menurow.tpl 
                           message_row.tpl nntp.tpl server_form.tpl 
                           users.xsl 
        templates/default/images: dot.gif dot.png navbar.gif navbar.png 

Log message:
        switch to xslt admin, new tpl dirs, some fixes

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/acl2_tester.php.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/class.admin.php.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/class.base.php.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/index.php.diff?tr1=1.38&tr2=1.39&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/navbar-create.php.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/navbar-sel.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/phpinfo.php.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/testbutton.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/doc/adminconfig.dvi.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/doc/adminconfig.lyx.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/doc/adminconfig.pdf.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/doc/adminconfig.ps.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/doc/adminconfig.sgml.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/doc/adminconfig.txt.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/index.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/EN/account.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/EN/admin.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/EN/other.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/EN/session.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/FI/account.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/FI/admin.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/FI/other.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/FI/session.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/JA/account.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/JA/admin.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/JA/other.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/help/JA/session.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.boaccess_history.inc.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.boaccounts.inc.php.diff?tr1=1.39&tr2=1.40&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.boaclmanager.inc.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.boapplications.inc.php.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.bocategories.inc.php.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.boconfig.inc.php.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.bocurrentsessions.inc.php.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.bolog.inc.php.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.boserver.inc.php.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.html.inc.php.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.soaccess_history.inc.php.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.soaccounts.inc.php.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.soapplications.inc.php.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.solog.inc.php.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.soserver.inc.php.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uiaccess_history.inc.php.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uiaccounts.inc.php.diff?tr1=1.51&tr2=1.52&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uiaclmanager.inc.php.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uiapplications.inc.php.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uiasyncservice.inc.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uicategories.inc.php.diff?tr1=1.41&tr2=1.42&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uiconfig.inc.php.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uicurrentsessions.inc.php.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uilog.inc.php.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uimainscreen.inc.php.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uimenuclass.inc.php.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/class.uiserver.inc.php.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/hook_acl_manager.inc.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/hook_add_def_pref.inc.php.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/hook_admin.inc.php.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/hook_after_navbar.inc.php.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/hook_deleteaccount.inc.php.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/hook_manual.inc.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/inc/hook_view_user.inc.php.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_cs.lang.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_de.lang.diff?tr1=1.30&tr2=1.31&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_en.lang.diff?tr1=1.45&tr2=1.46&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_es.lang.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_fi.lang.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_fr.lang.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_ja.lang.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_pl.lang.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/phpgw_pt.lang.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/setup/setup.inc.php.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/accesslog.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/account_form_ldap.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/acl_accounts.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/acl_applist.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/acl_manager_form.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/application_form.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/applications.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/config.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/config_footer.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/config_head.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/currentusers.tpl.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/delete_common.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/form_button_script.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/group_manager.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/kill_session.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/listservers.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/log.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/mainscreen_message.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/menurow.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/nntp.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/server_form.tpl.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/images/dot.gif?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/images/navbar.gif?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/base/images/navbar.png.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/admin/templates/desktop/images/navbar.png?rev=1.1

Patches:
Index: admin/acl2_tester.php
diff -u admin/acl2_tester.php:1.3 admin/acl2_tester.php:1.4
--- admin/acl2_tester.php:1.3   Wed May 11 06:59:37 2005
+++ admin/acl2_tester.php       Tue Feb 14 08:48:20 2006
@@ -1,34 +1,13 @@
 <?php
-       /**
-       * Admin
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: acl2_tester.php,v 1.3 2005/05/11 06:59:37 powerstat Exp 
$
-       */
-
        $GLOBALS['phpgw_info']['flags']['currentapp'] = 'admin';
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../header.inc.php');
-       
-       /**
-       * Include API acl2 class
-       */
        include(PHPGW_API_INC . '/class.acl2.inc.php');
-
-
        //$sec = New acl(array('account_id'=>1));
        $sec = New acl2(1,'##DEFAULT##');
-    //echo 'phpgw:<pre>'; print_r($GLOBALS['phpgw']); echo '</pre>';
+//echo 'phpgw:<pre>'; print_r($GLOBALS['phpgw']); echo '</pre>';
        $sec->get_memberships();
-    //echo 'memberships_sql: '.$sec->memberships_sql.'<br>';
-    //echo 'memberships:<pre>'; print_r($sec->memberships); echo '</pre>';
-    
-    
+//echo 'memberships_sql: '.$sec->memberships_sql.'<br>';
+//echo 'memberships:<pre>'; print_r($sec->memberships); echo '</pre>';
        function ttt($location, $rights)
        {
                GLOBAL $sec;
Index: admin/class.admin.php
diff -u admin/class.admin.php:1.3 admin/class.admin.php:1.4
--- admin/class.admin.php:1.3   Wed May 11 06:59:37 2005
+++ admin/class.admin.php       Tue Feb 14 08:48:21 2006
@@ -1,20 +1,18 @@
 <?php
-       /**
-       * Administration
-       *
-       * @author Dan Kuykendall <address@hidden>
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.admin.php,v 1.3 2005/05/11 06:59:37 powerstat Exp 
$
-       */
+       
/**************************************************************************\
+       * phpGroupWare                                                          
   *
+       * http://www.phpgroupware.org                                           
   *
+       * This file written by Dan Kuykendall <address@hidden>                 *
+       * Copyright (C) 2003 Dan Kuykendall                                     
   *
+       * 
-------------------------------------------------------------------------*
+  * 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.admin.php,v 1.4 2006/02/14 08:48:21 skwashd Exp $ */
 
-       /**
-       * Administration
-       *
-       * @package admin
-       */
        class admin_admin
        {
                function adduser ()
@@ -27,7 +25,7 @@
                        $args->set('isadmin', False, 'bool');
                        $args = $args->get(func_get_args(),__LINE__,__FILE__);
 
-                       if(isset($args['username']))
+                       if(isset($args['username'])
                        {
                                $account_info['account_lid'] = 
$args['username'];
                                $account_info['account_passwd'] = 
$args['passwd'];
Index: admin/class.base.php
diff -u admin/class.base.php:1.2 admin/class.base.php:1.3
--- admin/class.base.php:1.2    Wed May 11 06:59:37 2005
+++ admin/class.base.php        Tue Feb 14 08:48:21 2006
@@ -1,20 +1,18 @@
 <?php
-       /**
-       * Administration
-       *
-       * @author Dan Kuykendall <address@hidden>
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.base.php,v 1.2 2005/05/11 06:59:37 powerstat Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare                                                          
   *
+       * http://www.phpgroupware.org                                           
   *
+       * This file written by Dan Kuykendall <address@hidden>                 *
+       * Copyright (C) 2003 Dan Kuykendall                                     
   *
+       * 
-------------------------------------------------------------------------*
+  * 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.base.php,v 1.3 2006/02/14 08:48:21 skwashd Exp $ */
 
-       /**
-       * Administration
-       *
-       * @package admin
-       */
        class admin_base
        {
                var $sec;
Index: admin/doc/adminconfig.dvi
Index: admin/doc/adminconfig.lyx
diff -u admin/doc/adminconfig.lyx:1.3 admin/doc/adminconfig.lyx:1.4
--- admin/doc/adminconfig.lyx:1.3       Thu Dec 30 07:38:14 2004
+++ admin/doc/adminconfig.lyx   Tue Feb 14 08:48:21 2006
@@ -69,6 +69,10 @@
 \layout Enumerate
 
 {hook_XXX} - Calls a function named XXX (will be discussed later).
+\layout Enumerate
+
+{checked_XXX+YYY} - Handles checkbox/radio values set to YYY or '' (will
+ be discussed later).
 \layout Standard
 
 Following is an example from the addressbook application:
@@ -175,7 +179,35 @@
 \layout Standard
 
 Here, we are adding a new element, {hook_country_set}.
- This brings up the next file we will need to parse this value...
+ This brings up the next file we will need to parse this value, 
hook_config.inc.ph
+p.
+ But first, let's look at the last template type, 'checked':
+\layout Code
+
+<input name="newsettings[enable_remote_addressbook]" type="radio" 
value=""{check
+ed_enable_remote_addressbook+}>{lang_no}
+\layout Code
+
+<input name="newsettings[enable_remote_addressbook]" type="radio" 
value="True"{c
+hecked_enable_remote_addressbook+True}>{lang_yes}
+\layout Standard
+
+We want to check the value of the setting 'enable_remote_addressbook'.
+ The value could be '' or 'True'.
+ We use the '+' character to isolate the config name from the check value.
+ If the value is empty or unset in the phpgw_config table, 
{checked_enable_remot
+e_addressbook+} is replaced with ' checked'.
+ If the value is 'True',{checked_enable_remote_addressbook+True} is replaced
+ with ' checked'.
+ Note that the part after the '+' character matches what is in the value=
+\begin_inset Quotes erd
+\end_inset 
+
+XXX
+\begin_inset Quotes erd
+\end_inset 
+
+ part in the html for this form element.
 \layout Subsection
 
 hook_config.inc.php (optional)
Index: admin/doc/adminconfig.pdf
Index: admin/doc/adminconfig.ps
diff -u admin/doc/adminconfig.ps:1.3 admin/doc/adminconfig.ps:1.4
--- admin/doc/adminconfig.ps:1.3        Thu Dec 30 07:38:14 2004
+++ admin/doc/adminconfig.ps    Tue Feb 14 08:48:21 2006
@@ -1,15 +1,15 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
 %%Title: adminconfig.dvi
-%%Pages: 6
+%%Pages: 1
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 612 792
-%%DocumentFonts: Helvetica-Bold Times-Roman Courier Times-Italic
+%%DocumentFonts: Times-Roman
 %%EndComments
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -t letter -o adminconfig.ps adminconfig.dvi
 %DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2001.12.22:1805
+%DVIPSSource:  TeX output 2002.03.19:1838
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -314,28 +314,13 @@
 
 %%EndProcSet
 TeXDict begin 40258431 52099146 1000 600 600 (adminconfig.dvi)
address@hidden /Fa 138[42 2[32 1[42 42 42 60 3[23 42 42 1[37
-42 37 1[42 9[69 15[60 16[42 42 42 42 42 42 1[23 21 43[42
-2[{TeXBase1Encoding ReEncodeFont}24 83.022 /Times-Italic
-rf /Fb 107[45 22[45 1[45 1[45 45 45 45 45 45 45 45 1[45
-45 45 45 45 45 1[45 45 45 45 45 45 45 45 45 1[45 1[45
-45 45 5[45 45 45 2[45 45 45 1[45 2[45 1[45 45 45 45 45
-45 45 2[45 45 45 45 45 7[45 1[45 45 45 45 45 1[45 45
-45 45 45 1[45 1[45 45 33[{TeXBase1Encoding ReEncodeFont}64
-74.7198 /Courier rf /Fc 137[66 73 40 1[47 73 73 73 73
-1[33 66 1[33 73 73 1[66 73 66 1[66 1[66 43[66 66 66 2[33
-4[40 40 37[73 2[{TeXBase1Encoding ReEncodeFont}25 119.552
-/Helvetica-Bold rf /Fd 140[80 6[40 2[40 3[80 30[88 20[80
-2[40 46[{TeXBase1Encoding ReEncodeFont}7 143.462 /Helvetica-Bold
-rf /Fe 107[37 22[40 1[40 1[42 42 60 42 42 23 32 28 1[42
-42 42 65 23 42 1[23 42 42 28 37 42 37 42 37 1[42 1[28
-1[28 2[60 78 2[51 46 55 1[46 60 60 74 51 2[28 60 60 46
-1[60 55 55 60 76 1[47 1[47 1[23 5[42 42 42 42 42 23 21
-28 21 2[28 28 28 2[42 32[46 46 2[{TeXBase1Encoding ReEncodeFont}66
-83.022 /Times-Roman rf /Ff 138[126 2[80 1[126 126 126
-184 3[57 126 126 1[115 126 115 1[115 9[195 15[161 23[57
-57 43[126 2[{TeXBase1Encoding ReEncodeFont}18 206.584
-/Helvetica-Bold rf end
address@hidden /Fa 107[37 22[40 1[40 1[42 42 60 42 42 23 32 28
+42 42 42 42 65 23 42 1[23 42 42 28 37 42 37 42 37 1[42
+1[28 23 28 1[60 60 78 1[60 51 46 55 1[46 60 60 74 51
+2[28 60 60 46 51 60 55 55 60 76 1[47 47 47 23 23 7[42
+42 42 23 21 28 21 47 42 28 28 28 65 1[42 1[34 28 29[46
+46 2[{TeXBase1Encoding ReEncodeFont}76 83.022 /Times-Roman
+rf end
 %%EndProlog
 %%BeginSetup
 %%Feature: *Resolution 600dpi
@@ -346,188 +331,180 @@
 
 %%EndSetup
 %%Page: 1 1
-1 0 bop Black 0 TeXcolorgray Black Black 505 647 a Ff(phpGr)l(oupW)-8
-b(are)58 b(admin/con\002g.php)695 879 y Fe(A)21 b(brief)e(introduction)
-f(to)i(writing)g(hooks)f(and)h(templates)g(for)f(an)o(y)h(application)e
-(to)j(use)f(this)695 987 y(admin)f(interf)o(ace,)h(by)695
-1136 y(Miles)h(Lott)f(<address@hidden)o(are.or)o(g)o(>)15
-b(Dec)20 b(22,)g(2001.)-2 1854 y Fd(1.)39 b(Files)-2
-2182 y Fc(1.1.)34 b(con\002g.tpl)h(\(required\))396 2350
-y Fe(In)20 b(your)f(application/templates/def)o(ault)e(directory)-5
-b(,)18 b(create)i(a)g(ne)n(w)g(template)g(\002le)h(named)e
-('con\002g.tpl'.)f(This)i(will)396 2458 y(be)g(included)f(by)h
-(con\002g.php)d(and)j(used)g(to)g(dra)o(w)g(the)g(page.)f(This)i
-(template)e(should)h(include)f(a)h(POST)h(method)396
-2566 y(form.)e(The)h(follo)n(wing)f(template)g(tags)i(may)e(be)i(used:)
-p Black 463 2798 a(1.)p Black 40 w({action_url})e(-)h(A)h(phpgw->link)c
-(to)j(con\002g.php)e(will)j(be)f(inserted.)p Black 463
-2947 a(2.)p Black 40 w({title})h(-)f(This)h(will)g(be)f(parsed)f(to)i
-(display)e('Site)i(Con\002guration'.)p Black 463 3097
-a(3.)p Black 40 w({th_bg},{th_te)o(xt},{ro)n(w_on)o(},{r)o(o)n(w_)o(of)
-m(f})15 b(-)20 b(Replaced)g(with)g(the)g(current)f(theme)h(colors.)396
-3246 y(and)g(the)g(follo)n(wing)f(special)h(types:)p
-Black 463 3479 a(1.)p Black 40 w({lang_XXX})f(-)i(Filled)f(with)h
-(lang\('XXX'\).)p Black 463 3628 a(2.)p Black 40 w({v)n(alue_XXX})e(-)h
-(Filled)h(with)f(the)g(current)f(v)n(alue)h(of)g(con\002g)f(item)h
-('XXX'.)p Black 463 3778 a(3.)p Black 40 w({selected_XXX})g(-)g(set)h
-(to)f(\224,)h(or)f(')g(selected')g(if)g(an)h(option)d(v)n(alue)i(is)h
-(current.)p Black 463 3927 a(4.)p Black 40 w({hook_XXX})d(-)j(Calls)g
-(a)g(function)d(named)h(XXX)i(\(will)f(be)h(discussed)f(later\).)396
-4077 y(F)o(ollo)n(wing)f(is)i(an)f(e)o(xample)f(from)g(the)h
-(addressbook)e(application:)396 4257 y Fb(<form)44 b(method="POST")f
-(action="{action_url}">)396 4354 y(<table)h(border="0")f
-(align="center">)441 4451 y(<tr)h(bgcolor="{th_bg}">)486
-4548 y(<td)g(colspan="2"><font)e
-(color="{th_text}">&nbsp;<b>{title}</b></f)o(ont><)o(/td>)441
-4645 y(</tr>)i(<tr)g(bgcolor="{th_err}">)486 4742 y(<td)g
-(colspan="2">&nbsp;<b>{error}</b></font></)o(td>)441
-4840 y(</tr>)p Black 3842 5278 a Fa(1)p Black eop
-%%Page: 2 2
-2 1 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8
-b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 396 579 a
-Fb(<!--)44 b(END)h(header)f(-->)396 676 y(<!--)g(BEGIN)g(body)h(-->)441
-773 y(<tr)f(bgcolor="{row_on}">)486 870 y(<td)g
-(colspan="2">&nbsp;</td>)441 967 y(</tr>)441 1065 y(<tr)g
-(bgcolor="{row_off}">)486 1162 y(<td)g
-(colspan="2">&nbsp;<b>{lang_Addressbook}/{)o(lang_C)o(ontact)o(_Setti)o
-(ngs}<)o(/b></f)o(ont>)396 1259 y(</td>)441 1356 y(</tr>)441
-1453 y(<tr)g(bgcolor="{row_on}">)486 1550 y
-(<td>{lang_Contact_application}:</td>)486 1647 y(<td><input)f
-(name="newsettings[contact_application]")38 b
-(value="{value_contact_application}"></td>)441 1745 y(</tr>)396
-1842 y(...)396 2130 y Fe(Note)20 b(the)h(\002eldname,)e(ne)n
-(wsettings[contact_application].)c(This)20 b(array)f(name)h(must)g(be)g
-(used)g(for)g(the)g(form)f(v)n(alues.)396 2238 y(Ne)o(xt,)h(note)g(the)
-g(v)n(alue)f(setting)i(for)e(this)i(form)e(element,)g({v)n
-(alue_contact_application}.)c(This)20 b(indicates)g(that)h(we)396
-2346 y(w)o(ant)g(the)f(current)f(v)n(alue)g(of)h(the)g(con\002g)g
-(setting,)g('contact_application',)c(to)k(be)g(set)h(and)f(displayed)f
-(on)g(the)i(form.)396 2454 y(Lastly)-5 b(,)20 b(look)f(at)i(the)f
-(template)g(element,)f({lang_Contact_application}.)d(Here,)j(the)i(v)n
-(alue)e(from)g(the)i(lang)e(db)h(table)396 2561 y(will)h(be)f(inserted)
-g(if)g(a)n(v)n(ailable.)396 2711 y(Let')-5 b(s)21 b(tak)o(e)f(a)h(look)
-e(at)i(part)f(of)g(the)g(preferences/def)o(ault/con\002g.tpl:)441
-2891 y Fb(<tr)44 b(bgcolor="{row_on}">)486 2988 y
-(<td>{lang_Country_Selection})c
-(\({lang_Text_Entry}/{lang_SelectBox}\):</)o(td>)486
-3085 y(<td>)531 3182 y(<select)j(name="newsettings[countrylist]">)396
-3280 y({hook_country_set})531 3377 y(</select>)486 3474
-y(</td>)441 3571 y(</tr>)396 3859 y Fe(Here,)20 b(we)h(are)f(adding)f
-(a)h(ne)n(w)g(element,)f({hook_country_set}.)d(This)k(brings)f(up)h
-(the)g(ne)o(xt)g(\002le)h(we)f(will)h(need)f(to)396 3967
-y(parse)g(this)h(v)n(alue...)-2 4337 y Fc(1.2.)34 b
-(hook_con\002g.inc.php)j(\(optional\))396 4504 y Fe(At)21
-b(each)f(in)m(v)n(ocation)e(of)i(con\002g.php,)d(a)k(call)g(to)f(the)g
-(common)f(class)i(function)d(hook_single\(\))f(is)k(made.)f(It)g
-(attempts)396 4612 y(to)h(include)e(a)h(\002le,)h
-(hook_con\002g.inc.php)14 b(as)21 b(a)g(set)g(of)f(code)f(for)h
-(con\002g.php)d(to)k(use.)f(In)g(the)g(case)h(of)f(the)g(preferences)
-396 4720 y(e)o(xample)f(abo)o(v)o(e,)f(using)i(hook_country_set,)15
-b(here)20 b(is)h(the)f(corresponding)d(function)i(in)396
-4828 y(preferences/inc/hook_con\002g.)o(inc.p)o(hp)o(:)p
-Black 3842 5278 a Fa(2)p Black eop
-%%Page: 3 3
-3 2 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8
-b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 396 579 a
-Fb(function)44 b(country_set\($config\))396 676 y({)576
-773 y($country)f(=)i(array\()f('user_choice')e(=>)j('Users)f(Choice',)f
-('force_select')f(=>)j('Force)f(Se-)396 870 y(lectbox')g(\);)576
-967 y(while)g(\(list)g(\($key,)f($value\))h(=)h(each)f(\($country\)\))
-576 1065 y({)755 1162 y(if)g(\($config['countrylist'])d(==)k($key\))755
-1259 y({)934 1356 y($selected)f(=)g(')h(selected';)755
-1453 y(})755 1550 y(else)755 1647 y({)934 1745 y($selected)f(=)g(\224;)
-755 1842 y(})755 1939 y($descr)g(=)g(lang\($value\);)755
-2036 y($out)g(.=)h('<option)e(value="')h(.)g($key)g(.)h('"')f(.)h
-($selected)e(.)i('>')f(.)h($descr)f(.)g('</option>')f(.)i("\\n";)576
-2133 y(})576 2230 y(return)e($out;)396 2327 y(})396 2615
-y Fe(Note)20 b(again)g(the)g(template)f(v)n(alue)h(we)h(used)e(earlier)
-m(,)h({hook_country_set}.)15 b(This)20 b(causes)h(con\002g.php)c(to)k
-(look)e(for)h(a)396 2723 y(function)f(named)g(country_set\(\).)e(Since)
-j(we)h(included)d(the)j(\002le)g(with)f(this)h(function)d(via)i(the)g
-(hook_single\(\))d(call,)396 2831 y(this)k(function)d(is)k(e)o(x)o
-(ecuted.)c(It')-5 b(s)21 b(return)e(is)i(a)f(string,)g(and)g(the)g
-(function)e(prints)i(nothing)f(itself.)-2 3201 y Fc(1.3.)34
-b(hook_con\002g_v)n(alidate)r(.inc.php)39 b(\(optional\))396
-3369 y Fe(Once)20 b(the)g(admin)g(clicks)g(the)g(submit)g(b)n(utton)f
-(to)i(post)f(the)g(form,)f(we)i(can)f(optionally)e(v)n(alidate)i(their)
-g(input)f(using)396 3477 y(one)h(or)g(man)o(y)f(dif)n(ferent)f
-(functions.)h(This)h(is)h(done)e(by)h(\002rst)h(making)e(another)g
-(call)h(to)h(hook_single\(\))c(in)j(the)g(API)396 3584
-y(common)f(class.)h(This)h(time,)f(the)g(name)g(con\002g_v)n(alidate)d
-(is)k(used,)f(so)h(common)d(tries)j(to)f(include)396
-3692 y('application/inc/hook_con\002g_)o(v)n(a)o(lidate.in)o(c.p)o(hp)o
-('.)396 3842 y(If)g(this)h(\002le)g(e)o(xists,)f(it)h(sets)g(a)g(v)n
-(ar)f(to)g(tell)h(con\002g.php)d(it)i(w)o(as)i(found.)c(F)o(ollo)n
-(wing)h(then)g(are)h(functions)f(named)g(after)396 3950
-y(each)h(con\002g)f(we)i(w)o(ant)f(to)h(v)n(alidate.)e(The)h(follo)n
-(wing)e(e)o(xample)h(is)i(for)f(addressbook:)576 4130
-y Fb($GLOBALS['phpgw_info']['server']['fou)o(nd_val)o(idatio)o(n_hook)o
-('])39 b(=)45 b(True;)576 4227 y(/*)f(Check)g(a)h(specific)e(setting.)h
-(Name)g(must)g(match)g(the)g(setting.)g(*/)576 4324 y(function)f
-(ldap_contact_context\($value=\224\))576 4421 y({)755
-4518 y(if\($value)g(==)i($GLOBALS['phpgw_info']['server']['ldap)o
-(_conte)o(xt']\))755 4616 y({)934 4713 y($GLOBALS['config_error'])c(=)k
-('Contact)e(context)h(for)g(ldap)g(must)g(be)h(differ-)396
-4810 y(ent)g(from)f(the)g(context)g(used)g(for)g(accounts';)p
-Black 3842 5278 a Fa(3)p Black eop
-%%Page: 4 4
-4 3 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8
-b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 755 579 a
-Fb(})755 676 y(elseif\($value)43 b(==)h
-($GLOBALS['phpgw_info']['server']['ldap_g)o(roup_)o(contex)o(t']\))755
-773 y({)934 870 y($GLOBALS['config_error'])d(=)k('Contact)e(context)h
-(for)g(ldap)g(must)g(be)h(differ-)396 967 y(ent)g(from)f(the)g(context)
-g(used)g(for)g(groups';)755 1065 y(})755 1162 y(else)755
-1259 y({)934 1356 y($GLOBALS['config_error'])d(=)k(\224;)755
-1453 y(})576 1550 y(})396 1838 y Fe(Here)20 b(we)f(created)g(a)h
-(function)e(to)i(check)e(the)i(entered)e(v)n(alue)h(for)g(the)g
-(con\002g)g(item,)g(ldap_contact_conte)o(xt.)c(W)-7 b(e)21
-b(w)o(ant)396 1946 y(to)g(mak)o(e)e(sure)h(the)h(admin)e(did)h(not)g
-(set)h(this)f(v)n(alue)g(to)g(one)g(which)g(w)o(ould)f(con\003ict)h
-(with)g(another)f(con\002g)g(item,)h(used)396 2054 y(for)g(accounts)f
-(or)h(groups)f(in)h(phpGroupW)-7 b(are.)396 2204 y(con\002g.php)18
-b(calls)j(this)g(function,)d(sending)h(it)i(the)f(POST)-6
-b(ed)20 b(v)n(alue.)f(con\002g.php)f(continues,)h(adding)g(all)h(other)
-g(con\002g)396 2312 y(items)h(from)e(the)h(POST)-6 b(ed)21
-b(v)n(alues.)396 2461 y(The)f(v)n(ariable)f($GLOB)m
-(ALS['con\002g_error'])c(is)21 b(parsed)f(through)e(lang\(\),)h(then)g
-(appended)f(to)j(the)f(local)g(v)n(ariable,)396 2569
-y($error)-5 b(.)19 b(If)h(this)h(has)f(an)o(y)g(v)n(alue)f(after)h(the)
-g(POST)-6 b(ed)20 b(v)n(ariables)g(are)g(check)o(ed,)f(the)h(form)f
-(then)h(has)g(its)h({error})e(tag)396 2677 y(\002lled)i(with)f(this)h
-(result.)f(The)g(form)f(is)i(displayed)e(again,)g(with)h(the)g(error)-5
-b(.)20 b(If)g($error)e(has)j(no)e(v)n(alue,)h(con\002g.php)396
-2785 y(redirects)g(to)g(admin/inde)o(x.php.)396 2934
-y(Ho)n(we)n(v)o(er)m(,)e(there)i(is)h(one)f(more)f(function)g(that)h
-(may)g(be)g(included)e(in)j(hook_con\002g_v)n(alidate.inc)o(.ph)o(p:)
-576 3114 y Fb(/*)44 b(Check)g(all)g(settings)g(to)g(validate)g(input.)g
-(Name)g(must)g(be)h('final_validation')c(*/)576 3212
-y(function)i(final_validation\($value=\224\))576 3309
-y({)755 3406 y(if\($value['contact_repository'])d(==)k('ldap')g(&&)g
-(!$value['ldap_contact_dn']\))755 3503 y({)934 3600 y
-($GLOBALS['config_error'])d(=)k('Contact)e(dn)i(must)f(be)g(set';)755
-3697 y(})755 3794 y(elseif\($value['contact_repository'])39
-b(==)44 b('ldap')g(&&)h(!$value['ldap_contact_context']\))755
-3891 y({)934 3989 y($GLOBALS['config_error'])c(=)k('Contact)e(context)h
-(must)g(be)h(set';)755 4086 y(})755 4183 y(else)755 4280
-y({)934 4377 y($GLOBALS['config_error'])c(=)k(\224;)755
-4474 y(})576 4571 y(})p Black 3842 5278 a Fa(4)p Black
-eop
-%%Page: 5 5
-5 4 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8
-b(ar)m(e)19 b(admin/con\002g)o(.php)p Black 396 579 a
-Fe(con\002g.php)f(checks)i(for)f(the)h(e)o(xistence)g(of)g(the)g
-(function)e('\002nal_v)n(alidation\(\)'.)f(This)j(function)e(can)i(be)g
-(used)g(to)396 687 y(check)g(all)g(form)g(v)n(alues)f(at)i(once.)e(It)i
-(gets)f(sent)h(the)f(entire)g($ne)n(wsettings)f(array)g(POST)-6
-b(ed)21 b(from)e(the)h(form.)f(As)i(with)396 795 y(the)f(other)g
-(functions)f(in)h(this)h(\002le,)f(\002nal_v)n(alidation\(\))d(should)j
-(set)h($GLOB)m(ALS['con\002g_error'])15 b(if)20 b(there)g(is)h(a)396
-903 y(problem.)p Black 3842 5278 a Fa(5)p Black eop
-%%Page: 6 6
-6 5 bop Black 0 TeXcolorgray Black 2778 67 a Fa(phpGr)l(oupW)-8
-b(ar)m(e)19 b(admin/con\002g)o(.php)p Black Black 3840
-5278 a(6)p Black eop
+1 0 bop Black Black -434 -417 a Fa(phpGroupW)-7 b(are)39
+b(admin/con\002g.php)81 b(A)42 b(brief)f(introduction)f(to)i(writing)f
+(hooks)g(and)g(templates)h(for)f(an)o(y)g(application)f(to)i(use)h
+(this)f(admin)f(interf)o(ace,)-600 -318 y(by)93 b(Miles)47
+b(Lott)g(<address@hidden)o(are.or)n(g)o(>)41 b(Dec)47
+b(22,)f(2001.)91 b(Files)k(con\002g.tpl)45 b(\(required\))91
+b(In)46 b(your)f(application/templates/def)o(ault)e(directory)-5
+b(,)-600 -218 y(create)38 b(a)g(ne)n(w)g(template)g(\002le)h(named)e
+('con\002g.tpl'.)e(This)k(will)g(be)f(included)e(by)i(con\002g.php)d
+(and)j(used)g(to)g(dra)o(w)g(the)g(page.)f(This)h(template)g(should)f
+(include)-600 -118 y(a)45 b(POST)g(method)f(form.)f(The)i(follo)n(wing)
+e(template)h(tags)h(may)f(be)h(used:)89 b({action_url})43
+b(-)i(A)g(phpgw->link)d(to)j(con\002g.php)d(will)k(be)e(inserted.)89
+b({title})-600 -19 y(-)50 b(This)g(will)g(be)f(parsed)g(to)h(display)f
+('Site)h(Con\002guration'.)97 b({th_bg},{th_te)o(xt},{ro)n(w_)o(on})o
+(,{ro)m(w_)o(of)n(f)o(})44 b(-)50 b(Replaced)f(with)h(the)f(current)g
+(theme)g(colors.)-600 81 y(and)c(the)g(follo)n(wing)e(special)i(types:)
+91 b({lang_XXX})44 b(-)h(Filled)h(with)f(lang\('XXX'\).)89
+b({v)n(alue_XXX})43 b(-)i(Filled)h(with)f(the)g(current)f(v)n(alue)h
+(of)f(con\002g)h(item)-600 180 y('XXX'.)95 b({selected_XXX})47
+b(-)h(set)h(to)e(\224,)h(or)g(')g(selected')f(if)h(an)g(option)e(v)n
+(alue)h(is)i(current.)94 b({hook_XXX})46 b(-)i(Calls)h(a)f(function)e
+(named)g(XXX)i(\(will)-600 280 y(be)54 b(discussed)g(later\).)109
+b({check)o(ed_XXX+YYY})51 b(-)k(Handles)f(checkbox/radio)c(v)n(alues)k
+(set)h(to)g(YYY)f(or)g(\224)h(\(will)f(be)h(discussed)f(later\).)108
+b(F)o(ollo)n(wing)-600 380 y(is)70 b(an)f(e)o(xample)e(from)h(the)h
+(addressbook)e(application:)g(<form)h(method="POST")f
+(action="{action_url}">)e(<table)k(border="0")d(align="center">)-600
+479 y(<tr)96 b(bgcolor="{th_bg}">)c(<td)k(colspan="2"><font)d
+(color="{th_te)o(xt}">&nbsp;<b>)o({title}</b>)o(</fon)o(t></td)o(>)e
+(</tr>)96 b(<tr)g(bgcolor="{th_err}">)-600 579 y(<td)62
+b(colspan="2">&nbsp;<b>{erro)o(r}</b)o(></fo)o(nt>)o(</td>)56
+b(</tr>)61 b(<!--)g(END)h(header)e(-->)i(<!--)f(BEGIN)g(body)f(-->)i
+(<tr)f(bgcolor="{ro)n(w_on}">)c(<td)-600 679 y(colspan="2">&nbsp;</td>)
+28 b(</tr>)33 b(<tr)g(bgcolor="{ro)n(w_of)n(f}">)27 b(<td)32
+b(colspan="2">&nbsp;<b>{lang_Ad)o(dre)o(ssbook)o(}/{lan)o(g_)o
+(Contact_)o(Setting)o(s}</b></f)o(on)o(t>)-600 778 y(</td>)121
+b(</tr>)g(<tr)h(bgcolor="{ro)n(w_on}">)116 b
+(<td>{lang_Contact_application}:</td)o(>)g(<td><input)j(name="ne)n
+(wsettings[contact_application])o(")-600 878 y(v)n(alue="{v)n
+(alue_contact_applicatio)o(n}")o(></td>)25 b(</tr>)31
+b(...)62 b(Note)30 b(the)h(\002eldname,)e(ne)n
+(wsettings[contact_application].)d(This)31 b(array)f(name)g(must)h(be)f
+(used)h(for)f(the)-600 977 y(form)e(v)n(alues.)h(Ne)o(xt,)g(note)f(the)
+i(v)n(alue)e(setting)h(for)g(this)h(form)e(element,)h({v)n
+(alue_contact_application}.)23 b(This)30 b(indicates)f(that)g(we)h(w)o
+(ant)f(the)g(current)f(v)n(alue)h(of)g(the)-600 1077
+y(con\002g)21 b(setting,)h('contact_application',)c(to)k(be)g(set)h
+(and)e(displayed)g(on)h(the)g(form.)f(Lastly)-5 b(,)21
+b(look)g(at)i(the)f(template)g(element,)f({lang_Contact_application}.)c
+(Here,)22 b(the)-600 1177 y(v)n(alue)k(from)g(the)h(lang)f(db)g(table)h
+(will)h(be)e(inserted)h(if)g(a)n(v)n(ailable.)53 b(Let')-5
+b(s)28 b(tak)o(e)e(a)i(look)e(at)h(part)f(of)h(the)g(preferences/def)o
+(ault/con\002g.tpl:)49 b(<tr)27 b(bgcolor="{ro)n(w_on}">)-600
+1276 y(<td>{lang_Country_Selection})35 b(\({lang_T)-6
+b(e)o(xt_Entry}/{lang_)o(SelectBox}\))o(:</td>)35 b(<td>)40
+b(<select)h(name="ne)n(wsettings[countrylist]">)36 b
+({hook_country_set})-600 1376 y(</select>)f(</td>)f(</tr>)70
+b(Here,)34 b(we)h(are)g(adding)e(a)i(ne)n(w)f(element,)g
+({hook_country_set}.)29 b(This)35 b(brings)f(up)g(the)g(ne)o(xt)g
+(\002le)i(we)e(will)i(need)e(to)g(parse)h(this)g(v)n(alue,)-600
+1476 y(hook_con\002g.inc.php.)56 b(But)62 b(\002rst,)g(let')-5
+b(s)63 b(look)d(at)j(the)e(last)i(template)e(type,)g('check)o(ed':)f
+(<input)g(name="ne)n(wsettings[enable_remote_ad)o(dr)o(essboo)o(k])o(")
+-600 1575 y(type="radio")36 b(v)n(alue=""{check)o(ed_enable_r)o(emo)o
+(te_ad)o(dr)o(essboo)o(k+}>)o({lang)o(_n)o(o})c(<input)38
+b(name="ne)n(wsettings[enable_remo)o(te_ad)o(dr)o(essboo)o(k]")32
+b(type="radio")-600 1675 y(v)n(alue="T)m(rue"{check)o(ed_enab)o(le_re)o
+(mo)o(te_ad)o(dr)o(essboo)o(k+T)l(rue})o(>{lang)o(_y)o(es})g(W)-7
+b(e)20 b(w)o(ant)f(to)f(check)g(the)h(v)n(alue)e(of)i(the)f(setting)h
+('enable_remote_addressboo)o(k')o(.)13 b(The)-600 1774
+y(v)n(alue)18 b(could)h(be)g(\224)g(or)g('T)m(rue'.)f(W)-7
+b(e)20 b(use)g(the)f('+')g(character)f(to)h(isolate)h(the)f(con\002g)f
+(name)h(from)f(the)h(check)f(v)n(alue.)h(If)g(the)g(v)n(alue)f(is)i
+(empty)f(or)g(unset)g(in)g(the)g(phpgw_con\002g)-600
+1874 y(table,)38 b({check)o(ed_enable_remote_ad)o(dr)o(essboo)o(k+})32
+b(is)40 b(replaced)d(with)h(')h(check)o(ed'.)d(If)j(the)f(v)n(alue)g
+(is)h('T)m(rue',{check)o(ed_enable_r)o(emo)o(te_ad)o(dr)o(essboo)o(k+T)
+l(rue)o(})-600 1974 y(is)29 b(replaced)d(with)i(')g(check)o(ed'.)e
+(Note)h(that)h(the)g(part)f(after)g(the)h('+')f(character)g(matches)g
+(what)h(is)g(in)g(the)g(v)n(alue=\224XXX\224)e(part)i(in)g(the)f(html)h
+(for)f(this)h(form)f(element.)-600 2073 y(hook_con\002g.inc.php)19
+b(\(optional\))49 b(At)26 b(each)f(in)m(v)n(ocation)e(of)i
+(con\002g.php,)e(a)i(call)h(to)f(the)g(common)f(class)i(function)d
+(hook_single\(\))f(is)27 b(made.)d(It)h(attempts)g(to)h(include)-600
+2173 y(a)31 b(\002le,)g(hook_con\002g.inc.php)24 b(as)31
+b(a)g(set)g(of)f(code)g(for)g(con\002g.php)d(to)k(use.)f(In)g(the)h
+(case)f(of)g(the)h(preferences)d(e)o(xample)h(abo)o(v)o(e,)g(using)g
+(hook_country_set,)d(here)k(is)-600 2273 y(the)39 b(corresponding)d
+(function)i(in)i(preferences/inc/hook_con)o(\002g.in)o(c.ph)o(p:)34
+b(function)j(country_set\($con\002g\))e({)40 b($country)d(=)j(array\()e
+('user_choice')f(=>)j('Users)-600 2372 y(Choice',)30
+b('force_select')e(=>)j('F)o(orce)e(Selectbox')h(\);)g(while)h(\(list)g
+(\($k)o(e)o(y)-5 b(,)29 b($v)n(alue\))g(=)h(each)h(\($country\)\))c({)k
+(if)f(\($con\002g['countrylist'])c(==)31 b($k)o(e)o(y\))e({)i
+($selected)f(=)h(')-600 2472 y(selected';)23 b(})g(else)h({)g
+($selected)e(=)i(\224;)f(})h($descr)e(=)i(lang\($v)n(alue\);)c($out)i
+(.=)i('<option)d(v)n(alue="')h(.)h($k)o(e)o(y)f(.)i('"')e(.)i
+($selected)f(.)g('>')g(.)g($descr)g(.)g('</option>')e(.)i("\\n";)g(})h
+(return)-600 2571 y($out;)31 b(})63 b(Note)31 b(again)g(the)g(template)
+g(v)n(alue)g(we)g(used)g(earlier)m(,)g({hook_country_set}.)26
+b(This)31 b(causes)h(con\002g.php)d(to)i(look)g(for)f(a)i(function)e
+(named)g(country_set\(\).)-600 2671 y(Since)j(we)g(included)e(the)i
+(\002le)h(with)f(this)g(function)e(via)i(the)g(hook_single\(\))c(call,)
+34 b(this)f(function)e(is)j(e)o(x)o(ecuted.)c(It')-5
+b(s)34 b(return)e(is)h(a)h(string,)e(and)g(the)h(function)e(prints)-600
+2771 y(nothing)25 b(itself.)54 b(hook_con\002g_v)n(alidate.in)o(c.p)o
+(hp)20 b(\(optional\))52 b(Once)26 b(the)h(admin)e(clicks)i(the)f
+(submit)g(b)n(utton)g(to)g(post)h(the)f(form,)g(we)g(can)h(optionally)d
+(v)n(alidate)i(their)-600 2870 y(input)j(using)h(one)g(or)g(man)o(y)f
+(dif)n(ferent)f(functions.)h(This)h(is)h(done)e(by)h(\002rst)h(making)e
+(another)f(call)j(to)f(hook_single\(\))d(in)k(the)f(API)g(common)e
+(class.)j(This)g(time,)f(the)-600 2970 y(name)k(con\002g_v)n(alidate)e
+(is)j(used,)f(so)h(common)d(tries)j(to)g(include)e
+('application/inc/hook_con\002g_)o(v)n(alid)o(ate.in)o(c.ph)o(p')o(.)64
+b(If)34 b(this)h(\002le)g(e)o(xists,)g(it)g(sets)h(a)f(v)n(ar)f(to)g
+(tell)-600 3070 y(con\002g.php)c(it)j(w)o(as)g(found.)e(F)o(ollo)n
+(wing)g(then)h(are)h(functions)e(named)g(after)h(each)g(con\002g)g(we)h
+(w)o(ant)f(to)h(v)n(alidate.)f(The)g(follo)n(wing)f(e)o(xample)g(is)i
+(for)f(addressbook:)-600 3169 y($GLOB)m(ALS['phpgw_info'][')-5
+b(serv)n(er')o(][)o('fo)o(un)o(d_)o(v)n(alid)o(ation)o(_h)o(oo)o(k'])35
+b(=)41 b(T)m(rue;)f(/*)h(Check)g(a)g(speci\002c)g(setting.)f(Name)h
+(must)g(match)f(the)h(setting.)g(*/)g(function)-600 3269
+y(ldap_contact_conte)o(xt\($v)n(a)o(lue=\224\))e({)45
+b(if\($v)n(alue)f(==)h($GLOB)m(ALS['phpgw_info'][')-6
+b(serv)o(er)o('][)o(')o(ldap)o(_c)o(on)o(te)o(xt')o(]\))39
+b({)46 b($GLOB)m(ALS['con\002g_error'])40 b(=)45 b('Contact)-600
+3368 y(conte)o(xt)17 b(for)g(ldap)h(must)g(be)g(dif)n(ferent)f(from)g
+(the)h(conte)o(xt)f(used)h(for)f(accounts';)g(})h(elseif\($v)n(alue)f
+(==)h($GLOB)m(ALS['phpgw_info'][')-5 b(serv)n(er')o(][')n(ldap)o(_g)o
+(rou)o(p_)o(con)o(te)o(x)o(t']\))-600 3468 y({)22 b($GLOB)m
+(ALS['con\002g_error'])16 b(=)21 b('Contact)g(conte)o(xt)e(for)i(ldap)f
+(must)i(be)f(dif)n(ferent)e(from)h(the)h(conte)o(xt)f(used)h(for)f
+(groups';)g(})h(else)h({)f($GLOB)m(ALS['con\002g_error'])16
+b(=)-600 3568 y(\224;)24 b(})h(})48 b(Here)24 b(we)g(created)f(a)h
+(function)f(to)h(check)f(the)g(entered)g(v)n(alue)g(for)h(the)f
+(con\002g)g(item,)h(ldap_contact_conte)o(xt.)19 b(W)-7
+b(e)25 b(w)o(ant)f(to)g(mak)o(e)g(sure)f(the)h(admin)f(did)h(not)f(set)
+-600 3667 y(this)d(v)n(alue)f(to)g(one)g(which)g(w)o(ould)g(con\003ict)
+g(with)h(another)e(con\002g)g(item,)i(used)f(for)g(accounts)f(or)h
+(groups)f(in)i(phpGroupW)-7 b(are.)36 b(con\002g.php)17
+b(calls)k(this)e(function,)f(sending)-600 3767 y(it)j(the)g(POST)-6
+b(ed)21 b(v)n(alue.)f(con\002g.php)e(continues,)h(adding)g(all)j(other)
+e(con\002g)f(items)j(from)d(the)i(POST)-6 b(ed)21 b(v)n(alues.)41
+b(The)21 b(v)n(ariable)e($GLOB)m(ALS['con\002g_error'])d(is)22
+b(parsed)-600 3867 y(through)e(lang\(\),)h(then)h(appended)e(to)j(the)f
+(local)h(v)n(ariable,)e($error)-5 b(.)21 b(If)h(this)h(has)g(an)o(y)f
+(v)n(alue)f(after)h(the)h(POST)-6 b(ed)22 b(v)n(ariables)g(are)g(check)
+o(ed,)f(the)i(form)e(then)h(has)h(its)g({error})-600
+3966 y(tag)f(\002lled)g(with)f(this)i(result.)e(The)g(form)g(is)h
+(displayed)f(again,)f(with)i(the)g(error)-5 b(.)20 b(If)i($error)e(has)
+i(no)f(v)n(alue,)g(con\002g.php)e(redirects)i(to)g(admin/inde)o(x.php.)
+40 b(Ho)n(we)n(v)o(er)m(,)19 b(there)-600 4066 y(is)i(one)e(more)g
+(function)f(that)i(may)g(be)g(included)e(in)i(hook_con\002g_v)n
+(alidate.inc.)o(ph)o(p:)35 b(/*)20 b(Check)g(all)g(settings)g(to)g(v)n
+(alidate)f(input.)g(Name)h(must)g(be)g('\002nal_v)n(alidation')d(*/)
+-600 4165 y(function)36 b(\002nal_v)n(alidation\($v)n(alue=\224\))c({)
+38 b(if\($v)n(alue['contact_repository)o('])32 b(==)38
+b(')o(ldap')e(&&)i(!$v)n(alue[')o(ldap_contact_d)o(n')o(]\))32
+b({)38 b($GLOB)m(ALS['con\002g_error'])32 b(=)-600 4265
+y('Contact)37 b(dn)g(must)h(be)f(set';)h(})g(elseif\($v)n
+(alue['contact_repositor)o(y'])31 b(==)38 b(')o(ldap')f(&&)g(!$v)n
+(alue[')o(ldap_contact_co)o(nte)n(xt'])o(\))32 b({)38
+b($GLOB)m(ALS['con\002g_error'])32 b(=)-600 4365 y('Contact)24
+b(conte)o(xt)f(must)i(be)f(set';)h(})g(else)h({)f($GLOB)m
+(ALS['con\002g_error'])19 b(=)25 b(\224;)g(})g(})50 b(con\002g.php)22
+b(checks)i(for)g(the)g(e)o(xistence)g(of)g(the)h(function)e('\002nal_v)
+n(alidation\(\)'.)-600 4464 y(This)31 b(function)e(can)i(be)g(used)g
+(to)g(check)f(all)i(form)e(v)n(alues)g(at)i(once.)e(It)h(gets)h(sent)f
+(the)g(entire)g($ne)n(wsettings)f(array)g(POST)-6 b(ed)31
+b(from)f(the)h(form.)f(As)h(with)h(the)f(other)-600 4564
+y(functions)19 b(in)h(this)h(\002le,)f(\002nal_v)n(alidation\(\))e
+(should)h(set)i($GLOB)m(ALS['con\002g_error'])15 b(if)20
+b(there)g(is)h(a)g(problem.)p Black Black eop
 %%Trailer
 end
 userdict /end-hook known{end-hook}if
Index: admin/doc/adminconfig.sgml
diff -u admin/doc/adminconfig.sgml:1.3 admin/doc/adminconfig.sgml:1.4
--- admin/doc/adminconfig.sgml:1.3      Thu Dec 30 07:38:14 2004
+++ admin/doc/adminconfig.sgml  Tue Feb 14 08:48:21 2006
@@ -68,6 +68,11 @@
     &lcub;hook_XXX&rcub; - Calls a function named XXX (will be discussed 
later).
     </para>
    </listitem>
+    <listitem>
+    <para>
+    &lcub;checked_XXX+YYY&rcub; - Handles checkbox/radio values set to YYY or 
'' (will be discussed later).
+    </para>
+   </listitem>
    </orderedlist>
    <para>
     Following is an example from the addressbook application:
@@ -112,7 +117,14 @@
 ]]><![ CDATA [ </tr>
 ]]>   </programlisting>
    <para>
-    Here, we are adding a new element, &lcub;hook_country_set&rcub;. This 
brings up the next file we will need to parse this value...
+    Here, we are adding a new element, &lcub;hook_country_set&rcub;. This 
brings up the next file we will need to parse this value, hook_config.inc.php. 
But first, let's look at the last template type, 'checked':
+   </para>
+   <programlisting>
+<![ CDATA [<input name="newsettings[enable_remote_addressbook]" type="radio" 
value=""{checked_enable_remote_addressbook+}>{lang_no}
+]]><![ CDATA [<input name="newsettings[enable_remote_addressbook]" 
type="radio" value="True"{checked_enable_remote_addressbook+True}>{lang_yes}
+]]>   </programlisting>
+   <para>
+    We want to check the value of the setting 'enable_remote_addressbook'. The 
value could be '' or 'True'. We use the '+' character to isolate the config 
name from the check value. If the value is empty or unset in the phpgw_config 
table, &lcub;checked_enable_remote_addressbook+&rcub; is replaced with ' 
checked'. If the value is 
'True',&lcub;checked_enable_remote_addressbook+True&rcub; is replaced with ' 
checked'. Note that the part after the '+' character matches what is in the 
value=&rdquo;XXX&rdquo; part in the html for this form element.
    </para>
    </sect2>
    <sect2>
Index: admin/doc/adminconfig.txt
diff -u admin/doc/adminconfig.txt:1.4 admin/doc/adminconfig.txt:1.5
--- admin/doc/adminconfig.txt:1.4       Thu Dec 30 07:38:14 2004
+++ admin/doc/adminconfig.txt   Tue Feb 14 08:48:21 2006
@@ -1,10 +1,15 @@
 
+
 phpGroupWare admin/config.php
 
 Abstract
 
-A brief introduction to writing hooks and templates for any application to use
-this admin interface, by Miles Lott <address@hidden> Dec 22, 2001.
+A brief introduction to writing hooks and templates for any
+application to use this admin interface, by
+
+Abstract
+
+Miles Lott <address@hidden> Dec 22, 2001.
 
 1 Files
 
@@ -17,39 +22,70 @@
 may be used:
 
 1. {action_url} - A phpgw->link to config.php will be inserted.
+
 2. {title} - This will be parsed to display 'Site Configuration'.
-3. {th_bg},{th_text},{row_on},{row_off} - Replaced with the current theme 
colors.
+
+3. {th_bg},{th_text},{row_on},{row_off} - Replaced with the
+  current theme colors.
 
 and the following special types:
 
 1. {lang_XXX} - Filled with lang('XXX').
-2. {value_XXX} - Filled with the current value of config item 'XXX'.
-3. {selected_XXX} - set to '', or ' selected' if an option value is current.
-4. {hook_XXX} - Calls a function named XXX (will be discussed later).
+
+2. {value_XXX} - Filled with the current value of config item
+  'XXX'.
+
+3. {selected_XXX} - set to '', or ' selected' if an option
+  value is current.
+
+4. {hook_XXX} - Calls a function named XXX (will be discussed
+  later).
+
+5. {checked_XXX+YYY} - Handles checkbox/radio values set to
+  YYY or '' (will be discussed later).
 
 Following is an example from the addressbook application:
 
 <form method="POST" action="{action_url}">
+
 <table border="0" align="center">
+
  <tr bgcolor="{th_bg}">
+
   <td colspan="2"><font color="{th_text}">&nbsp;<b>{title}</b></font></td>
+
  </tr> <tr bgcolor="{th_err}">
+
   <td colspan="2">&nbsp;<b>{error}</b></font></td>
+
  </tr>
+
 <!-- END header -->
 
 <!-- BEGIN body -->
+
  <tr bgcolor="{row_on}">
+
   <td colspan="2">&nbsp;</td>
+
  </tr>
+
  <tr bgcolor="{row_off}">
+
   <td 
colspan="2">&nbsp;<b>{lang_Addressbook}/{lang_Contact_Settings}</b></font>
+
 </td>
+
  </tr>
+
  <tr bgcolor="{row_on}">
+
   <td>{lang_Contact_application}:</td>
+
   <td><input name="newsettings[contact_application]" 
value="{value_contact_application}"></td>
+
  </tr>
+
 ...
 
 Note the fieldname, newsettings[contact_application]. This
@@ -64,16 +100,40 @@
 Let's take a look at part of the preferences/default/config.tpl:
 
  <tr bgcolor="{row_on}">
+
   <td>{lang_Country_Selection} ({lang_Text_Entry}/{lang_SelectBox}):</td>
+
   <td>
+
    <select name="newsettings[countrylist]">
+
 {hook_country_set}
+
    </select>
+
   </td>
+
  </tr>
 
 Here, we are adding a new element, {hook_country_set}. This
-brings up the next file we will need to parse this value...
+brings up the next file we will need to parse this value,
+hook_config.inc.php. But first, let's look at the last template
+type, 'checked':
+
+<input name="newsettings[enable_remote_addressbook]" type="radio"
+value=""{checked_enable_remote_addressbook+}>{lang_no}
+
+<input name="newsettings[enable_remote_addressbook]" type="radio"
+value="True"{checked_enable_remote_addressbook+True}>{lang_yes}
+
+We want to check the value of the setting 'enable_remote_addressbook'.
+The value could be '' or 'True'. We use the '+' character
+to isolate the config name from the check value. If the
+value is empty or unset in the phpgw_config table, 
{checked_enable_remote_addressbook+}
+is replaced with ' checked'. If the value is 
'True',{checked_enable_remote_addressbook+True}
+is replaced with ' checked'. Note that the part after the
+'+' character matches what is in the value="XXX"
+part in the html for this form element.
 
 1.2 hook_config.inc.php (optional)
 
@@ -85,22 +145,41 @@
 preferences/inc/hook_config.inc.php:
 
 function country_set($config)
+
 {
-    $country = array( 'user_choice' => 'Users Choice', 'force_select' => 
'Force Selectbox' );
+
+    $country = array( 'user_choice' => 'Users Choice', 'force_select'
+=> 'Force Selectbox' );
+
     while (list ($key, $value) = each ($country))
+
     {
+
         if ($config['countrylist'] == $key)
+
         {
+
             $selected = ' selected';
+
         } 
+
         else
+
         {
+
             $selected = '';
+
         }
+
         $descr = lang($value);
-        $out .= '<option value="' . $key . '"' . $selected . '>' . $descr . 
'</option>' . "\n";
+
+        $out .= '<option value="' . $key . '"' . $selected
+. '>' . $descr . '</option>' . "\n";
+
     }
+
     return $out;
+
 }
 
 Note again the template value we used earlier, {hook_country_set}.
@@ -123,24 +202,42 @@
 config we want to validate. The following example is for
 addressbook:
 
-    $GLOBALS['phpgw_info']['server']['found_validation_hook'] = True;
+    $GLOBALS['phpgw_info']['server']['found_validation_hook']
+= True;
 
-    /* Check a specific setting. Name must match the setting. */
+    /* Check a specific setting. Name must match the setting.
+*/
 
     function ldap_contact_context($value='')
+
     {
+
         if($value == $GLOBALS['phpgw_info']['server']['ldap_context'])
+
         {
-            $GLOBALS['config_error'] = 'Contact context for ldap must be 
different from the context used for accounts';
+
+            $GLOBALS['config_error'] = 'Contact context for
+ldap must be different from the context used for accounts';
+
         }
+
         elseif($value == 
$GLOBALS['phpgw_info']['server']['ldap_group_context'])
+
         {
-            $GLOBALS['config_error'] = 'Contact context for ldap must be 
different from the context used for groups';
+
+            $GLOBALS['config_error'] = 'Contact context for
+ldap must be different from the context used for groups';
+
         }
+
         else
+
         {
+
             $GLOBALS['config_error'] = '';
+
         }
+
     }
 
 Here we created a function to check the entered value for
@@ -163,21 +260,40 @@
 However, there is one more function that may be included
 in hook_config_validate.inc.php:
 
-    /* Check all settings to validate input. Name must be 'final_validation' */
+    /* Check all settings to validate input. Name must be
+'final_validation' */
+
     function final_validation($value='') 
+
     {
+
         if($value['contact_repository'] == 'ldap' && 
!$value['ldap_contact_dn'])
+
         {
-            $GLOBALS['config_error'] = 'Contact dn must be set';
+
+            $GLOBALS['config_error'] = 'Contact dn must be
+set';
+
         }
-        elseif($value['contact_repository'] == 'ldap' && 
!$value['ldap_contact_context'])
+
+        elseif($value['contact_repository'] == 'ldap' &&
+!$value['ldap_contact_context'])
+
         {
-            $GLOBALS['config_error'] = 'Contact context must be set';
+
+            $GLOBALS['config_error'] = 'Contact context must
+be set';
+
         }
+
         else
+
         {
+
             $GLOBALS['config_error'] = '';
+
         }
+
     }
 
 config.php checks for the existence of the function 'final_validation()'.
Index: admin/help/EN/account.php
diff -u admin/help/EN/account.php:1.4 admin/help/EN/account.php:1.5
--- admin/help/EN/account.php:1.4       Wed May 11 06:59:37 2005
+++ admin/help/EN/account.php   Tue Feb 14 08:48:21 2006
@@ -1,23 +1,21 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: account.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: account.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
        
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
                'admin_header'  => True,
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -32,4 +30,3 @@
 <i>User groups:</i><br/>
 Create, edit and delete groups.<p/>
 </ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/EN/admin.php
diff -u admin/help/EN/admin.php:1.4 admin/help/EN/admin.php:1.5
--- admin/help/EN/admin.php:1.4 Wed May 11 06:59:37 2005
+++ admin/help/EN/admin.php     Tue Feb 14 08:48:21 2006
@@ -1,23 +1,20 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: admin.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: admin.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
                'admin_header'  => True,
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -49,4 +46,3 @@
 <li><b>Server information:</b><br/>
 At present phpinfo of the server that is running.</li><p/>
 </ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/EN/other.php
diff -u admin/help/EN/other.php:1.4 admin/help/EN/other.php:1.5
--- admin/help/EN/other.php:1.4 Wed May 11 06:59:37 2005
+++ admin/help/EN/other.php     Tue Feb 14 08:48:21 2006
@@ -1,13 +1,15 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: other.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: other.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
 
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
@@ -15,10 +17,6 @@
                'enable_utilities_class'        => True
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -31,4 +29,3 @@
 <li><b>Server information:</b><br/>
 At present phpinfo of the server that is running.</li><p/>
 </ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/EN/session.php
diff -u admin/help/EN/session.php:1.4 admin/help/EN/session.php:1.5
--- admin/help/EN/session.php:1.4       Wed May 11 06:59:37 2005
+++ admin/help/EN/session.php   Tue Feb 14 08:48:21 2006
@@ -1,24 +1,22 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: session.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: session.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
+       
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
                'admin_header'  => True,
                'enable_utilities_class'        => True
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -34,4 +32,3 @@
 <p><i>View Access Log:</i>
 <br>LoginId, IP, Login Time, Logout Time, Total time spent.
 </ul>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/FI/account.php
diff -u admin/help/FI/account.php:1.4 admin/help/FI/account.php:1.5
--- admin/help/FI/account.php:1.4       Wed May 11 06:59:37 2005
+++ admin/help/FI/account.php   Tue Feb 14 08:48:21 2006
@@ -1,37 +1,34 @@
-<?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: account.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
-
-       $phpgw_flags = Array(
-               'currentapp'    => 'manual',
-               'admin_header'  => True,
-       );
-       $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
-       include('../../../header.inc.php');
-       $appname = 'admin';
-?>
-<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
-<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"><p/>
-Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
-Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
-lokeja.
-<ul>
-<li><b>Käyttäjien hallinta:</b><p/>
-<i>Käyttäjätunnukset:</i><br/>
-Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjätunnuksia sekä asettaa
-ryhmät joihin tunnus kuuluu ja mihin sovelluksiin käyttäjällä on 
käyttöoikeus.<p/>
-<i>Käyttäjäryhmät:</i><br/>
-Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjäryhmiä.<p/>
-</ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
+<?php
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: account.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
+
+       $phpgw_flags = Array(
+               'currentapp'    => 'manual',
+               'admin_header'  => True,
+       );
+       $phpgw_info['flags'] = $phpgw_flags;
+       include('../../../header.inc.php');
+       $appname = 'admin';
+?>
+<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
+<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"><p/>
+Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
+Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
+lokeja.
+<ul>
+<li><b>Käyttäjien hallinta:</b><p/>
+<i>Käyttäjätunnukset:</i><br/>
+Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjätunnuksia sekä asettaa
+ryhmät joihin tunnus kuuluu ja mihin sovelluksiin käyttäjällä on 
käyttöoikeus.<p/>
+<i>Käyttäjäryhmät:</i><br/>
+Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjäryhmiä.<p/>
+</ul></font>
Index: admin/help/FI/admin.php
diff -u admin/help/FI/admin.php:1.4 admin/help/FI/admin.php:1.5
--- admin/help/FI/admin.php:1.4 Wed May 11 06:59:37 2005
+++ admin/help/FI/admin.php     Tue Feb 14 08:48:21 2006
@@ -1,56 +1,52 @@
-<?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: admin.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
-
-       $phpgw_flags = Array(
-               'currentapp'    => 'manual',
-               'admin_header'  => True,
-       );
-       $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
-       include('../../../header.inc.php');
-       $appname = 'admin';
-?>
-<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
-<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"><p/>
-Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
-Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
-lokeja.
-<ul>
-<li><b>Käyttäjien hallinta:</b><br/>
-<i>User accounts:</i><br/>
-Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjätunnuksia sekä asettaa
-ryhmät joihin tunnus kuuluu ja mihin sovelluksiin käyttäjällä on 
käyttöoikeus.<br/
-><i>Käyttäjäryhmät:</i><br/>
-Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjäryhmiä.<p/>
-<li><b>Istuntojen hallinta:</b>
-<p><i>Näytä istunnot:</i>
-<br>Tämänhetkiset istunnot, IP-osoitteet, Kirjautumisaika, aika, jonka käyttäjä
-on ollut tekemättä mitään ja mahdollisuus keskeyttää istunto.
-<p><i>Näytä käyttöloki:</i>
-<br>Tunnus, IP-osoite, Sisäänkirjautumisaika, Uloskirjautumisaika, Istunnon 
kesto.<p/>
-<li><b>Uutisotsikko -palvelut:</b><br/>
-Hallinnoi palvelinten listaa, jolta Uutisotsikot -sovelluksen käyttäjät voivat
-valita haluamansa palvelimen.<br/>
-<i>Muokkaa:</i> Palvelimen asetukset:<br/>
-Näyttö,Pohja-URL, Tiedosto, Latausten väli, Näytetty lista, Uutisten 
tyyppi.<br/>
-<i>Poista:</i>Poistaa palvelimen varmistettuaan ensin käyttäjältä,
-että hän todella haluaa poistaa sen.<br/>
-<i>Näytä:</i>Näyttää asetukset.<br/>
-<i>Lisää:</i>Uuden palvelimen lisäämistä varten, kuten muokkaustila.</li><p/>
-<li><b>Uutisryhmät:</b><br/>
-Uutisryhmien päivitys käsin.</li><p/>
-<li><b>Palvelimen tiedot:</b><br/>
-Tällä hetkellä palvelimen phpinfo.</li><p/>
-</ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
+<?php
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: admin.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
+       $phpgw_flags = Array(
+               'currentapp'    => 'manual',
+               'admin_header'  => True,
+       );
+       $phpgw_info['flags'] = $phpgw_flags;
+       include('../../../header.inc.php');
+       $appname = 'admin';
+?>
+<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
+<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"><p/>
+Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
+Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
+lokeja.
+<ul>
+<li><b>Käyttäjien hallinta:</b><br/>
+<i>User accounts:</i><br/>
+Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjätunnuksia sekä asettaa
+ryhmät joihin tunnus kuuluu ja mihin sovelluksiin käyttäjällä on 
käyttöoikeus.<br/
+><i>Käyttäjäryhmät:</i><br/>
+Toiminnolla voit lisätä, muuttaa ja poistaa käyttäjäryhmiä.<p/>
+<li><b>Istuntojen hallinta:</b>
+<p><i>Näytä istunnot:</i>
+<br>Tämänhetkiset istunnot, IP-osoitteet, Kirjautumisaika, aika, jonka käyttäjä
+on ollut tekemättä mitään ja mahdollisuus keskeyttää istunto.
+<p><i>Näytä käyttöloki:</i>
+<br>Tunnus, IP-osoite, Sisäänkirjautumisaika, Uloskirjautumisaika, Istunnon 
kesto.<p/>
+<li><b>Uutisotsikko -palvelut:</b><br/>
+Hallinnoi palvelinten listaa, jolta Uutisotsikot -sovelluksen käyttäjät voivat
+valita haluamansa palvelimen.<br/>
+<i>Muokkaa:</i> Palvelimen asetukset:<br/>
+Näyttö,Pohja-URL, Tiedosto, Latausten väli, Näytetty lista, Uutisten 
tyyppi.<br/>
+<i>Poista:</i>Poistaa palvelimen varmistettuaan ensin käyttäjältä,
+että hän todella haluaa poistaa sen.<br/>
+<i>Näytä:</i>Näyttää asetukset.<br/>
+<i>Lisää:</i>Uuden palvelimen lisäämistä varten, kuten muokkaustila.</li><p/>
+<li><b>Uutisryhmät:</b><br/>
+Uutisryhmien päivitys käsin.</li><p/>
+<li><b>Palvelimen tiedot:</b><br/>
+Tällä hetkellä palvelimen phpinfo.</li><p/>
+</ul></font>
Index: admin/help/FI/other.php
diff -u admin/help/FI/other.php:1.4 admin/help/FI/other.php:1.5
--- admin/help/FI/other.php:1.4 Wed May 11 06:59:37 2005
+++ admin/help/FI/other.php     Tue Feb 14 08:48:21 2006
@@ -1,35 +1,32 @@
-<?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: other.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
-
-       $phpgw_flags = Array(
-               'currentapp'    => 'manual',
-               'admin_header'  => True,
-               'enable_utilities_class'        => True
-       );
-       $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
-       include('../../../header.inc.php');
-       $appname = 'admin';
-?>
-<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
-<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"><p/>
-Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
-Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
-lokeja.
-<ul><li><b>Uutisryhmät:</b><br/>
-Uutisryhmien päivitys käsin.</li><p/>
-<li><b>Palvelimen tiedot:</b><br/>
-Tällä hetkellä palvelimen phpinfo.</li><p/>
-</ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
+<?php
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: other.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
+
+       $phpgw_flags = Array(
+               'currentapp'    => 'manual',
+               'admin_header'  => True,
+               'enable_utilities_class'        => True
+       );
+       $phpgw_info['flags'] = $phpgw_flags;
+       include('../../../header.inc.php');
+       $appname = 'admin';
+?>
+<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
+<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"><p/>
+Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
+Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
+lokeja.
+<ul><li><b>Uutisryhmät:</b><br/>
+Uutisryhmien päivitys käsin.</li><p/>
+<li><b>Palvelimen tiedot:</b><br/>
+Tällä hetkellä palvelimen phpinfo.</li><p/>
+</ul></font>
Index: admin/help/FI/session.php
diff -u admin/help/FI/session.php:1.4 admin/help/FI/session.php:1.5
--- admin/help/FI/session.php:1.4       Wed May 11 06:59:37 2005
+++ admin/help/FI/session.php   Tue Feb 14 08:48:21 2006
@@ -1,39 +1,36 @@
-<?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: session.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
-
-       $phpgw_flags = Array(
-               'currentapp'    => 'manual',
-               'admin_header'  => True,
-               'enable_utilities_class'        => True
-       );
-       $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
-       include('../../../header.inc.php');
-       $appname = 'admin';
-?>
-<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
-<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2">
-<p>
-Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
-Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
-lokeja.
-<ul>
-<li><b>Istuntojen hallinta:</b>
-<p><i>Näytä istunnot:</i>
-<br>Tämänhetkiset istunnot, IP-osoitteet, Kirjautumisaika, aika, jonka käyttäjä
-on ollut tekemättä mitään ja mahdollisuus keskeyttää istunto.
-<p><i>Näytä käyttöloki:</i>
-<br>Tunnus, IP-osoite, Sisäänkirjautumisaika, Uloskirjautumisaika, Istunnon 
kesto.
-</ul>
-<?php $phpgw->common->phpgw_footer(); ?>
+<?php
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: session.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
+
+       $phpgw_flags = Array(
+               'currentapp'    => 'manual',
+               'admin_header'  => True,
+               'enable_utilities_class'        => True
+       );
+       $phpgw_info['flags'] = $phpgw_flags;
+       include('../../../header.inc.php');
+       $appname = 'admin';
+?>
+<img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border=0>
+<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2">
+<p>
+Tämä sovellus on yleensä vain järjestelmän pääkäyttäjän käytettävissä.
+Sovelluksella hallitaan kaikkia sovelluksia, käyttäjiä, ryhmiä ja istuntojen
+lokeja.
+<ul>
+<li><b>Istuntojen hallinta:</b>
+<p><i>Näytä istunnot:</i>
+<br>Tämänhetkiset istunnot, IP-osoitteet, Kirjautumisaika, aika, jonka käyttäjä
+on ollut tekemättä mitään ja mahdollisuus keskeyttää istunto.
+<p><i>Näytä käyttöloki:</i>
+<br>Tunnus, IP-osoite, Sisäänkirjautumisaika, Uloskirjautumisaika, Istunnon 
kesto.
+</ul>
Index: admin/help/JA/account.php
diff -u admin/help/JA/account.php:1.4 admin/help/JA/account.php:1.5
--- admin/help/JA/account.php:1.4       Wed May 11 06:59:37 2005
+++ admin/help/JA/account.php   Tue Feb 14 08:48:21 2006
@@ -1,23 +1,21 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2001-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: account.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: account.php,v 1.1 2001/05/24 12:00:00 itheart */
        
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
                'admin_header'  => True,
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -32,4 +30,3 @@
 <i>¥æ¡¼¥¶¥°¥ë¡¼¥×:</i><br/>
 ¥æ¡¼¥¶¤¬½ê°¤¹¤ë¥°¥ë¡¼¥×¤òÄɲá¢ÄûÀµºï½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£<p/>
 </ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/JA/admin.php
diff -u admin/help/JA/admin.php:1.4 admin/help/JA/admin.php:1.5
--- admin/help/JA/admin.php:1.4 Wed May 11 06:59:37 2005
+++ admin/help/JA/admin.php     Tue Feb 14 08:48:21 2006
@@ -1,23 +1,20 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: admin.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: admin.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
                'admin_header'  => True,
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -54,4 +51,3 @@
 <li><b>¥µ¡¼¥Ð¾ðÊó:</b><br/>
 ¥µ¡¼¥Ð¤ÇÆ°ºî¤·¤Æ¤¤¤ë PHP ¤Î¾ðÊó¤ò¡¢phpinfo() ¤Çɽ¼¨¤·¤Þ¤¹¡£</li><p/>
 </ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/JA/other.php
diff -u admin/help/JA/other.php:1.4 admin/help/JA/other.php:1.5
--- admin/help/JA/other.php:1.4 Wed May 11 06:59:37 2005
+++ admin/help/JA/other.php     Tue Feb 14 08:48:21 2006
@@ -1,13 +1,15 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: other.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: other.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
 
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
@@ -15,10 +17,6 @@
                'enable_utilities_class'        => True
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -31,4 +29,3 @@
 <li><b>¥µ¡¼¥Ð¾ðÊó:</b><br/>
 ¥µ¡¼¥Ð¤ÇÆ°ºî¤·¤Æ¤¤¤ë PHP ¤Î¾ðÊó¤ò¡¢phpinfo() ¤Çɽ¼¨¤·¤Þ¤¹¡£</li><p/>
 </ul></font>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/JA/session.php
diff -u admin/help/JA/session.php:1.4 admin/help/JA/session.php:1.5
--- admin/help/JA/session.php:1.4       Wed May 11 06:59:37 2005
+++ admin/help/JA/session.php   Tue Feb 14 08:48:21 2006
@@ -1,24 +1,22 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: session.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: session.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $ */
+       
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
                'admin_header'  => True,
                'enable_utilities_class'        => True
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware
-       */
        include('../../../header.inc.php');
        $appname = 'admin';
 ?>
@@ -34,4 +32,3 @@
 <p><i>¥¢¥¯¥»¥¹¥í¥°»²¾È:</i>
 
<br>phpGroupWare¤Ø¤Î¥¢¥¯¥»¥¹¥í¥°¤òɽ¼¨¤·¤Þ¤¹¡£¥í¥°¥¤¥óID,IP¥¢¥É¥ì¥¹,¥í¥°¥¤¥ó»þ´Ö,¥í¥°¥¢¥¦¥È»þ´Ö,ÍøÍÑ»þ´Ö¤òɽ¼¨¤·¤Þ¤¹¡£
 </ul>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/help/index.php
diff -u admin/help/index.php:1.6 admin/help/index.php:1.7
--- admin/help/index.php:1.6    Wed May 11 06:59:37 2005
+++ admin/help/index.php        Tue Feb 14 08:48:21 2006
@@ -1,33 +1,26 @@
 <?php
-       /**
-       * Administration - User manual
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage manual
-       * @version $Id: index.php,v 1.6 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - User manual                                               *
+  * 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: index.php,v 1.7 2006/02/14 08:48:21 skwashd Exp $ */
 
        $phpgw_flags = Array(
                'currentapp'    => 'manual',
                'admin_header'  => True
        );
        $phpgw_info['flags'] = $phpgw_flags;
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../../header.inc.php');
        $appname = 'admin';
-       
-       /**
-       * Include admins setup
-       */
        include(PHPGW_SERVER_ROOT.'/'.$appname.'/setup/setup.inc.php');
 ?>
 <img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" 
border="0"><p/>
 <font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2">
 Version: <b><?php echo $setup_info[$appname]['version']; ?></b>
 </font>
-<?php $phpgw->common->phpgw_footer(); ?>
Index: admin/inc/class.boaccess_history.inc.php
diff -u admin/inc/class.boaccess_history.inc.php:1.6 
admin/inc/class.boaccess_history.inc.php:1.7
--- admin/inc/class.boaccess_history.inc.php:1.6        Wed May 11 06:59:37 2005
+++ admin/inc/class.boaccess_history.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Administration
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.boaccess_history.inc.php,v 1.6 2005/05/11 
06:59:37 powerstat Exp $
-       */
+       
/**************************************************************************\
+       * 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.boaccess_history.inc.php,v 1.7 2006/02/14 08:48:21 
skwashd Exp $ */
 
-       /**
-       * History access business object
-       *
-       * @package admin
-       */
        class boaccess_history
        {
                function boaccess_history()
Index: admin/inc/class.boaccounts.inc.php
diff -u admin/inc/class.boaccounts.inc.php:1.39 
admin/inc/class.boaccounts.inc.php:1.40
--- admin/inc/class.boaccounts.inc.php:1.39     Wed May 11 07:23:07 2005
+++ admin/inc/class.boaccounts.inc.php  Tue Feb 14 08:48:21 2006
@@ -1,38 +1,37 @@
 <?php
-       /**
-       * Administration - accounts
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.boaccounts.inc.php,v 1.39 2005/05/11 07:23:07 
powerstat Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Account Administration                                 
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Written by coreteam <address@hidden>                    *
+       * -----------------------------------------------------                 
   *
+       *  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.boaccounts.inc.php,v 1.40 2006/02/14 08:48:21 skwashd Exp 
$ */
 
-
-       /**
-       * Accounts business object
-       *
-       * @package admin
-       */
        class boaccounts
        {
                var $so;
-               var $public_functions = array(
-                       'add_group'    => True,
-                       'add_user'     => True,
-                       'delete_group' => True,
-                       'delete_user'  => True,
-                       'edit_group'   => True,
-                       'edit_user'    => True,
-                       'set_group_managers'    => True
+               var $public_functions = array
+               (
+                       'add_group'          => true,
+                       'delete_group'       => true,
+                       'delete_user'        => true,
+                       'edit_group'         => true,
+                       'save_user'          => true,
+                       'set_group_managers' => true
                );
 
                var $xml_functions = array();
 
-               var $soap_functions = array(
-                       'add_user' => array(
-                               'in'  => array('int', 'struct'),
-                               'out' => array()
+               var $soap_functions = array
+               (
+                       'add_user'      => array
+                       (
+                               'in'    => array('int','struct'),
+                               'out'   => array()
                        )
                );
 
@@ -78,621 +77,285 @@
                        }
                }
 
-               function delete_group()
+               function check_rights($action, $access = 'group_access')
                {
-                       if (address@hidden($_POST['account_id']) || 
address@hidden'account_id'] || 
$GLOBALS['phpgw']->acl->check('group_access',32,'admin'))
-                       {
-                               ExecMethod('admin.uiaccounts.list_groups');
-                               return False;
-                       }
-                       
-                       $account_id = intval($_POST['account_id']);
-
-                       $GLOBALS['phpgw']->db->lock(
-                               Array(
-                                       'phpgw_accounts',
-                                       'phpgw_acl'
-                               )
-                       );
-                               
-                       $old_group_list = 
$GLOBALS['phpgw']->acl->get_ids_for_location($account_id,1,'phpgw_group');
-
-                       @reset($old_group_list);
-                       while($old_group_list && $id = each($old_group_list))
+                       switch($action)
                        {
-                               
$GLOBALS['phpgw']->acl->delete_repository('phpgw_group',$account_id,intval($id[1]));
-                               
$GLOBALS['phpgw']->session->delete_cache(intval($id[1]));
+                               case 'view':    $right = '8'; break;
+                               case 'add':             $right = '4'; break;
+                               case 'edit':    $right = '16'; break;
+                               case 'delete':  $right = '32'; break;
+                               case 'search':  $right = '2'; break;
                        }
 
-                       
$GLOBALS['phpgw']->acl->delete_repository('%%','run',$account_id);
-
-                       if (! 
@rmdir($GLOBALS['phpgw_info']['server']['files_dir'].SEP.'groups'.SEP.$GLOBALS['phpgw']->accounts->id2name($account_id)))
+                       if 
(!$GLOBALS['phpgw']->acl->check($access,$right,'admin'))
                        {
-                               $cd = 38;
+                               return True;
                        }
-                       else
-                       {
-                               $cd = 32;
-                       }
-
-                       $GLOBALS['phpgw']->accounts->delete($account_id);
-
-                       $GLOBALS['phpgw']->db->unlock();
-
-                       Header('Location: 
'.$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups'));
-                       $GLOBALS['phpgw']->common->phpgw_exit();
+                       return False;
                }
 
-               function delete_user()
+               function edit_group($values)
                {
-                       if (isset($_POST['cancel']) || 
$GLOBALS['phpgw']->acl->check('account_access',32,'admin'))
+                       if 
($GLOBALS['phpgw']->acl->check('group_access',16,'admin'))
                        {
-                               ExecMethod('admin.uiaccounts.list_users');
-                               return False;
+                               $error[] = lang('no permission to create 
groups');
                        }
-                       elseif($_POST['delete_account'])
-                       {
-                               $accountid = $_POST['account_id'];
-                               settype($account_id,'integer');
-                               $account_id = get_account_id($accountid);
-
-                               //jarg-SOG S
-                               $personid = $_POST['person_id'];
-                               settype($person_id,'integer');
-                               $person_id = $personid;
-                               //End
-
-                               // make this information also in hook available
-                               $lid = 
$GLOBALS['phpgw']->accounts->id2name($account_id);
-                               $GLOBALS['hook_values']['account_id'] = 
$account_id;
-                               $GLOBALS['hook_values']['account_lid'] = $lid;
-
-                               $db = $GLOBALS['phpgw']->db;
-                               $db->query('SELECT app_name,app_order FROM 
phpgw_applications WHERE app_enabled!=0 ORDER BY app_order',__LINE__,__FILE__);
-                               if($db->num_rows())
-                               {
-                                       while($db->next_record())
-                                       {
-                                               $appname = $db->f('app_name');
-
-                                               if($appname <> 'admin')
-                                               {
-                                                       
$GLOBALS['phpgw']->hooks->single('deleteaccount', $appname);
-                                               }
-                                       }
-                               }
-
 
-                               
$GLOBALS['phpgw']->hooks->single('deleteaccount','preferences');
-                               
$GLOBALS['phpgw']->hooks->single('deleteaccount','admin');
-
-                               
//$GLOBALS['phpgw']->hooks->process('deleteaccount');
-
-                               $basedir = 
$GLOBALS['phpgw_info']['server']['files_dir'] . SEP . 'users' . SEP;
-
-                               if (! @rmdir($basedir . $lid))
-                               {
-                                       $cd = 34;
-                               }
-                               else
-                               {
-                                       $cd = 29;
-                               }
+                       $old_group = CreateObject('phpgwapi.accounts', 
$values['account_id'], 'g');
+                       $old_group->read_repository();                  
+                       $old_group->member($old_group->get_id());
+                       
+                       $new_group = CreateObject('phpgwapi.accounts', 
$values['account_id'], 'g');
+                       $new_group->read_repository();
+                       $new_group->set_lid($values['account_name']);
 
-                               ExecMethod('admin.uiaccounts.list_users');
-                               return False;
-                       }
-               }
+                       $GLOBALS['phpgw']->db->lock(array('phpgw_accounts',
+                                                         'phpgw_preferences',
+                                                         'phpgw_config',
+                                                         'phpgw_applications',
+                                                         'phpgw_hooks',
+                                                         'phpgw_sessions',
+                                                         'phpgw_acl',
+                                                         'phpgw_app_sessions'
+                                                        ));
 
-               function add_group()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('group_access',4,'admin'))
+                       if(!$values['account_id']) // add new group
                        {
-                               ExecMethod('admin.uiaccounts.list_groups');
-                               return False;
+                               $new_group_values = array('type'        => 'g',
+                                                         'account_lid' => 
$values['account_name'],
+                                                         'passwd'      => '',
+                                                         'firstname'   => 
$values['account_name'],
+                                                         'lastname'    => 
'Group',
+                                                         'status'      => 'A',
+                                                         'expires'     => -1
+                                                        );
+                               $new_group->create($new_group_values, false);
                        }
-
-                       $temp_users = 
($_POST['account_user']?$_POST['account_user']:Array());
-                       $account_user = Array();
-                       @reset($temp_users);
-                       while(list($key,$user_id) = each($temp_users))
+                       else //edit group
                        {
-                               $account_user[$user_id] = ' selected';
+                               $new_group->save_repository();
                        }
-                       @reset($account_user);
+                       $GLOBALS['phpgw']->db->unlock();                        
        
 
-                       $group_permissions = 
($_POST['account_apps']?$_POST['account_apps']:Array());
-                       $account_apps = Array();
-                       @reset($group_permissions);
-                       while(list($key,$value) = each($group_permissions))
+                       // get all new applications for this group
+                       $apps = CreateObject('phpgwapi.applications', 
$values['account_id']);
+                       $old_apps = array_keys($apps->read());
+                       foreach($values['account_apps'] as $key => $value)
                        {
-                               if($value)
+                               if(!in_array($key, $old_apps))
                                {
-                                       $account_apps[$key] = True;
+                                       $new_apps[] = $key;
                                }
                        }
-                       @reset($account_apps);
-
-                       $group_info = Array(
-                               'account_id'   => 
($_POST['account_id']?intval($_POST['account_id']):0),
-                               'account_name' => 
($_POST['account_name']?$_POST['account_name']:''),
-                               'account_user' => $account_user,
-                               'account_apps' => $account_apps
-                       );
 
-                       $this->validate_group($group_info);
+                       // set group applications
+                       $this->set_module_permissions($new_group->get_id(), 
$values['account_apps']);
 
-                       $GLOBALS['phpgw']->db->lock(
-                               Array(
-                                       'phpgw_accounts',
-                                       'phpgw_nextid',
-                                       'phpgw_preferences',
-                                       'phpgw_sessions',
-                                       'phpgw_acl',
-                                       'phpgw_applications',
-                                       'phpgw_app_sessions',
-                                       'phpgw_hooks',
-                                       'phpgw_lang'
-                               )
-                       );
-
-                       $group = 
CreateObject('phpgwapi.accounts',$group_info['account_id'],'g');
-                       $group->acct_type = 'g';
-                       $account_info = array(
-                               'account_type'      => 'g',
-                               'account_lid'       => 
$group_info['account_name'],
-                               'account_passwd'    => '',
-                               'account_firstname' => 
$group_info['account_name'],
-                               'account_lastname'  => 'Group',
-                               'account_status'    => 'A',
-                               'account_expires'   => -1
-//                             'account_file_space' => 
$account_file_space_number . "-" . $account_file_space_type,
-                       );
-                       $group->create($account_info);
-                       $group_info['account_id'] = 
$GLOBALS['phpgw']->accounts->name2id($group_info['account_name']);
-
-                       $apps = 
CreateObject('phpgwapi.applications',$group_info['account_id']);
-                       $apps->update_data(Array());
-                       reset($group_info['account_apps']);
-                       while(list($app,$value) = 
each($group_info['account_apps']))
+                       // members handling
+                       // Add new members to group
+                       $acl = CreateObject('phpgwapi.acl', 
$values['account_id']);
+                       $old_group_list = $old_group->get_members();
+                       for($i = 0; $i < count($values['account_user']); $i++)
                        {
-                               $apps->add($app);
-                               $new_apps[] = $app;
-                       }
-                       $apps->save_repository();
-
-                       $acl = 
CreateObject('phpgwapi.acl',$group_info['account_id']);
-                       $acl->read_repository();
-
-                       @reset($group_info['account_user']);
-                       while(list($user_id,$dummy) = 
each($group_info['account_user']))
-                       {
-                               if(!$dummy)
+                               $is_new = true;
+                               for($j = 0; $j < count($old_group_list); $j++)
                                {
-                                       continue;
-                               }
-                               
$acl->add_repository('phpgw_group',$group_info['account_id'],$user_id,1);
-                               $group->add_account2Group($user_id, 
$group_info['account_id']);
-
-                               $docommit = False;
-                               $GLOBALS['pref'] = 
CreateObject('phpgwapi.preferences',$user_id);
-                               $t = $GLOBALS['pref']->read_repository();
-                               @reset($new_apps);
-                               while(is_array($new_apps) && 
list($app_key,$app_name) = each($new_apps))
-                               {
-                                       if 
(!$t[($app_name=='admin'?'common':$app_name)])
+                                       if($values['account_user'][$i] == 
$old_group_list[$j])
                                        {
-                                               
$GLOBALS['phpgw']->hooks->single('add_def_pref', $app_name);
-                                               $docommit = True;
+                                               unset($old_group_list[$j]);
+                                               $is_new = false;
+                                               break;
                                        }
                                }
-                               if ($docommit)
+                               if($is_new)
                                {
-                                       $GLOBALS['pref']->save_repository();
+                                       $acl->add_repository('phpgw_group', 
$new_group->get_id(), $values['account_user'][$i], 1);
+                                       
$this->refresh_session_data($values['account_user'][$i]);
+                                       
+                                       // The following sets any default 
preferences needed for new applications..
+                                       // This is smart enough to know if 
previous preferences were selected, use them.
+                                       $docommit = false;
+                                       if(count($new_apps))
+                                       {
+                                               $GLOBALS['pref'] = 
CreateObject('phpgwapi.preferences', $values['account_user'][$i]);
+                                               $t = 
$GLOBALS['pref']->read_repository();
+                                               while(list($app_key,$app_name) 
= each($new_apps))
+                                               for($j = 0; $j < 
count($new_apps); $j++)
+                                               {
+                                                       if($new_apps[$i] == 
'admin') //another workaround :-(
+                                                       {
+                                                               $new_apps[$i] 
== 'common';
+                                                       }
+                                                       
+                                                       if (!$t[$new_apps[$i]])
+                                                       {
+                                                               
$GLOBALS['phpgw']->hooks->single('add_def_pref', $new_apps[$i]);
+                                                               $docommit = 
true;
+                                                       }
+                                               }
+                                       }
+                                       if ($docommit)
+                                       {
+                                               
$GLOBALS['pref']->save_repository();
+                                       }
                                }
                        }
-
-                       $acl->save_repository();
-
-                       $basedir = 
$GLOBALS['phpgw_info']['server']['files_dir'] . SEP . 'groups' . SEP;
-                       $cd = 31;
-                       umask(000);
-                       if (! @mkdir ($basedir . $group_info['account_name'], 
0707))
-                       {
-                               $cd = 37;
-                       }
-
-                       $GLOBALS['phpgw']->db->unlock();
-
-                       ExecMethod('admin.uiaccounts.list_groups');
-                       return False;
-               }
-
-               function add_user()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',4,'admin'))
+                       // Remove members from group
+                       foreach($old_group_list as $key => $value)
                        {
-                               ExecMethod('admin.uiaccounts.list_users');
-                               return False;
+                               
$acl->delete_repository('phpgw_group',$new_group->get_id(), $value);
+                               
$this->refresh_session_data($values['account_user'][$i]);
                        }
 
-                       if ($_POST['submit'])
+                       // Things that have to change because of new group name
+                       if($old_group->get_lid() != $new_group->get_lid())
                        {
-                               $userData = array(
-                                       'account_type'          => 'u',
-                                       'account_lid'           => 
$_POST['account_lid'],
-                                       'account_firstname'     => 
$_POST['account_firstname'],
-                                       'account_lastname'      => 
$_POST['account_lastname'],
-                                       'account_passwd'        => 
$_POST['account_passwd'],
-                                       'status'                => 
($_POST['account_status'] ? 'A' : ''),
-                                       'account_status'        => 
($_POST['account_status'] ? 'A' : ''),
-                                       'old_loginid'           => 
($_GET['old_loginid']?rawurldecode($_GET['old_loginid']):''),
-                                       'account_id'            => 
($_GET['account_id']?$_GET['account_id']:0),
-                                       'account_passwd_2'      => 
$_POST['account_passwd_2'],
-                                       'account_groups'        => 
$_POST['account_groups'],
-                                       'anonymous'             => 
$_POST['anonymous'],
-                                       'changepassword'        => 
$_POST['changepassword'],
-                                       'account_permissions'   => 
$_POST['account_permissions'],
-                                       'homedirectory'         => 
$_POST['homedirectory'],
-                                       'loginshell'            => 
$_POST['loginshell'],
-                                       'account_expires_month' => 
$_POST['account_expires_month'],
-                                       'account_expires_day'   => 
$_POST['account_expires_day'],
-                                       'account_expires_year'  => 
$_POST['account_expires_year'],
-                                       'account_expires_never' => 
$_POST['never_expires'],
-                                       //jarg-SOG S
-                                       'domain'                                
=> $_POST['domain'],
-                                       'add_addbook'                   => 
$_POST['add_addbook'],
-                                       'quota'                                 
=> $_POST['quota']
-                                       //End
-                                       /* 'file_space' => 
$_POST['account_file_space_number'] . "-" . $_POST['account_file_space_type'] */
-                               );
-                               if (!$errors = $this->validate_user($userData))
-                               {
-                                       $userData['person_id'] = 
$GLOBALS['phpgw']->accounts->save_contact_for_account($userData);
-                                       $account_id = 
$this->_add_user($userData);
-
-                                       $ui = createobject('admin.uiaccounts');
-                                       
$ui->create_edit_user($account_id,$userData);
-                                       return False;
-                               }
-                               else
-                               {
-                                       $ui = createobject('admin.uiaccounts');
-                                       
$ui->create_edit_user($userData['account_id'],$userData,$errors);
-                               }
-                       }
-                       else
-                       {
-                               ExecMethod('admin.uiaccounts.list_users');
-                               return False;
+                               $basedir = 
$GLOBALS['phpgw_info']['server']['files_dir'] . SEP . 'groups' . SEP;
+                               @rename($basedir . $old_group->get_lid(), 
$basedir . $new_group->get_lid());
                        }
                }
 
                /**
-               * This function was created for others apps can call with 
parameters
+               * Saves a new user (account) or update an existing one
                *
-               * @param Array $userData Array with all account data. If you 
want to send data for contact
-               * you can set an array $userData['extra_contact'] with all 
data, see add_contact in contact api
-               * for more info about the format of this array
+               * @param array $values Account details
+               * @return null No return value
                */
-               function _add_user($userData)
+               function save_user($values)
                {
-                       $account_id = $this->so->add_user($userData);
-                       if ($userData['anonymous'])
-                       {
-                               
$GLOBALS['phpgw']->acl->add_repository('phpgwapi','anonymous',$account_id,1);
-                       }
-                       else
-                       {
-                               
$GLOBALS['phpgw']->acl->delete_repository('phpgwapi','anonymous',$account_id);
-                       }
-                       // make this information for the hooks available
-                       $GLOBALS['hook_values']['account_lid'] = 
$userData['account_lid'];
-                       $GLOBALS['hook_values']['account_id'] = $account_id;
-                       $GLOBALS['hook_values']['new_passwd'] = 
$userData['account_passwd'];
-                       $GLOBALS['hook_values']['account_firstname'] = 
$userData['account_firstname'];
-                       $GLOBALS['hook_values']['account_lastname'] = 
$userData['account_lastname'];
-                       $GLOBALS['phpgw']->hooks->process('addaccount');
-                       return $account_id;
-               }
-               
-               function edit_group()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('group_access',16,'admin'))
-                       {
-                               ExecMethod('admin.uiaccounts.list_groups');
-                               return False;
-                       }
-
-                       $temp_users = 
($_POST['account_user']?$_POST['account_user']:Array());
-                       $account_user = Array();
-                       @reset($temp_users);
-                       while($temp_users && list($key,$user_id) = 
each($temp_users))
-                       {
-                               $account_user[$user_id] = ' selected';
-                       }
-                       @reset($account_user);
-
-                       $group_permissions = 
($_POST['account_apps']?$_POST['account_apps']:Array());
-                       $account_apps = Array();
-                       @reset($group_permissions);
-                       while(list($key,$value) = each($group_permissions))
+                       if (is_array($values))
                        {
-                               if($value)
+                               if($values['expires_never'])
                                {
-                                       $account_apps[$key] = True;
-                               }
-                       }
-                       @reset($account_apps);
-
-                       $group_info = Array(
-                               'account_id'   => 
($_POST['account_id']?intval($_POST['account_id']):0),
-                               'account_name' => 
($_POST['account_name']?$_POST['account_name']:''),
-                               'account_user' => $account_user,
-                               'account_apps' => $account_apps
-                       );
-
-                       $this->validate_group($group_info);
-
-                       // Lock tables
-                       $GLOBALS['phpgw']->db->lock(
-                               Array(
-                                       'phpgw_accounts',
-                                       'phpgw_preferences',
-                                       'phpgw_config',
-                                       'phpgw_applications',
-                                       'phpgw_hooks',
-                                       'phpgw_sessions',
-                                       'phpgw_acl',
-                                       'phpgw_app_sessions',
-                                       'phpgw_lang'
-                               )
-                       );
-
-                       $group = 
CreateObject('phpgwapi.accounts',$group_info['account_id'],'g');
-                       $old_group_info = $group->read_repository();
-
-                       // Set group apps
-                       $apps = 
CreateObject('phpgwapi.applications',$group_info['account_id']);
-                       $apps_before = $apps->read_account_specific();
-                       $apps->update_data(Array());
-                       $new_apps = Array();
-                       if(count($group_info['account_apps']))
-                       {
-                               reset($group_info['account_apps']);
-                               while(list($app,$value) = 
each($group_info['account_apps']))
-                               {
-                                       $apps->add($app);
-                                       if(address@hidden || @$apps_before == 
False)
-                                       {
-                                               $new_apps[] = $app;
-                                       }
-                               }
-                       }
-                       $apps->save_repository();
-
-                       // Set new account_lid, if needed
-                       if($group_info['account_name'] && 
$old_group_info['account_lid'] <> $group_info['account_name'])
-                       {
-                               $group->data['account_lid'] = 
$group_info['account_name'];
-
-                               $basedir = 
$GLOBALS['phpgw_info']['server']['files_dir'] . SEP . 'groups' . SEP;
-                               if (! @rename($basedir . 
$old_group_info['account_lid'], $basedir . $group_info['account_name']))
-                               {
-                                       $cd = 39;
+                                       $values['expires'] = 
$values['account_expires'] = -1;
                                }
                                else
                                {
-                                       $cd = 33;
+                                       $values['expires'] = 
$values['account_expires'] = 
mktime(2,0,0,$values['account_expires_month'],$values['account_expires_day'],$values['account_expires_year']);
                                }
-                       }
-                       else
-                       {
-                               $cd = 33;
-                       }
 
-                       // Set group acl
-                       $acl = 
CreateObject('phpgwapi.acl',$group_info['account_id']);
-                       $old_group_list = 
$acl->get_ids_for_location($group_info['account_id'],1,'phpgw_group');
-                       if ($old_group_list)
-                       {
-                               @reset($old_group_list);
-                               while(list($key,$user_id) = 
each($old_group_list))
-                               {
-                                       
$acl->delete_repository('phpgw_group',$group_info['account_id'],$user_id);
-                                       
if(!$group_info['account_user'][$user_id])
-                                       {
-                                               // If the user is logged in, it 
will force a refresh of the session_info
-                                               
$GLOBALS['phpgw']->db->query("update phpgw_sessions set session_action='' "
-                                                       ."where session_lid='" 
. $GLOBALS['phpgw']->accounts->id2name($user_id)
-                                                       . '@' . 
$GLOBALS['phpgw_info']['user']['domain'] . "'",__LINE__,__FILE__);
-                                               
$GLOBALS['phpgw']->session->delete_cache($user_id);
-                                       }
-                               }
-                       }
+                               $userData = array
+                               (
+                                       'type'                  => 'u',
+                                       'account_lid'           => 
$values['account_lid'],
+                                       'firstname'             => 
$values['account_firstname'],
+                                       'lastname'              => 
$values['account_lastname'],
+                                       'passwd'                => 
$values['account_passwd'],
+                                       'status'                => 
($values['account_status'] ? 'A' : ''),
+                                       'old_loginid'           => 
($values['old_loginid']?rawurldecode($GLOBALS['HTTP_GET_VARS']['old_loginid']):''),
+                                       'account_id'            => 
$values['account_id'],
+                                       'account_passwd_2'      => 
$values['account_passwd_2'],
+                                       'groups'                => 
$values['account_groups'],
+                                       'account_permissions'   => 
$values['account_permissions'],
+                                       'homedirectory'         => 
$values['homedirectory'],
+                                       'loginshell'            => 
$values['loginshell'],
+                                       'account_expires_month' => 
$values['account_expires_month'],
+                                       'account_expires_day'   => 
$values['account_expires_day'],
+                                       'account_expires_year'  => 
$values['account_expires_year'],
+                                       'account_expires_never' => 
$values['expires'],
+                                       'expires'                     => 
$values['expires'],
+                                       /* 'file_space' => 
$GLOBALS['HTTP_POST_VARS']['account_file_space_number'] . "-" . 
$GLOBALS['HTTP_POST_VARS']['account_file_space_type'] */
+                               );
 
-                       @reset($group_info['account_user']);
-                       while(list($user_id,$dummy) = 
each($group_info['account_user']))
-                       {
-                               if(!$dummy)
+                               if ($values['account_id']) //user exists
                                {
-                                       continue;
-                               }
-                               
$acl->add_repository('phpgw_group',$group_info['account_id'],$user_id,1);
+                                       $userData['account_id'] = 
$values['account_id'];
+                                       $this->so->update_user($userData);
 
-                               // If the user is logged in, it will force a 
refresh of the session_info
-                               $GLOBALS['phpgw']->db->query("update 
phpgw_sessions set session_action='' "
-                                       ."where session_lid='" . 
$GLOBALS['phpgw']->accounts->id2name($user_id)
-                                       . '@' . 
$GLOBALS['phpgw_info']['user']['domain'] . "'",__LINE__,__FILE__);
-                                       
-                               
$GLOBALS['phpgw']->session->delete_cache($user_id);
-
-                               // The following sets any default preferences 
needed for new applications..
-                               // This is smart enough to know if previous 
preferences were selected, use them.
-                               $docommit = False;
-                               if($new_apps)
-                               {
-                                       $GLOBALS['pref'] = 
CreateObject('phpgwapi.preferences',$user_id);
-                                       $t = 
$GLOBALS['pref']->read_repository();
-                                       @reset($new_apps);
-                                       while(list($app_key,$app_name) = 
each($new_apps))
+                                       if ($userData['passwd'])
                                        {
-                                               if 
(!$t[($app_name=='admin'?'common':$app_name)])
-                                               {
-                                                       
$GLOBALS['phpgw']->hooks->single('add_def_pref', $app_name);
-                                                       $docommit = True;
-                                               }
+                                               $auth = 
CreateObject('phpgwapi.auth');
+                                               
$auth->change_password($old_passwd,$userData['passwd'],$userData['account_id']);
+                                               
$GLOBALS['hook_values']['account_id'] = $userData['account_id'];
+                                               
$GLOBALS['hook_values']['old_passwd'] = $old_passwd;
+                                               
$GLOBALS['hook_values']['new_passwd'] = $userData['account_passwd'];
+                                               
$GLOBALS['phpgw']->hooks->process('changepassword');
                                        }
-                               }
-                               if ($docommit)
-                               {
-                                       $GLOBALS['pref']->save_repository();
-                               }
-                       }
-                       $group->save_repository();
-
-               /*
-                       // Update any other options here, since the above 
save_repository () depends
-                       // on a group having users
-                       $group->data['file_space'] = 
$_POST['account_file_space_number'] . "-" . $_POST['account_file_space_type'];
-                       $group->save_repository();
-               */
-
-                       $GLOBALS['phpgw']->db->unlock();
-
-                       ExecMethod('admin.uiaccounts.list_groups');
-                       return False;
-               }
-
-               function edit_user()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',16,'admin'))
-                       {
-                               ExecMethod('admin.uiaccounts.list_users');
-                               return False;
-                       }
-
-                       if ($_POST['submit'])
-                       {
-                               $userData = array(
-                                       'account_lid'           => 
$_POST['account_lid'],
-                                       'account_firstname'     => 
$_POST['account_firstname'],
-                                       'account_lastname'      => 
$_POST['account_lastname'],
-                                       'account_passwd'        => 
$_POST['account_passwd'],
-                                       'status'                => 
($_POST['account_status'] ? 'A' : 'I'),
-                                       'account_status'        => 
($_POST['account_status'] ? 'A' : 'I'),
-                                       'old_loginid'           => 
($_GET['old_loginid']?rawurldecode($_GET['old_loginid']):''),
-                                       'account_id'            => 
($_GET['account_id']?$_GET['account_id']:0),
-                                       'account_passwd_2'      => 
$_POST['account_passwd_2'],
-                                       'account_groups'        => 
$_POST['account_groups'],
-                                       'anonymous'             => 
$_POST['anonymous'],
-                                       'changepassword'        => 
$_POST['changepassword'],
-                                       'account_permissions'   => 
$_POST['account_permissions'],
-                                       'homedirectory'         => 
$_POST['homedirectory'],
-                                       'loginshell'            => 
$_POST['loginshell'],
-                                       'account_expires_month' => 
$_POST['account_expires_month'],
-                                       'account_expires_day'   => 
$_POST['account_expires_day'],
-                                       'account_expires_year'  => 
$_POST['account_expires_year'],
-                                       'account_expires_never' => 
$_POST['never_expires'],
-                                       //jarg-SOG S
-                               //      'domain'                                
=> $_POST['domain'],
-                                       'add_addbook'                   => 
$_POST['add_addbook'],
-                                       'person_id'                             
=> $_POST['person_id'],
-                                       'quota'                                 
=> $_POST['quota']
-                                       //End
-                                       /* 'file_space' => 
$_POST['account_file_space_number'] . "-" . $_POST['account_file_space_type'] */
-                               );
-                               if (!$errors = $this->validate_user($userData))
-                               {
-                                       $this->save_user($userData);
-                                       $GLOBALS['hook_values']['account_id'] = 
$userData['account_id'];
-                                       $GLOBALS['hook_values']['account_lid'] 
= $userData['account_lid'];
-                                       
$GLOBALS['hook_values']['account_firstname'] = $userData['account_firstname'];
-                                       
$GLOBALS['hook_values']['account_lastname'] = $userData['account_lastname'];
-                                       $GLOBALS['hook_values']['person_id'] = 
$userData['person_id'];
-                                       
$GLOBALS['phpgw']->hooks->process('editaccount');
-
-                                       // check if would create a menu
+                                       
+                                       
$GLOBALS['phpgw']->session->delete_cache(intval($userData['id']));
+                                       /* check if would create a menu
                                        // if we do, we can't return to the 
users list, because
                                        // there are also some other plugins
                                        if 
(!ExecMethod('admin.uimenuclass.createHTMLCode','edit_user'))
                                        {
-                                               
ExecMethod('admin.uiaccounts.list_users');
-                                               return False;
-                                       }
-                                       else
-                                       {
-                                               
ExecMethod('admin.uiaccounts.edit_user',$_GET['account_id']);
-                                               return False;
-                                       }
+                                       }*/
                                }
-                               else
+                               else //new user
                                {
-                                       $ui = createobject('admin.uiaccounts');
-                                       
$ui->create_edit_user($userData['account_id'],$userData,$errors);
+                                       $userData['account_id'] = 
$this->so->add_user($userData);
+                                       $GLOBALS['hook_values']['account_lid'] 
= $userData['account_lid'];
+                                       $GLOBALS['hook_values']['account_id']   
 = $userData['account_id'];
+                                       $GLOBALS['hook_values']['new_passwd']   
 = $userData['passwd'];
+                                       
$GLOBALS['phpgw']->hooks->process('addaccount');
                                }
+                               
$this->set_module_permissions($userData['account_id'], 
$userData['account_permissions']);
+                               
$this->set_groups2account($userData['account_id'], $userData['groups']);        
                
                        }
                }
 
                function set_group_managers()
                {
-                       
if($GLOBALS['phpgw']->acl->check('group_access',16,'admin') || $_POST['cancel'])
+                       
if($GLOBALS['phpgw']->acl->check('group_access',16,'admin') || 
$GLOBALS['HTTP_POST_VARS']['cancel'])
                        {
                                
$GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups'));
-                               $GLOBALS['phpgw']->common->phpgw_exit();
+                               $GLOBALS['phpgw_info']['flags']['nodisplay'] = 
True;
+                               exit;
                        }
-                       elseif($_POST['submit'])
+                       elseif($GLOBALS['HTTP_POST_VARS']['submit'])
                        {
-                               $acl = 
CreateObject('phpgwapi.acl',intval($_POST['account_id']));
-
-                               $users = 
$GLOBALS['phpgw']->accounts->member($_POST['account_id']);
+                               $acl = 
CreateObject('phpgwapi.acl',intval($GLOBALS['HTTP_POST_VARS']['account_id']));
+                               
+                               $users = 
$GLOBALS['phpgw']->accounts->member($GLOBALS['HTTP_POST_VARS']['account_id']);
                                @reset($users);
                                while($managers && list($key,$user) = 
each($users))
                                {
-                                       
$acl->add_repository('phpgw_group',intval($_POST['account_id']),$user['account_id'],1);
+                                       
$acl->add_repository('phpgw_group',intval($GLOBALS['HTTP_POST_VARS']['account_id']),$user['account_id'],1);
                                }
-                               $managers = $_POST['managers'];
+                               $managers = 
$GLOBALS['HTTP_POST_VARS']['managers'];
                                @reset($managers);
                                while($managers && list($key,$manager) = 
each($managers))
                                {
-                                       
$acl->add_repository('phpgw_group',intval($_POST['account_id']),$manager,(1 + 
PHPGW_ACL_GROUP_MANAGERS));
+                                       
$acl->add_repository('phpgw_group',intval($GLOBALS['HTTP_POST_VARS']['account_id']),$manager,(1
 + PHPGW_ACL_GROUP_MANAGERS));
                                }
                        }
                        
$GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups'));
-                       $GLOBALS['phpgw']->common->phpgw_exit();
+                       $GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
+                       exit;
                }
 
-               function validate_group($group_info)
+               function validate_group($values)
                {
-                       $errors = Array();
-                       
-                       $group = 
CreateObject('phpgwapi.accounts',$group_info['account_id'],'g');
+                       $group = 
CreateObject('phpgwapi.accounts',$values['account_id'],'g');
                        $group->read_repository();
 
-                       if(!$group_info['account_name'])
+                       if (!$values['account_id'] && 
$GLOBALS['phpgw']->acl->check('group_access',4,'admin'))
+                       {
+                               $error[] = lang('no permission to add groups');
+                       }
+
+                       if(!$values['account_name'])
                        {
-                               $errors[] = lang('You must enter a group 
name.');
+                               $error[] = lang('You must enter a group name.');
                        }
 
-                       if($group_info['account_name'] != 
$group->id2name($group_info['account_id']))
+                       if($values['account_name'] != 
$group->id2name($values['account_id']))
                        {
-                               if ($group->exists($group_info['account_name']))
+                               if ($group->exists($values['account_name']))
                                {
-                                       $errors[] = lang('Sorry, that group 
name has already been taken.');
+                                       $error[] = lang('Sorry, that group name 
has already been taken.');
                                }
                        }
 
                /*
                        if (preg_match ("/\D/", $account_file_space_number))
                        {
-                               $errors[] = lang ('File space must be an 
integer');
+                               $error[] = lang ('File space must be an 
integer');
                        }
                */
-                       if(count($errors))
+                       if(is_array($error))
                        {
-                               $ui = createobject('admin.uiaccounts');
-                               $ui->create_edit_group($group_info,$errors);
-                               $GLOBALS['phpgw']->common->phpgw_exit();
+                               return $error;
                        }
                }
 
@@ -700,76 +363,69 @@
                 returns FALSE if the data are correct
                 otherwise the error array
                */
-               function validate_user(&$_userData)
+               function validate_user($values)
                {
-                       $totalerrors = 0;
+                       if (!$values['account_id'] && 
$GLOBALS['phpgw']->acl->check('account_access',4,'admin'))
+                       {
+                               $error[] = lang('no permission to add users');
+                       }
 
                        /*
-                       if 
($GLOBALS['phpgw_info']['server']['account_repository'] == 'ldap' && ! 
$allow_long_loginids)
+                       if 
($GLOBALS['phpgw_info']['server']['account_repository'] == 'ldap' && ! 
$values['allow_long_loginids'])
                        {
-                               if (strlen($_userData['account_lid']) > 8) 
+                               if (strlen($values['account_lid']) > 8) 
                                {
-                                       $error[$totalerrors] = lang('The 
loginid can not be more then 8 characters');
-                                       $totalerrors++;
+                                       $error[] = lang('The loginid can not be 
more then 8 characters');
                                }
                        }
                        */
 
-                       if (!$_userData['account_lid'])
+                       if (!$values['account_lid'])
                        {
-                               $error[$totalerrors] = lang('You must enter a 
loginid');
-                               $totalerrors++;
+                               $error[] = lang('You must enter a loginid');
                        }
 
-                       if ($_userData['old_loginid'] != 
$_userData['account_lid']) 
+                       if ($values['old_loginid'] != $values['account_lid']) 
                        {
-                               if 
($GLOBALS['phpgw']->accounts->exists($_userData['account_lid']))
+                               if 
($GLOBALS['phpgw']->accounts->exists($values['account_lid']))
                                {
-                                       $error[$totalerrors] = lang('That 
loginid has already been taken');
-                                       $totalerrors++;
+                                       $error[] = lang('That loginid has 
already been taken');
                                }
                        }
 
-                       if ($_userData['account_passwd'] || 
$_userData['account_passwd_2']) 
+                       if ($values['account_passwd'] || 
$values['account_passwd_2']) 
                        {
-                               if ($_userData['account_passwd'] != 
$_userData['account_passwd_2']) 
+                               if ($values['account_passwd'] != 
$values['account_passwd_2']) 
                                {
-                                       $error[$totalerrors] = lang('The two 
passwords are not the same');
-                                       $totalerrors++;
+                                       $error[] = lang('The two passwords are 
not the same');
                                }
-                       }
-
-                       if (!count($_userData['account_permissions']) && 
!count($_userData['account_groups'])) 
-                       {
-                               $error[$totalerrors] = lang('You must add at 
least 1 permission or group to this account');
-                               $totalerrors++;
-                       }
 
-                       if ($_userData['account_expires_month'] || 
$_userData['account_expires_day'] || $_userData['account_expires_year'] || 
$_userData['account_expires_never'])
-                       {
-                               if($_userData['account_expires_never'])
-                               {
-                                       $_userData['expires'] = -1;
-                                       $_userData['account_expires'] = 
$_userData['expires'];
-                               }
-                               else
+                       /*      $temp_msgbox_data = 
$GLOBALS['phpgw_info']['flags']['msgbox_data'];
+                               
unset($GLOBALS['phpgw_info']['flags']['msgbox_data']);
+                               
if(!sanitize($_userData['account_passwd'],'password'))
                                {
-                                       if (! 
checkdate($_userData['account_expires_month'],$_userData['account_expires_day'],$_userData['account_expires_year']))
+                                       
reset($GLOBALS['phpgw_info']['flags']['msgbox_data']);
+                                       while(list($key) = 
each($GLOBALS['phpgw_info']['flags']['msgbox_data']))
                                        {
-                                               $error[$totalerrors] = 
lang('You have entered an invalid expiration date');
+                                               $error[$totalerrors] = 
lang($key);
                                                $totalerrors++;
                                        }
-                                       else
-                                       {
-                                               $_userData['expires'] = 
mktime(2,0,0,$_userData['account_expires_month'],$_userData['account_expires_day'],$_userData['account_expires_year']);
-                                               $_userData['account_expires'] = 
$_userData['expires'];
-                                       }
                                }
+                               $GLOBALS['phpgw_info']['flags']['msgbox_data'] 
= $temp_msgbox_data;
+                               unset($temp_msgbox_data); */
                        }
-                       else
+
+                       if (!count($values['account_permissions']) && 
!count($values['account_groups'])) 
+                       {
+                               $error[] = lang('You must add at least 1 
permission or group to this account');
+                       }
+
+                       if ($values['account_expires_month'] || 
$values['account_expires_day'] || $values['account_expires_year'] || 
$values['account_expires_never'])
                        {
-                               $_userData['expires'] = -1;
-                               $_userData['account_expires'] = 
$_userData['expires'];
+                               if (! 
checkdate($values['account_expires_month'],$values['account_expires_day'],$values['account_expires_year']))
+                               {
+                                       $error[] = lang('You have entered an 
invalid expiration date');
+                               }
                        }
 
                /*
@@ -781,108 +437,89 @@
                        }
                */
 
-                       /* check that addressmaster record exist */
-//                     if 
(!$GLOBALS['phpgw']->accounts->exists('addressmaster') && 
$_userData['account_lid'] != 'addressmaster')
-//                     {
-//                             $error[$totalerrors] = lang('You have not the 
addressmaster record');
-//                             $totalerrors++;
-//                     }
-                       
-                       
-                       if ($totalerrors == 0)
-                       {
-                               return FALSE;
-                       }
-                       else
+                       if (is_array($error))
                        {
                                return $error;
                        }
                }
 
-               /* stores the userdata */
-               function save_user($_userData)
+
+               function delete_group($account_id)
                {
-                       $account = 
CreateObject('phpgwapi.accounts',$_userData['account_id'],'u');
-                       //This is a temporary patch for the case of corrupted 
LDAP tree :) (Caeies)
-                       if ( empty($_userData['person_id']) )
+                       if 
($GLOBALS['phpgw']->acl->check('group_access',32,'admin'))
                        {
-                               $_userData['person_id'] = 
$account->data['person_id'] ? $account->data['person_id'] : 
$GLOBALS['phpgw']->accounts->save_contact_for_account($_userData);
+                               return False;
                        }
-                       $account->update_data($_userData);
-                       $account->save_repository();
-                       if ($_userData['account_passwd'])
+
+                       $GLOBALS['phpgw']->db->lock(array
+                               (
+                                       'phpgw_accounts',
+                                       'phpgw_acl',
+                                       'phpgw_sessions' // should be in direct 
in the session class!?
+                               )
+                       );
+
+                       $old_group_list = 
$GLOBALS['phpgw']->acl->get_ids_for_location($account_id,1,'phpgw_group');
+
+                       @reset($old_group_list);
+                       while($old_group_list && $id = each($old_group_list))
                        {
-                               $auth = CreateObject('phpgwapi.auth');
-                               $auth->change_password($old_passwd, 
$_userData['account_passwd'], $_userData['account_id']);
-                               $GLOBALS['hook_values']['account_id'] = 
$_userData['account_id'];
-                               $GLOBALS['hook_values']['old_passwd'] = 
$old_passwd;
-                               $GLOBALS['hook_values']['new_passwd'] = 
$_userData['account_passwd'];
-                               
$GLOBALS['phpgw']->hooks->process('changepassword');
+                               
$GLOBALS['phpgw']->acl->delete_repository('phpgw_group',$account_id,intval($id[1]));
+                               
$GLOBALS['phpgw']->session->delete_cache(intval($id[1]));
                        }
 
-                       $apps = 
CreateObject('phpgwapi.applications',array(intval($_userData['account_id']),'u'));
+                       
$GLOBALS['phpgw']->acl->delete_repository('%%','run',$account_id);
+
+                       
@rmdir($GLOBALS['phpgw_info']['server']['files_dir'].SEP.'groups'.SEP.$GLOBALS['phpgw']->accounts->id2name($account_id));
+
+                       $GLOBALS['phpgw']->accounts->delete($account_id);
+                       $GLOBALS['phpgw']->db->unlock();
+               }
 
-                       $apps->account_id = $_userData['account_id'];
-                       if ($_userData['account_permissions'])
+               function delete_user($id, $newowner)
+               {
+                       
if($GLOBALS['phpgw']->acl->check('account_access',32,'admin'))
                        {
-                               while($app = 
each($_userData['account_permissions']))
-                               {
-                                       if($app[1])
-                                       {
-                                               $apps->add($app[0]);
-                                       }
-                               }
+                               ExecMethod('admin.uiaccounts.list_users');
+                               return False;
                        }
-                       $apps->save_repository();
-
-                       $account = 
CreateObject('phpgwapi.accounts',$_userData['account_id'],'u');
-                       $allGroups = $account->get_list('groups');
+                       
+                       $account_id = get_account_id( (int) $id );
+                       $GLOBALS['hook_values']['account_id'] = $account_id;
 
-                       if ($_userData['account_groups'])
+                       $db = $GLOBALS['phpgw']->db;
+                       $db->query('SELECT app_name,app_order FROM 
phpgw_applications WHERE app_enabled!=0 ORDER BY app_order',__LINE__,__FILE__);
+                       if($db->num_rows())
                        {
-                               reset($_userData['account_groups']);
-                               while (list($key,$value) = 
each($_userData['account_groups']))
+                               while($db->next_record())
                                {
-                                       $newGroups[$value] = $value;
+                                       $appname = $db->f('app_name');
+
+                                       if($appname != 'admin' && $appname != 
'preferences')
+                                       {
+                                               
$GLOBALS['phpgw']->hooks->single('deleteaccount', $appname);
+                                       }
                                }
                        }
 
-                       $acl = 
CreateObject('phpgwapi.acl',$_userData['account_id']);
+                       
$GLOBALS['phpgw']->hooks->single('deleteaccount','preferences');
+                       
$GLOBALS['phpgw']->hooks->single('deleteaccount','admin');
 
-                       reset($allGroups);
-                       while (list($key,$groupData) = each($allGroups))
-                       {
-                               /* print "$key,". $groupData['account_id'] 
."<br>";*/
-                               /* print "$key,". 
$_userData['account_groups'][1] ."<br>"; */
+                       $GLOBALS['phpgw']->hooks->process('deleteaccount');
 
-                               if ($newGroups[$groupData['account_id']])
-                               {
-                                       
$acl->add_repository('phpgw_group',$groupData['account_id'],$_userData['account_id'],1);
-                                       
$GLOBALS['phpgw']->accounts->add_account2Group($_userData['account_id'], 
$groupData['account_id']);
-                               }
-                               else
-                               {
-                                       
$acl->delete_repository('phpgw_group',$groupData['account_id'],$_userData['account_id']);
-                                       
$GLOBALS['phpgw']->accounts->delete_account4Group($_userData['account_id'], 
$groupData['account_id']);
-                               }
-                       }
-                       if ($_userData['anonymous'])
+                       //<??[+_+]??
+                       $basedir = 
$GLOBALS['phpgw_info']['server']['files_dir'] . SEP . 'users' . SEP;
+                       $lid = 
$GLOBALS['phpgw']->accounts->id2name($account_id);
+                       if (! @rmdir($basedir . $lid))
                        {
-                               
$acl->add_repository('phpgwapi','anonymous',$_userData['account_id'],1);
+                               $cd = 34;
                        }
                        else
                        {
-                               
$acl->delete_repository('phpgwapi','anonymous',$_userData['account_id']);
+                               $cd = 29;
                        }
-                       if ($_userData['changepassword'])
-                       {
-                               
$GLOBALS['phpgw']->acl->add_repository('preferences','changepassword',$_userData['account_id'],1);
-                       }
-                       else
-                       {
-                               
$GLOBALS['phpgw']->acl->delete_repository('preferences','changepassword',$_userData['account_id']);
-                       }
-                       
$GLOBALS['phpgw']->session->delete_cache(intval($_userData['account_id']));
+                       //<??[+_+]??
+                       return $this->so->delete_user($account_id);
                }
 
                function load_group_users($account_id)
@@ -927,19 +564,21 @@
 
                function load_group_apps($account_id)
                {
-                       $apps = 
CreateObject('phpgwapi.applications',intval($account_id));
-                       $app_list = $apps->read_account_specific();
-                       $account_apps = Array();
-                       while(list($key,$app) = each($app_list))
+                       $account_apps = array();
+                       if($account_id)
                        {
-                               $account_apps[$app['name']] = True;
+                               $apps = 
CreateObject('phpgwapi.applications',intval($account_id));
+                               $app_list = $apps->read_account_specific();
+
+                               while(list($key,$app) = each($app_list))
+                               {
+                                       $account_apps[$app['name']] = True;
+                               }
+                               @reset($account_apps);
                        }
-                       @reset($account_apps);
                        return $account_apps;
                }
 
-               // xmlrpc functions
-
                function rpc_add_user($data)
                {
                        exit;
@@ -954,10 +593,59 @@
                        }
                        return $result;
                }
+               
+               function set_module_permissions($id, $modules)
+               {
+                       if($id)
+                       {
+                               $apps = CreateObject('phpgwapi.applications', 
intval($id));
+                               while($app = each($modules)) 
+                               {
+                                       if($app[1])
+                                       {
+                                               $apps->add($app[0]);
+                                       }
+                               }
+                               $apps->save_repository();
+                       }
+               }
+               
+               function set_groups2account($id, $groups)
+               {
+                       $account = CreateObject('phpgwapi.accounts', $id, 'u');
+                       $allGroups = $account->get_list('groups');
+                       if ($groups)
+                       {
+                               while (list($key,$value) = each($groups))
+                               {
+                                       $newGroups[$value] = $value;
+                               }
+                       }
 
-               function get_addressmaster_ids()
+                       $acl = CreateObject('phpgwapi.acl',$id);
+                       while (list($key,$groupData) = each($allGroups)) 
+                       {
+                               if (in_array($groupData['account_id'], 
$groups)) 
+                               {
+                                       
$acl->add_repository('phpgw_group',$groupData['account_id'], $id, 1);
+                               }
+                               else
+                               {
+                                       
$acl->delete_repository('phpgw_group',$groupData['account_id'],$id);
+                               }
+                       }
+               }
+       
+               function refresh_session_data($id)
                {
-                       return 
$GLOBALS['phpgw']->acl->get_ids_for_location('addressmaster',7,'addressbook');
+                       // If the user is logged in, it will force a refresh of 
the session_info
+                       
+                       // This can't work - just imaging session data in php4
+                       // $GLOBALS['phpgw']->db->query("update phpgw_sessions 
set session_action='' "
+                       // ."where session_lid='" . 
$GLOBALS['phpgw']->accounts->id2name($id)
+                       // . '@' . $GLOBALS['phpgw_info']['user']['domain'] . 
"'",__LINE__,__FILE__);
+                       
+                       $GLOBALS['phpgw']->session->delete_cache($id);
                }
        }
 ?>
Index: admin/inc/class.boaclmanager.inc.php
diff -u admin/inc/class.boaclmanager.inc.php:1.6 
admin/inc/class.boaclmanager.inc.php:1.7
--- admin/inc/class.boaclmanager.inc.php:1.6    Wed May 11 07:23:07 2005
+++ admin/inc/class.boaclmanager.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,19 +1,15 @@
 <?php
-       /**
-       * Administration - ACL manager business object
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.boaclmanager.inc.php,v 1.6 2005/05/11 07:23:07 
powerstat Exp $
-       */
+       
/**************************************************************************\
+       * 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.boaclmanager.inc.php,v 1.7 2006/02/14 08:48:21 skwashd 
Exp $ */
 
-
-       /**
-       * ACL manager business object
-       *
-       * @package admin
-       */
        class boaclmanager
        {
                var $public_functions = array
@@ -55,18 +51,20 @@
                function list_addressmasters()
                {
                        $admins = $this->get_addressmaster_ids();
+                       //_debug_array($admins);
 
-                       for($i=0; $i < count($admins); $i++)
+                       for($i=0;$i<count($admins);$i++)
                        {
-                               if($admins[$i])
+                               $acc_name = 
$GLOBALS['phpgw']->accounts->get_account_data($admins[$i]);
+
+                               if(intval($admins[$i])>0)
                                {
-                                       $acc_name = 
$GLOBALS['phpgw']->accounts->get_account_data($admins[$i]);
                                        $data[] = array(
-                                                       'account_id' => 
$admins[$i],
-                                                       'lid'          => 
$acc_name[$admins[$i]]['lid'],
-                                                       'firstname'  => 
$acc_name[$admins[$i]]['firstname'],
-                                                       'lastname'   => 
$acc_name[$admins[$i]]['lastname']
-                                                       );
+                                               'account_id'    => $admins[$i],
+                                               'lid'                   => 
$acc_name[$admins[$i]]['lid'],
+                                               'firstname'             => 
$acc_name[$admins[$i]]['firstname'],
+                                               'lastname'              => 
$acc_name[$admins[$i]]['lastname']
+                                               );
                                }
                        }
 
@@ -88,7 +86,7 @@
 
                function edit_addressmasters($master,$group = 0)
                {
-                       
$GLOBALS['phpgw']->acl->delete_repository('addressbook','addressmaster');
+                       
$GLOBALS['phpgw']->acl->delete_repository('addressbook','addressmaster',False);
 
                        for($i=0;$i<count($master);$i++)
                        {
Index: admin/inc/class.boapplications.inc.php
diff -u admin/inc/class.boapplications.inc.php:1.10 
admin/inc/class.boapplications.inc.php:1.11
--- admin/inc/class.boapplications.inc.php:1.10 Wed May 11 07:23:07 2005
+++ admin/inc/class.boapplications.inc.php      Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Applications business object
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.boapplications.inc.php,v 1.10 2005/05/11 07:23:07 
powerstat Exp $
-       */
+  /**************************************************************************\
+  * 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.boapplications.inc.php,v 1.11 2006/02/14 08:48:21 skwashd Exp 
$ */
 
-       /**
-       * Applications business object
-       *
-       * @package admin
-       */
        class boapplications
        {
                var $so;
Index: admin/inc/class.bocategories.inc.php
diff -u admin/inc/class.bocategories.inc.php:1.19 
admin/inc/class.bocategories.inc.php:1.20
--- admin/inc/class.bocategories.inc.php:1.19   Wed May 11 07:23:07 2005
+++ admin/inc/class.bocategories.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,20 +1,17 @@
 <?php
-       /**
-       * Administration - Global categories
-       *
-       * @author Bettina Gille address@hidden
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.bocategories.inc.php,v 1.19 2005/05/11 07:23:07 
powerstat Exp $
-       */
-
-
-       /**
-       * Global categories
-       *
-       * @package admin
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Admin - Global categories                              
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Written by Bettina Gille address@hidden                          *
+       * -----------------------------------------------                       
   *
+       *  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.bocategories.inc.php,v 1.20 2006/02/14 08:48:21 skwashd 
Exp $ */
+       /* $Source: 
/cvsroot/phpgroupware/admin/inc/class.bocategories.inc.php,v $ */
+
        class bocategories
        {
                var $cats;
@@ -31,9 +28,9 @@
 
                function bocategories()
                {
-                       if ($_GET['appname'])
+                       if ($GLOBALS['appname'])
                        {
-                               $this->cats = 
CreateObject('phpgwapi.categories',-1,$_GET['appname']);
+                               $this->cats = 
CreateObject('phpgwapi.categories',-1,$GLOBALS['appname']);
                        }
                        else
                        {
@@ -42,19 +39,24 @@
 
                        $this->read_sessiondata();
 
-                       /* _debug_array($_POST); */
-                       /* Might change this to '' at the end---> */
-                       $start  = get_var('start',array('POST','GET'));
+                       /* _debug_array($GLOBALS['HTTP_POST_VARS']); */
+
+                       $start  = intval(get_var('start',array('POST','GET')));
                        $query  = get_var('query',array('POST','GET'));
-                       $sort   = get_var('sort', array('POST','GET'));
+                       $sort   = get_var('sort',array('POST','GET'));
                        $order  = get_var('order',array('POST','GET'));
-                       $cat_id = get_var('cat_id',array('POST','GET'));
+                       $cat_id = intval(get_var('cat_id', 
array('POST','GET')));
 
-                       if(!empty($start) || $start == '0' || $start == 0)
+                       if(!empty($start) || $start == 0)
                        {
                                if($this->debug) { echo '<br>overriding start: 
"' . $this->start . '" now "' . $start . '"'; }
                                $this->start = $start;
                        }
+                       else
+                       {
+                               $this->start = 0;
+                       }
+
                        if((empty($query) && !empty($this->query)) || 
!empty($query))
                        {
                                if($this->debug) { echo '<br>setting query to: 
"' . $query . '"'; }
@@ -65,14 +67,17 @@
                        {
                                $this->cat_id = $cat_id;
                        }
-                       if($cat_id == '0' || $cat_id == 0 || $cat_id == '')
+
+                       if($cat_id == 0)
                        {
                                unset($this->cat_id);
                        }
+
                        if(isset($sort) && !empty($sort))
                        {
                                $this->sort = $sort;
                        }
+
                        if(isset($order) && !empty($order))
                        {
                                $this->order = $order;
@@ -100,15 +105,23 @@
                        }
                }
 
-               function get_list()
+               function get_list($global_cats=False)
                {
                        if($this->debug) { echo '<br>querying: "' . 
$this->query . '"'; }
-                       return 
$this->cats->return_sorted_array($this->start,True,$this->query,$this->sort,$this->order,True);
+
+                       if ($global_cats)
+                       {
+                               return 
$this->cats->return_sorted_array($this->start,True,$this->query,$this->sort,$this->order,True);
+                       }
+                       else
+                       {
+                               return 
$this->cats->return_sorted_array($this->start,True,$this->query,$this->sort,$this->order);
+                       }
                }
 
                function save_cat($values)
                {
-                       if ($values['id'] && $values['id'] != 0)
+                       if ($values['cat_id'] && $values['cat_id'] != 0)
                        {
                                return $this->cats->edit($values);
                        }
@@ -120,19 +133,20 @@
 
                function exists($data)
                {
-                       $data['type']   = $data['type'] ? $data['type'] : '';
-                       $data['cat_id'] = $data['cat_id'] ? $data['cat_id'] : 
'';
-                       return 
$this->cats->exists($data['type'],$data['cat_name'],$data['cat_id']);
+                       return $this->cats->exists($data);
                }
 
                function formatted_list($data)
                {
-                       return 
$this->cats->formated_list($data['select'],$data['all'],$data['cat_parent'],True);
+                       return $this->cats->formatted_list($data);
                }
 
-               function delete($cat_id,$drop_subs=False,$mod_subs=True)
+               function delete($data)
                {
-                       return 
$this->cats->delete($cat_id,$drop_subs,$mod_subs);
+                       if (is_array($data))
+                       {
+                               $this->cats->delete($data);
+                       }
                }
 
                function check_values($values)
@@ -154,7 +168,7 @@
                                        (
                                                'type'     => 'appandmains',
                                                'cat_name' => $values['name'],
-                                               'cat_id'   => $values['id']
+                                               'cat_id'   => $values['cat_id']
                                        ));
                                }
                                else
@@ -163,7 +177,7 @@
                                        (
                                                'type'     => 'appandsubs',
                                                'cat_name' => $values['name'],
-                                               'cat_id'   => $values['id']
+                                               'cat_id'   => $values['cat_id']
                                        ));
                                }
 
Index: admin/inc/class.boconfig.inc.php
diff -u admin/inc/class.boconfig.inc.php:1.3 
admin/inc/class.boconfig.inc.php:1.4
--- admin/inc/class.boconfig.inc.php:1.3        Wed May 11 07:23:06 2005
+++ admin/inc/class.boconfig.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,21 +1,17 @@
 <?php
-       /**
-       * Administration - configuration
-       *
-       * @author Loic Dachary
-       * @copyright Copyright (C) 2001 Loic Dachary
-       * @copyright Copyright (C) 2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.boconfig.inc.php,v 1.3 2005/05/11 07:23:06 
powerstat Exp $
-       */
-
-
-       /**
-       * Configuration
-       *
-       * @package admin
-       */
+       
/**************************************************************************\
+       * phpGroupWare - configuration administration                           
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Copyright (C) 2001 Loic Dachary                                       
   *
+       * --------------------------------------------                          
   *
+       *  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.boconfig.inc.php,v 1.4 2006/02/14 08:48:21 skwashd Exp $ 
*/
+
        class boconfig
        {
                var $public_functions = array();
Index: admin/inc/class.bocurrentsessions.inc.php
diff -u admin/inc/class.bocurrentsessions.inc.php:1.11 
admin/inc/class.bocurrentsessions.inc.php:1.12
--- admin/inc/class.bocurrentsessions.inc.php:1.11      Wed May 11 07:23:07 2005
+++ admin/inc/class.bocurrentsessions.inc.php   Tue Feb 14 08:48:21 2006
@@ -1,20 +1,17 @@
 <?php
-       /**
-       * Administration - Current session
-       *
-       * @author Joseph Engo <address@hidden>
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.bocurrentsessions.inc.php,v 1.11 2005/05/11 
07:23:07 powerstat Exp $
-       */
-
-
-       /**
-       * Current session
-       *
-       * @package admin
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Administration                                         
   *
+       * http://www.phpgroupware.org                                           
   *
+       *  This file written by Joseph Engo <address@hidden>               *
+       * --------------------------------------------                          
   *
+       *  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.bocurrentsessions.inc.php,v 1.12 2006/02/14 08:48:21 
skwashd Exp $ */
+
        class bocurrentsessions
        {
                var $ui;
Index: admin/inc/class.bolog.inc.php
diff -u admin/inc/class.bolog.inc.php:1.9 admin/inc/class.bolog.inc.php:1.10
--- admin/inc/class.bolog.inc.php:1.9   Wed May 11 07:23:06 2005
+++ admin/inc/class.bolog.inc.php       Tue Feb 14 08:48:21 2006
@@ -1,76 +1,85 @@
 <?php
-       /**
-       * Administration - Log
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.bolog.inc.php,v 1.9 2005/05/11 07:23:06 powerstat 
Exp $
-       */
+       
/***************************************************************************\
+       * phpGroupWare - log                                                    
    *
+       * http://www.phpgroupware.org                                           
    *
+       * Written by : Jerry Westrick address@hidden                          *
+       * -------------------------------------------------                     
    *
+       * 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.bolog.inc.php,v 1.10 2006/02/14 08:48:21 skwashd Exp $ */
 
-       /**
-       * Log
-       *
-       * @package admin
-       */
        class bolog
        {
                var $public_functions = array
                (
-                       'list_log'              => True,
-                       'purge_log'             => True
+                       'read_log' => True
                );
-               
-               function bolog()
+
+               function bolog($session=False)
                {
-                       $this->so       = createobject('admin.solog');
+                       $this->so = CreateObject('admin.solog');
                }
 
-               function list_log($account_id,$start,$order,$sort)
+               function get_error_cols()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
-                       {
-                               return false;
-                       }
-                       
-                       $records = 
$this->so->list_log($account_id,$start,$order,$sort);
-                       while (is_array($records) && list(,$record) = 
each($records))
-                       {
-                               // build and pass the format by hand as we want 
to show the seconds
-                               $record['log_date'] = 
$GLOBALS['phpgw']->common->show_date(
-                                       
$GLOBALS['phpgw']->db->from_timestamp($record['log_date']), 
-                                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'] . ' - 
H:i:s');
-
-                               if (ereg('@',$record['log_account_lid']))
-                               {
-                                       $t = 
split('@',$record['log_account_lid']);
-                                       $record['log_account_lid'] = $t[0];
-                               }
-                               
-                               $record['log_severity'] = 
lang($GLOBALS['phpgw']->log->get_level_name($record['log_severity']));
-
-                               $_records[] = array(
-                                       'log_date'              => 
$record['log_date'],
-                                       'log_account_lid'   => 
$record['log_account_lid'],
-                                       'log_app'               => 
$record['log_app'],
-                                       'log_severity'      => 
$record['log_severity'],
-                                       'log_file'                      => 
$record['log_file'],
-                                       'log_line'              => 
$record['log_line'],     
-                                       'log_msg'                       => 
$record['log_msg']  
-                               );
-                       }
-                       return $_records;
+                       $fields = $this->so->get_error_cols();
+                       // boAccounts
+                       $fields['account_pwd']['include'] = false; 
+                       return $fields;
+               }
+
+               function get_error_cols_e()
+               {
+                       $fields = $this->so->get_error_cols_e();
+                       $fields['log_date_e']     = array();
+                       $fields['log_msg_date_e'] = array();
+                       $fields['log_full_name']  = array(); 
+                       // boAccounts
+                       $fields['account_pwd']['include']   = false; 
+                       $fields['account_lastlogin_e']      = array(); 
+                       $fields['account_lastloginfrom_e']  = array(); 
+                       $fields['account_lastpwd_change_e'] = array(); 
+                       return $fields;
                }
 
-               function purge_log($account_id) 
+               function get_error($values='')
                {
-                       return $this->so->purge_log($account_id);
+                       $rows = $this->so->get_error($values);
+                       // should remove the accounts_pwd
+                       return $rows;
                }
 
-               function total($account_id)
+               function get_no_errors()
                {
-                       return $this->so->total($account_id);
+                       $rows = $this->so->get_no_errors();
+                       return $rows;
                }
 
+               function get_error_e($values='')
+               {
+                       $rows = $this->so->get_error_e($values);
+
+                       // Enhance the fields
+                       reset($rows);
+                       while(list($rno,$r)=each($rows))
+                       {
+                               unset($r['acount_pwd']);        // remove the 
accounts_pwd
+                               $r['log_date_e']['value']               = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['log_date']['value']));
+                               $r['log_msg_date_e']['value']           = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['log_msg_date']['value']));
+                               $r['log_full_name']['value']            = 
$r['account_lastname']['value'] . ', ' .$r['account_firstname']['value'];
+                               $r['account_lastlogin_e']['value']      = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['account_lastlogin']['value']));
+                               $r['account_lastpwd_change_e']['value'] = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['account_lastpwd_change']['value']));
+                               $r['account_lastloginfrom_e']['value']  = 
'www.nowhere.com'; 
+
+                               $r['log_msg_text']['value'] = 
lang($r['log_msg_msg']['value'],explode('|',$r['log_msg_parms']['value']));
+
+                               $rows[$rno]=$r;
+                       }
+                       return $rows;
+               }
        }
+?>
Index: admin/inc/class.boserver.inc.php
diff -u admin/inc/class.boserver.inc.php:1.2 
admin/inc/class.boserver.inc.php:1.3
--- admin/inc/class.boserver.inc.php:1.2        Wed May 11 07:23:07 2005
+++ admin/inc/class.boserver.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,20 +1,17 @@
 <?php
-       /**
-       * Administration - Server
-       *
-       * @author Miles Lott <address@hidden>
-       * @copyright Copyright (C) 2001,2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.boserver.inc.php,v 1.2 2005/05/11 07:23:07 
powerstat Exp $
-       */
-
-
-       /**
-       * Server
-       *
-       * @package admin
-       */
+  /**************************************************************************\
+  * phpGroupWare - Admin                                                     *
+  * http://www.phpgroupware.org                                              *
+  * Written by Miles Lott <address@hidden>                         *
+  * --------------------------------------------                             *
+  *  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.boserver.inc.php,v 1.3 2006/02/14 08:48:21 skwashd Exp $ */
+
        class boserver
        {
                var $public_functions = array(
Index: admin/inc/class.html.inc.php
diff -u admin/inc/class.html.inc.php:1.7 admin/inc/class.html.inc.php:1.8
--- admin/inc/class.html.inc.php:1.7    Wed May 11 07:23:07 2005
+++ admin/inc/class.html.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,20 +1,17 @@
 <?php
-       /**
-       * Administration - HTML
-       *
-       * @author Jerry Westrick <address@hidden>
-       * @copyright Copyright (C) 2001,2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.html.inc.php,v 1.7 2005/05/11 07:23:07 powerstat 
Exp $
-       */
-
-
-       /**
-       * HTML
-       *
-       * @package admin
-       */
+       
/**************************************************************************\
+       * phpGroupWare - html                                                   
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Written by Jerry Westrick <address@hidden>                           *
+       * --------------------------------------------                          
   *
+       *  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.html.inc.php,v 1.8 2006/02/14 08:48:21 skwashd Exp $ */
+
        class html
        {
                function hash_table($rows,$head='',$obj, $frtn)
Index: admin/inc/class.soaccess_history.inc.php
diff -u admin/inc/class.soaccess_history.inc.php:1.7 
admin/inc/class.soaccess_history.inc.php:1.8
--- admin/inc/class.soaccess_history.inc.php:1.7        Wed May 11 07:23:07 2005
+++ admin/inc/class.soaccess_history.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Administration - Access history
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.soaccess_history.inc.php,v 1.7 2005/05/11 
07:23:07 powerstat Exp $
-       */
+       
/**************************************************************************\
+       * 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.soaccess_history.inc.php,v 1.8 2006/02/14 08:48:21 
skwashd Exp $ */
 
-       /**
-       * Access history
-       *
-       * @package admin
-       */
        class soaccess_history
        {
                var $db;
Index: admin/inc/class.soaccounts.inc.php
diff -u admin/inc/class.soaccounts.inc.php:1.13 
admin/inc/class.soaccounts.inc.php:1.14
--- admin/inc/class.soaccounts.inc.php:1.13     Wed May 11 07:23:07 2005
+++ admin/inc/class.soaccounts.inc.php  Tue Feb 14 08:48:21 2006
@@ -1,30 +1,46 @@
 <?php
-       /**
-       * Administration - Accounts
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.soaccounts.inc.php,v 1.13 2005/05/11 07:23:07 
powerstat Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare - account 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.soaccounts.inc.php,v 1.14 2006/02/14 08:48:21 skwashd Exp 
$ */
 
-       /**
-       * Accounts
-       *
-       * @package admin
-       */
        class soaccounts
        {
                function soaccounts()
                {
                }
 
+               function delete_user($id)
+               {
+                       if((int)$id)
+                       {
+                               return $GLOBALS['phpgw']->accounts->delete($id);
+                       }
+                       else
+                       {
+                               return false;
+                       }
+               }
+               
+               function update_user($userData)
+               {
+                       $GLOBALS['phpgw']->accounts->update_data($userData);
+                       $GLOBALS['phpgw']->accounts->save_repository();
+               }
+               
                function add_user($userData)
                {
-                       $userData['account_expires'] = $userData['expires'];
-                       $GLOBALS['phpgw']->db->lock(
-                               Array(
+                       $GLOBALS['phpgw']->db->lock
+                       (
+                               array
+                               (
                                        'phpgw_accounts',
                                        'phpgw_nextid',
                                        'phpgw_preferences',
@@ -32,20 +48,15 @@
                                        'phpgw_acl',
                                        'phpgw_applications',
                                        'phpgw_app_sessions',
-                                       'phpgw_hooks',
-                                       //PB asked for this... im not shure why 
is it causing
-                                       //them problems
-                                       'phpgw_lang'
+                                       'phpgw_hooks'
                                )
                        );
 
-                       $GLOBALS['phpgw']->accounts->account_type = 'u';
-                       $GLOBALS['phpgw']->accounts->create($userData);
-
-                       $userData['account_id'] = 
$GLOBALS['phpgw']->accounts->name2id($userData['account_lid']);
+                       $userData['account_id'] = 
$GLOBALS['phpgw']->accounts->create($userData);
 
-                       $apps = 
CreateObject('phpgwapi.applications',$userData['account_id']);
+                       $apps = 
CreateObject('phpgwapi.applications',array($userData['account_id'],'u'));
                        $apps->read_installed_apps();
+
                        // Read Group Apps
                        if ($userData['account_groups'])
                        {
@@ -68,8 +79,9 @@
 
                        $apps->account_type = 'u';
                        $apps->account_id = $userData['account_id'];
-                       $apps->data = Array(Array());
+                       $apps->account_apps = Array(Array());
 
+/* moved to bo
                        if ($userData['account_permissions'])
                        {
                                @reset($userData['account_permissions']);
@@ -86,27 +98,45 @@
                                }
                        }
                        $apps->save_repository();
+*/
+
+                       
$GLOBALS['phpgw']->acl->add_repository('preferences','changepassword',$userData['account_id'],1);
 
-                       if ($userData['changepassword'])
-                       {
-                               
$GLOBALS['phpgw']->acl->add_repository('preferences','changepassword',$userData['account_id'],1);
-                       }
                        // Assign user to groups
-                       if ($userData['account_groups'])
+                       if ($userData['groups'])
                        {
-                               $c_acct_groups = 
count($userData['account_groups']);
-                               for ($i=0;$i<$c_acct_groups;$i++)
+                               for ($i=0; $i < count($userData['groups']); 
$i++)
                                {
-                                       
$GLOBALS['phpgw']->acl->add_repository('phpgw_group',$userData['account_groups'][$i],$userData['account_id'],1);
-                                       
$GLOBALS['phpgw']->accounts->add_account2Group($userData['account_id'], 
$userData['account_groups'][$i]);
+                                       
$GLOBALS['phpgw']->acl->add_repository('phpgw_group',$userData['groups'][$i],$userData['id'],1);
                                }
                        }
 
+/*                     if ($apps_after)
+                       {
+                               $GLOBALS['pref'] = 
CreateObject('phpgwapi.preferences',$userData['account_id']);
+                               
$GLOBALS['phpgw']->hooks->single('add_def_pref','admin');
+                               while ($apps = each($apps_after))
+                               {
+                                       if (strcasecmp ($apps[0], 'admin') != 0)
+                                       {
+                                               
$GLOBALS['phpgw']->hooks->single('add_def_pref', $apps[1]);
+                                       }
+                               }
+                               $GLOBALS['pref']->save_repository(False);
+                       } */
+
                        $apps->account_apps = array(array());
                        $apps_after = array(array());
 
                        $GLOBALS['phpgw']->db->unlock();
 
+/*
+                       // start inlcuding other admin tools
+                       while($app = each($apps_after))
+                       {
+                               
$GLOBALS['phpgw']->hooks->single('add_user_data', $value);
+                       }
+*/
                        return $userData['account_id'];
                }
        }
Index: admin/inc/class.soapplications.inc.php
diff -u admin/inc/class.soapplications.inc.php:1.8 
admin/inc/class.soapplications.inc.php:1.9
--- admin/inc/class.soapplications.inc.php:1.8  Wed May 11 07:23:07 2005
+++ admin/inc/class.soapplications.inc.php      Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Administration - Applications
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.soapplications.inc.php,v 1.8 2005/05/11 07:23:07 
powerstat Exp $
-       */
+  /**************************************************************************\
+  * 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.soapplications.inc.php,v 1.9 2006/02/14 08:48:21 skwashd Exp $ 
*/
 
-       /**
-       * Applications
-       *
-       * @package admin
-       */
        class soapplications
        {
                var $db;
@@ -31,7 +28,7 @@
                        $this->db->next_record();
                        $app_info = array(
                                $this->db->f('app_name'),
-                               
$GLOBALS['phpgw_info']['apps'][$this->db->f('app_name')]['title'],
+                               $this->db->f('app_name'),
                                $this->db->f('app_enabled'),
                                $this->db->f('app_name'),
                                $this->db->f('app_order')
@@ -41,13 +38,13 @@
 
                function get_list()
                {
-                       $this->db->query('SELECT * FROM phpgw_applications 
WHERE app_enabled < 3',__LINE__,__FILE__);
+                       $this->db->query('SELECT * FROM phpgw_applications 
WHERE app_enabled<3',__LINE__,__FILE__);
                        if($this->db->num_rows())
                        {
                                while ($this->db->next_record())
                                {
                                        $apps[$this->db->f('app_name')] = array(
-                                               'title'  => 
lang($this->db->f('app_name')), 
+                                               'title'         => 
str_replace('- ','-',ucwords(str_replace('_','- ',$this->db->f('app_name')))),
                                                'name'   => 
$this->db->f('app_name'),
                                                'status' => 
$this->db->f('app_enabled')
                                        );
@@ -77,7 +74,7 @@
                function save($data)
                {
                        $sql = "UPDATE phpgw_applications SET app_name='" . 
addslashes($data['n_app_name']) . "',"
-                               . "app_enabled='" . $data['n_app_status'] . 
"',app_order='" . $data['app_order'] 
+                               . "app_enabled='" . $data['n_app_status'] . 
"',app_order='" . $data['app_order']
                                . "' WHERE app_name='" . $data['old_app_name'] 
. "'";
 
                        $this->db->query($sql,__LINE__,__FILE__);
Index: admin/inc/class.solog.inc.php
diff -u admin/inc/class.solog.inc.php:1.8 admin/inc/class.solog.inc.php:1.9
--- admin/inc/class.solog.inc.php:1.8   Wed May 11 07:23:07 2005
+++ admin/inc/class.solog.inc.php       Tue Feb 14 08:48:21 2006
@@ -1,82 +1,178 @@
 <?php
-       /**
-       * Administration - Log
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.solog.inc.php,v 1.8 2005/05/11 07:23:07 powerstat 
Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare - solog                                                  
   *
+       * http://www.phpgroupware.org                                           
   *
+       * This application written by Jerry Westrick <address@hidden>          *
+       * --------------------------------------------                          
   *
+       * Funding for this program was provided by http://www.checkwithmom.com  
   *
+       * --------------------------------------------                          
   *
+       *  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.solog.inc.php,v 1.9 2006/02/14 08:48:21 skwashd Exp $ */
 
-       /**
-       * Log
-       *
-       * @package admin
-       */
        class solog
        {
                var $db;
+               var $owner;
+               var $error_cols = '';
+               var $error_cols_e = '';
+               var $public_functions = array(
+                       'get_error_cols'   => True,
+                       'get_error_cols_e' => True,
+                       'get_error'        => True,
+                       'get_error_e'      => True
+               );
 
                function solog()
                {
-                       $this->db       = $GLOBALS['phpgw']->db;
+                       $this->db = $GLOBALS['phpgw']->db;
                }
 
-               function test_account_id($account_id)
+               function get_error_cols()
                {
-                       if ($account_id)
+                       if ($this->error_cols == '')
                        {
-                               return " where log_account_id='$account_id'";
+                               $this->error_cols = array();
+
+                               /* fields from phpgw_log table */
+                               $clist = $this->db->metadata('phpgw_log');
+                               for ($i=0; $i<count($clist); $i++)
+                               {
+                                       $name =  $clist[$i]['name'];
+                                       $this->error_cols[$name] = array();
+                               }
+
+                               /* fields from phpgw_log_msg table */
+                               $clist = $this->db->metadata('phpgw_log_msg');
+                               for ($i=0; $i<count($clist); $i++)
+                               {
+                                       $name =  $clist[$i]['name'];
+                                       $this->error_cols[$name] = array();
+                               }
                        }
+                       return $this->error_cols;
                }
 
-               function list_log($account_id,$start,$order,$sort)
+               function get_error_cols_e()
                {
-                       $where = $this->test_account_id($account_id);
-
-                       $this->db->limit_query("select 
log_date,log_account_lid,log_app,log_severity,log_file,log_line,log_msg from 
phpgw_log $where order by log_id desc",$start,__LINE__,__FILE__);
-                       while ($this->db->next_record())
+                       if ($this->task_cols_e == '')
                        {
-                               $records[] = array(
-                                       'log_date'              => 
$this->db->f('log_date'),
-                                       'log_account_lid'       => 
$this->db->f('log_account_lid'),
-                                       'log_app'               => 
$this->db->f('log_app'),
-                                       'log_severity'          => 
$this->db->f('log_severity'),
-                                       'log_file'                      => 
$this->db->f('log_file'),
-                                       'log_line'              => 
$this->db->f('log_line'),
-                                       'log_msg'                       => 
$this->db->f('log_msg')
-                               );
+                               /* Get Columns for Errors */
+                               $this->error_cols_e = $this->get_error_cols();
+
+                               /* Enhance with Columns for phpgw_accounts */
+                               $clist = $this->db->metadata('phpgw_accounts');
+                               for ($i=0; $i<count($clist); $i++)
+                               {
+                                       $name =  $clist[$i]['name'];
+                                       $this->error_cols_e[$name] = array();
+                               }
                        }
-                       return $records;
+                       return $this->error_cols_e;
                }
 
-               function total($account_id)
+               function get_error_e($parms)
                {
-                       $where = $this->test_account_id($account_id);
+                       /* Fixed From */
+                       if (!isset($parms['from']))
+                       {
+                               $parms['from'] = array('phpgw_accounts');
+                       }
+                       else
+                       {
+                               $parms['from'][] = 'phpgw_accounts';
+                       } 
 
-                       $this->db->query("select count(*) from phpgw_log 
$where");
-                       $this->db->next_record();
+                       /* Fix Where */
+                       if (!isset($parms['where']))
+                       {
+                               $parms['where'] = array('phpgw_log.log_user = 
phpgw_accounts.account_id');
+                       }
+                       else
+                       {
+                               $parms['where'][] = 'phpgw_log.log_id = 
phpgw_accounts.account_id';
+                       }
+                       
+                       /* Fix Default Fields */
+                       if (!isset($parms['fields']))
+                       {
+                               $parms['fields'] = $this->get_error_cols_e();
+                       }
+                       
+                       return $this->get_error($parms);
+               }
 
-                       return $this->db->f(0);
+               function get_no_errors()
+               {
+                       /* Get max ErrorId */
+                       $this->db->query("select count(*) as max_id from 
phpgw_log, phpgw_log_msg WHERE phpgw_log.log_id = 
phpgw_log_msg.log_msg_log_id",__LINE__,__FILE__);
+                       $this->db->next_record();
+                       return $this->db->f('max_id');
                }
-               
-               function purge_log($account_id)
+
+               function get_error($parms)
                {
-                       $where = $this->test_account_id($account_id);
+                       /* Get parameter values */
+                       $from    = $parms['from'];
+                       $where   = $parms['where'];
+                       $orderby = $parms['orderby'];
+                       $fields  = $parms['fields'];
+                       
+                       /* Build From_Clause */
+                       $from_clause = 'FROM phpgw_log, phpgw_log_msg ';
+                       if (isset($from))
+                       {
+                               $from[] = 'phpgw_log';
+                               $from[] = 'phpgw_log_msg';
+                               $from_clause = 'FROM '.implode(', ' , $from).' 
';
+                       }
 
-                       $db = $GLOBALS['phpgw']->db;
-                       $db->query("delete from phpgw_log 
$where",__LINE__,__FILE__);
-                       if ( $db->Errno ) {
-                               log_error(array('text' => 'Failed to delete log 
records from database using where clause of %1. DB errno %2: message %3',
-                                                               'p1' => $where,
-                                                               'p2' => 
$db->Errno,
-                                                               'p3' => 
$db->Error,
-                                                               'file' => 
__FILE__,
-                                                               'line' => 
__LINE__));
-                               return false;
+                       /* Build Where_Clause */
+                       $where_clause = 'WHERE phpgw_log.log_id = 
phpgw_log_msg.log_msg_log_id ';
+                       if (isset($where))
+                       {
+                               $where[] = 'phpgw_log.log_id = 
phpgw_log_msg.log_msg_log_id';
+                               $where_clause = 'WHERE ' . implode(' AND 
',$where) . ' ';
                        }
-                       return true;
-               }
 
+                       /* Build Order_By_Clause */
+                       $orderby_clause = 'ORDER BY phpgw_log.log_id, 
phpgw_log_msg.log_msg_seq_no ';
+                       if (isset($orderby))
+                       {
+                               $orderby_clause = 'ORDER BY ' . implode(', 
',$orderby);
+                       }
+
+                       /* If no Fields specified default to * */
+                       if (!isset($fields))
+                       {
+                               $fields = $this->get_error_cols();
+                       }
+
+                       $rows = array();
+
+                       /* Do Select  */
+                       @reset($fields);
+                       while(list($key,$val) = @each($fields))
+                       {
+                               $fkeys .= $key . ',';
+                       }
+                       $fkeys = substr($fkeys,0,-1);
+
+                       $select = 'SELECT ' . $fkeys . ' ' . $from_clause . 
$where_clause . $orderby_clause;
+                       $this->db->query($select,__LINE__,__FILE__);
+                       while($this->db->next_record())
+                       {
+                               reset($fields);
+                               while(list($fname,$fopt) = each($fields))
+                               {
+                                       $this_row[$fname]['value'] = 
$this->db->f($fname);
+                               }
+                               $rows[] = $this_row;
+                       }
+                       return $rows;
+               }
        }
Index: admin/inc/class.soserver.inc.php
diff -u admin/inc/class.soserver.inc.php:1.2 
admin/inc/class.soserver.inc.php:1.3
--- admin/inc/class.soserver.inc.php:1.2        Wed May 11 07:23:07 2005
+++ admin/inc/class.soserver.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,20 +1,17 @@
 <?php
-       /**
-       * Administration - Peer Servers
-       *
-       * @author Joseph Engo <address@hidden>
-       * @copyright Copyright (C) 2001,2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.soserver.inc.php,v 1.2 2005/05/11 07:23:07 
powerstat Exp $
-       */
-
-
-       /**
-       * Peer Servers
-       *
-       * @package admin
-       */
+  /**************************************************************************\
+  * phpGroupWare - Admin - Peer Servers                                      *
+  * http://www.phpgroupware.org                                              *
+  * Written by Joseph Engo <address@hidden>                                  *
+  * --------------------------------------------                             *
+  *  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.soserver.inc.php,v 1.3 2006/02/14 08:48:21 skwashd Exp $ */
+
        class soserver
        {
                var $is = '';
Index: admin/inc/class.uiaccess_history.inc.php
diff -u admin/inc/class.uiaccess_history.inc.php:1.12 
admin/inc/class.uiaccess_history.inc.php:1.13
--- admin/inc/class.uiaccess_history.inc.php:1.12       Wed May 11 07:23:07 2005
+++ admin/inc/class.uiaccess_history.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Administration - Access history
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uiaccess_history.inc.php,v 1.12 2005/05/11 
07:23:07 powerstat Exp $
-       */
+       
/**************************************************************************\
+       * 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.uiaccess_history.inc.php,v 1.13 2006/02/14 08:48:21 
skwashd Exp $ */
 
-       /**
-       * Access history
-       *
-       * @package admin
-       */
        class uiaccess_history
        {
                var $template;
Index: admin/inc/class.uiaccounts.inc.php
diff -u admin/inc/class.uiaccounts.inc.php:1.51 
admin/inc/class.uiaccounts.inc.php:1.52
--- admin/inc/class.uiaccounts.inc.php:1.51     Thu Sep 29 08:38:51 2005
+++ admin/inc/class.uiaccounts.inc.php  Tue Feb 14 08:48:21 2006
@@ -1,202 +1,64 @@
 <?php
-       /**
-       * Administration - Accounts
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uiaccounts.inc.php,v 1.51 2005/09/29 08:38:51 
sigurdne Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare - account administration                                 
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Written by coreteam <address@hidden>                    *
+       * -----------------------------------------------------                 
   *
+       *  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.uiaccounts.inc.php,v 1.52 2006/02/14 08:48:21 skwashd Exp 
$ */
 
-
-       /**
-       * Accounts
-       *
-       * @package admin
-       */
        class uiaccounts
        {
                var $public_functions = array
                (
-                       'list_groups'           => True,
-                       'list_users'            => True,
-                       'add_group'                     => True,
-                       'add_user'                      => True,
-                       'delete_group'          => True,
-                       'delete_user'           => True,
-                       'edit_user'                     => True,
-                       'edit_user_hook'        => True,
-                       'edit_group'            => True,
-                       'view_user'                     => True,
-                       'view_user_hook'        => True,
-                       'group_manager'         => True,
-                       'accounts_popup'        => True,
-                       'sync_accounts_contacts'=> True
+                       'list_groups'   => True,
+                       'list_users'    => True,
+                       'delete_group'  => True,
+                       'delete_user'   => True,
+                       'edit_user'             => True,
+                       'edit_group'    => True,
+                       'view_user'             => True,
+                       'group_manager' => True
                );
 
-               var $boaccounts;
+               var $bo;
                var $nextmatchs;
 
                function uiaccounts()
                {
-                       $this->boaccounts = createobject('admin.boaccounts');
-                       $this->nextmatchs = createobject('phpgwapi.nextmatchs');
+                       $GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
+
+                       $this->bo               = 
createobject('admin.boaccounts');
+                       $this->nextmatchs       = 
createobject('phpgwapi.nextmatchs');
+
                        @set_time_limit(300);
                }
 
-               function row_action($action,$type,$account_id,$person_id='')
+               function row_action($action,$type,$account_id)
                {
                        return '<a 
href="'.$GLOBALS['phpgw']->link('/index.php',Array(
                                'menuaction' => 
'admin.uiaccounts.'.$action.'_'.$type,
-                               'account_id' => $account_id,
-                               //jarg-SOG S
-                               'person_id' => $person_id
-                               //End
+                               'account_id' => $account_id
                        )).'"> '.lang($action).' </a>';
                }
 
                function list_groups()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('group_access',1,'admin'))
-                       {
-                               
$GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/admin/index.php'));
-                       }
-
-                       $query = (isset($_POST['query'])?$_POST['query']:'');
-
-                       $GLOBALS['cd'] = ($_GET['cd']?$_GET['cd']:0);
-                       
-                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
-                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
-                       $GLOBALS['phpgw']->common->phpgw_header();
-
-                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
-                       $p->set_file(
-                               array(
-                                       'groups'   => 'groups.tpl'
-                               )
-                       );
-                       $p->set_block('groups','list','list');
-                       $p->set_block('groups','row','row');
-                       $p->set_block('groups','row_empty','row_empty');
-
-                       $start  = $_GET['start']?intval($_GET['start']):0;
-                       
-                       //removed an if because both clauses where the same
-                       $account_info = 
$GLOBALS['phpgw']->accounts->get_list('groups',$start,$_GET['sort'],$_GET['order'],$query);
-                       $total = $GLOBALS['phpgw']->accounts->total;
-
-                       $url = $GLOBALS['phpgw']->link('/index.php');
-
-                       $var = Array(
-                               'th_bg'             => 
$GLOBALS['phpgw_info']['theme']['th_bg'],
-                               'left_next_matchs'  => 
$this->nextmatchs->left('/index.php',$start,$total,'menuaction=admin.uiaccounts.list_groups'),
-                               'right_next_matchs' => 
$this->nextmatchs->right('/admin/groups.php',$start,$total,'menuaction=admin.uiaccounts.list_groups'),
-                               'lang_groups'   => lang('user groups'),
-                               'sort_name'     => 
$this->nextmatchs->show_sort_order($_GET['sort'],'account_lid',$_GET['order'],'/index.php',lang('name'),'menuaction=admin.uiaccounts.list_groups'),
-                               'header_edit'   => lang('Edit'),
-                               'header_delete' => lang('Delete')
-                       );
-                       $p->set_var($var);
-
-                       if (!count($account_info) || !$total)
-                       {
-                               $p->set_var('message',lang('No matches found'));
-                               $p->parse('rows','row_empty',True);
-                       }
-                       else
-                       {
-                               if (! 
$GLOBALS['phpgw']->acl->check('group_access',8,'admin'))
-                               {
-                                       $can_view = True;
-                               }
-
-                               if (! 
$GLOBALS['phpgw']->acl->check('group_access',16,'admin'))
-                               {
-                                       $can_edit = True;
-                               }
-
-                               if (! 
$GLOBALS['phpgw']->acl->check('group_access',32,'admin'))
-                               {
-                                       $can_delete = True;
-                               }
-
-                               while (list($null,$account) = 
each($account_info))
-                               {
-                                       $tr_color = 
$this->nextmatchs->alternate_row_color($tr_color);
-                                       $var = Array(
-                                               'tr_color'    => $tr_color,
-                                               'group_name'  => 
(!$account['account_lid']?'&nbsp;':$account['account_lid']),
-                                               'delete_link' => 
$this->row_action('delete','group',$account['account_id'])
-                                       );
-                                       $p->set_var($var);
-
-                                       if ($can_edit)
-                                       {
-                                               
$p->set_var('edit_link',$this->row_action('edit','group',$account['account_id']));
-                                       }
-                                       else
-                                       {
-                                               
$p->set_var('edit_link','&nbsp;');
-                                       }
-
-                                       if ($can_delete)
-                                       {
-                                               
$p->set_var('delete_link',$this->row_action('delete','group',$account['account_id']));
-                                       }
-                                       else
-                                       {
-                                               
$p->set_var('delete_link','&nbsp;');
-                                       }
-
-                                       $p->fp('rows','row',True);
-
-                               }
-                       }
-                       $var = Array(
-                               'new_action'    => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.add_group'),
-                               'search_action' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups')
-                       );
-                       $p->set_var($var);
-
-                       if (! 
$GLOBALS['phpgw']->acl->check('group_access',4,'admin'))
+                       if ($_POST['done'] || 
$GLOBALS['phpgw']->acl->check('group_access',1,'admin'))
                        {
-                               $p->set_var('input_add','<input type="submit" 
value="' . lang('Add') . '">');
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uimainscreen.mainscreen');
                        }
 
-                       if (! 
$GLOBALS['phpgw']->acl->check('group_access',2,'admin'))
-                       {
-                               $p->set_var('input_search',lang('Search') . 
'&nbsp;<input name="query">');
-                       }
-
-                       $p->pfp('out','list');
-               }
-
-               function list_users($param_cd='')
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',1,'admin'))
+                       if($_POST['add'])
                        {
-                               
$GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/admin/index.php'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.edit_group');
                        }
 
-                       if($param_cd)
-                       {
-                               $cd = $param_cd;
-                       }
-                       
-                       if(isset($_POST['query']))
-                       {
-                               $GLOBALS['query'] = $_POST['query'];
-                       }
-                       
-                       if(isset($_POST['start']))
-                       {
-                               $start = intval($_POST['start']);
-                       }
-                       else
-                       {
-                               $start = 0;
-                       }
+                       $start = 
(isset($GLOBALS['HTTP_POST_VARS']['start'])?intval($GLOBALS['HTTP_POST_VARS']['start']):'');
 
                        if(isset($_GET['order']))
                        {
@@ -215,918 +77,468 @@
                        {
                                $sort = 'ASC';
                        }
-                       
-                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
-                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
-                       $GLOBALS['phpgw']->common->phpgw_header();
 
-                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
-
-                       $p->set_file(
-                               Array(
-                                       'accounts' => 'accounts.tpl'
-                               )
-                       );
-                       $p->set_block('accounts','list','list');
-                       $p->set_block('accounts','row','row');
-                       $p->set_block('accounts','row_empty','row_empty');
-
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',2,'admin'))
-                       {
-                               $account_info = 
$GLOBALS['phpgw']->accounts->get_list('accounts',$start,$sort,$order,$GLOBALS['query']);
-                               $total = $GLOBALS['phpgw']->accounts->total;
-                       }
-                       else
-                       {
-                               $account_info = 
$GLOBALS['phpgw']->accounts->get_list('accounts',$start,$sort,$order,$GLOBALS['query']);
-                               $total = $GLOBALS['phpgw']->accounts->total;
-                       }
+                       $query = (isset($_POST['query'])?$_POST['query']:'');
 
-                       $url = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_users');
+                       $GLOBALS['cd'] = ($_GET['cd']?$_GET['cd']:0);
 
-                       $var = Array(
-                               'bg_color' => 
$GLOBALS['phpgw_info']['theme']['bg_color'],
-                               'th_bg'    => 
$GLOBALS['phpgw_info']['theme']['th_bg'],
-                               'left_next_matchs'   => 
$this->nextmatchs->left($url,$start,$total,'menuaction=admin.uiaccounts.list_users'),
-                               'lang_user_accounts' => lang('%1 - %2 of %3 
user accounts',$start+1,$start+count($account_info),$total),
-                               'right_next_matchs'  => 
$this->nextmatchs->right($url,$start,$total,'menuaction=admin.uiaccounts.list_users'),
-                               'lang_loginid'       => 
$this->nextmatchs->show_sort_order($sort,'account_lid',$order,$url,lang('LoginID')),
-                               'lang_lastname'      => 
$this->nextmatchs->show_sort_order($sort,'account_lastname',$order,$url,lang('last
 name')),
-                               'lang_firstname'     => 
$this->nextmatchs->show_sort_order($sort,'account_firstname',$order,$url,lang('first
 name')),
-                               'lang_status'     => 
$this->nextmatchs->show_sort_order($sort,'account_status',$order,$url,lang('status')),
-                               'lang_edit'    => lang('edit'),
-                               'lang_delete'  => lang('delete'),
-                               'lang_view'    => lang('view'),
-                               'actionurl'    => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.add_user'),
-                               'accounts_url' => $url,
-                               'lang_search'  => lang('search')
-                       );
-                       $p->set_var($var);
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration') . ': ' . lang('list groups');
 
-                       if (! 
$GLOBALS['phpgw']->acl->check('account_access',4,'admin'))
-                       {
-                               $p->set_var('input_add','<input type="submit" 
value="' . lang('Add') . '">');
-                       }
+                       $GLOBALS['phpgw']->xslttpl->add_file('groups');
 
-                       if (! 
$GLOBALS['phpgw']->acl->check('account_access',2,'admin'))
-                       {
-                               $p->set_var('input_search',lang('Search') . 
'&nbsp;<input type="text" name="query" value='.$GLOBALS['query'].'>');
-                       }
+/* what should this be for??? this is the same call for both cases! can this 
be removed? [ceb] */
 
-                       if (!count($account_info) || !$total)
+                       if 
($GLOBALS['phpgw']->acl->check('group_access',2,'admin'))
                        {
-                               $p->set_var('message',lang('No matches found'));
-                               $p->parse('rows','row_empty',True);
+                               $account_info = 
$GLOBALS['phpgw']->accounts->get_list('groups',$start,$sort, $order, $query, 
$total);
+                               $total = $GLOBALS['phpgw']->accounts->total;
                        }
                        else
                        {
-                               if (! 
$GLOBALS['phpgw']->acl->check('account_access',8,'admin'))
-                               {
-                                       $can_view = True;
-                               }
-
-                               if (! 
$GLOBALS['phpgw']->acl->check('account_access',16,'admin'))
-                               {
-                                       $can_edit = True;
-                               }
-
-                               if (! 
$GLOBALS['phpgw']->acl->check('account_access',32,'admin'))
-                               {
-                                       $can_delete = True;
-                               }
-
-                               while (list($null,$account) = 
each($account_info))
-                               {
-                                       
$this->nextmatchs->template_alternate_row_color($p);
-
-                                       $var = array(
-                                               'row_loginid'   => 
$account['account_lid'],
-                                               'row_firstname' => 
(!$account['account_firstname']?'&nbsp':$account['account_firstname']),
-                                               'row_lastname'  => 
(!$account['account_lastname']?'&nbsp':$account['account_lastname']),
-                                               'row_status'    => 
$account['account_status']
-                                       );
-                                       $p->set_var($var);
-
-                                       if ($can_edit)
-                                       {
-                                               
$p->set_var('row_edit',$this->row_action('edit','user',$account['account_id']));
-                                       }
-                                       else
-                                       {
-                                               
$p->set_var('row_edit','&nbsp;');
-                                       }
-
-                                       if ($can_delete)
-                                       {
-                                               
$p->set_var('row_delete',($GLOBALS['phpgw_info']['user']['userid'] != 
$account['account_lid']?$this->row_action('delete','user',$account['account_id'],$account['person_id']):'&nbsp'));
-                                       }
-                                       else
-                                       {
-                                               
$p->set_var('row_delete','&nbsp;');
-                                       }
-
-                                       if ($can_view)
-                                       {
-                                               
$p->set_var('row_view',$this->row_action('view','user',$account['account_id']));
-                                       }
-                                       else
-                                       {
-                                               
$p->set_var('row_view','&nbsp;');
-                                       }
-                                       $p->parse('rows','row',True);
-                               }
-                       }               // End else
-                       $p->pfp('out','list');
-               }
-
-               function add_group()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('group_access',4,'admin'))
-                       {
-                               $this->list_groups();
-                               return False;
+                               $account_info = 
$GLOBALS['phpgw']->accounts->get_list('groups',$start,$sort, $order, $query, 
$total);
+                               $total = $GLOBALS['phpgw']->accounts->total;
                        }
 
-                       $group_info = Array(
-                               'account_id'   => $_GET['account_id'],
-                               'account_name' => '',
-                               'account_user' => Array(),
-                               'account_apps' => Array()
+                       $link_data = array
+                       (
+                               'menuaction' => 'admin.uiaccounts.list_groups'
+                       );
+
+                       $group_header = array
+                       (
+                               'sort_name'                             => 
$this->nextmatchs->show_sort_order(array
+                                                                               
        (
+                                                                               
                'sort'  => $sort,
+                                                                               
                'var'   => 'account_lid',
+                                                                               
                'order' => $order,
+                                                                               
                'extra' => $link_data
+                                                                               
        )),
+                               'lang_name'                             => 
lang('name'),
+                               'lang_edit'                             => 
lang('edit'),
+                               'lang_delete'                   => 
lang('delete'),
+                               'lang_sort_statustext'  => lang('sort the 
entries')
+                       );
+
+                       while (list($null,$account) = each($account_info))
+                       {
+                               $group_data[] = Array
+                               (
+                                       'edit_url'                              
        => 
($this->bo->check_rights('edit')?$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.edit_group&account_id='
 . $account['account_id']):''),
+                                       'lang_edit'                             
        => ($this->bo->check_rights('edit')?lang('edit'):''),
+                                       'lang_edit_statustext'          => 
($this->bo->check_rights('edit')?lang('edit this group'):''),
+                                       'group_name'                            
=> (!$account['account_lid']?'':$account['account_lid']),
+                                       'delete_url'                            
=> 
($this->bo->check_rights('delete')?$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.delete_group&account_id='
 . $account['account_id']):''),
+                                       'lang_delete_statustext'        => 
($this->bo->check_rights('delete')?lang('delete this group'):''),
+                                       'lang_delete'                           
=> ($this->bo->check_rights('delete')?lang('delete'):'')
                                );
-                       $this->create_edit_group($group_info);
-               }
-
-               function add_user()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',4,'admin'))
-                       {
-                               $this->list_users();
-                       }
-                       else
-                       {
-                               $this->create_edit_user(0);
                        }
-               }
 
-               function delete_group()
-               {
-                       if ($_POST['no'] || $_POST['yes'] || 
address@hidden($_GET['account_id']) || address@hidden'account_id'] || 
$GLOBALS['phpgw']->acl->check('group_access',32,'admin'))
-                       {
-                               if ($_POST['yes'])
-                               {
-                                       $this->boaccounts->delete_group();
-                               }
-                               $this->list_groups();
-                               return False;
-                       }
-
-                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
-                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
-                       $GLOBALS['phpgw']->common->phpgw_header();
-
-                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
-                       $p->set_file(
-                               Array(
-                                       'body' => 'delete_common.tpl',
-                                       'message_row' => 'message_row.tpl',
-                                       'form_button' => 
'form_button_script.tpl'
-                               )
-                       );
-
-                       $p->set_var('message_display',lang('Are you sure you 
want to delete this group ?'));
-                       $p->parse('messages','message_row');
-
-                       $old_group_list = 
$GLOBALS['phpgw']->acl->get_ids_for_location(intval($_GET['account_id']),1,'phpgw_group');
-
-                       if($old_group_list)
-                       {
-                               $group_name = 
$GLOBALS['phpgw']->accounts->id2name($_GET['account_id']);
-
-                               $p->set_var('message_display','<br>');
-                               $p->parse('messages','message_row',True);
-
-                               $user_list = '';
-                               while (list(,$id) = each($old_group_list))
-                               {
-                                       $user_list .= '<a href="' . 
$GLOBALS['phpgw']->link('/index.php',
-                                               Array(
-                                                       'menuaction' => 
'admin.uiaccounts.edit_user',
-                                                       'account_id' => $id
-                                               )
-                                       ) . '">' . 
$GLOBALS['phpgw']->common->grab_owner_name($id) . '</a><br>';
-                               }
-                               $p->set_var('message_display',$user_list);
-                               $p->parse('messages','message_row',True);
-
-                               $p->set_var('message_display',lang("Sorry, the 
above users are still a member of the group %1",$group_name)
-                                       . '.<br>' . lang('They must be removed 
before you can continue'). '.<br>' . lang('Remove all users from this 
group').'?');
-                               $p->parse('messages','message_row',True);
-                       }
-
-                       $var = Array(
-                               'form_action' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.delete_group'),
-                               'hidden_vars' => '<input type="hidden" 
name="account_id" value="'.$_GET['account_id'].'">',
-                               'yes'         => lang('Yes'),
-                               'no'          => lang('No')
-                       );
-                       $p->set_var($var);
-/*
-                       $p->parse('yes','form_button');
-
-
-                       $var = Array(
-                               'submit_button' => lang('Submit'),
-                               'action_url_button'     => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups'),
-                               'action_text_button'    => ' '.lang('No'),
-                               'action_confirm_button' => '',
-                               'action_extra_field'    => ''
+                       $group_add = array
+                       (
+                               'lang_add'                              => 
lang('add'),
+                               'lang_add_statustext'   => lang('add a group'),
+                               'action_url'                    => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups'),
+                               'lang_done'                             => 
lang('done'),
+                               'lang_done_statustext'  => lang('return to 
admin mainscreen'),
+                               'add_access'                    => 
($this->bo->check_rights('add')?'yes':''),
+                       );
+
+                       $nm = array
+                       (
+                               'start_record'  => $start,
+                               'num_records'   => count($account_info),
+                               'all_records'   => $total,
+                               'link_data'             => $link_data
+                       );
+
+                       $data = array
+                       (
+                               'nm_data'               => 
$this->nextmatchs->xslt_nm($nm),
+                               'search_data'   => 
$this->nextmatchs->xslt_search(array('query' => $query,'link_data' => 
$link_data)),
+                               'group_header'  => $group_header,
+                               'group_data'    => $group_data,
+                               'group_add'             => $group_add,
+                               'search_access' => 
($this->bo->check_rights('search')?'yes':'')
                        );
-                       $p->set_var($var);
-                       $p->parse('no','form_button');
-*/
-                       $p->pparse('phpgw_body','body');
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('group_list' => $data));
                }
 
-               function delete_user()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',32,'admin') || 
$GLOBALS['phpgw_info']['user']['account_id'] == $_GET['account_id'])
-                       {
-                               $this->list_users();
-                               return False;
-                       }
-
-                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
-                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
-                       $GLOBALS['phpgw']->common->phpgw_header();
-
-                       $t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
-                       $t->set_file(
-                               Array(
-                                       'form' => 'delete_account.tpl'
-                               )
-                       );
-
-                       $var = Array(
-                               'form_action' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.boaccounts.delete_user'),
-                               'account_id'  => $_GET['account_id'],
-                               //jarg-SOG S
-                               'person_id'  => $_GET['person_id']
-                               //End
-                       );
-
-                       // the account can have special chars/white spaces, if 
it is a ldap dn
-                       $account_id = rawurlencode($_GET['account_id']);
-
-                       // Find out who the new owner is of the deleted users 
records...
-                       $users = 
$GLOBALS['phpgw']->accounts->get_list('accounts');
-                       $c_users = count($users);
-                       $str = '';
-                       for($i=0;$i<$c_users;$i++)
-                       {
-                               $str .= '<option 
value='.$users[$i]['account_id'].'>'.$GLOBALS['phpgw']->common->display_fullname($users[$i]['account_lid'],$users[$i]['account_firstname'],$users[$i]['account_lastname']).'</option>'."\n";
-                       }
-                       $var['lang_new_owner'] = lang('Who would you like to 
transfer ALL records owned by the deleted user to?');
-                       $var['new_owner_select'] = '<select name="new_owner" 
size="5">'."\n".'<option value=0 selected>'.lang('Delete All 
Records').'</option>'."\n".$str.'</select>'."\n";
-                       $var['cancel'] = lang('cancel');
-                       $var['delete'] = lang('delete');
-                       $t->set_var($var);
-                       $t->pparse('out','form');
-               }
-
-               function edit_group($cd='',$account_id='')
+               function list_users($param_cd='')
                {
-                       if 
($GLOBALS['phpgw']->acl->check('group_access',16,'admin'))
+                       if ($_POST['done'] || 
$GLOBALS['phpgw']->acl->check('account_access',1,'admin'))
                        {
-                               $this->list_groups();
-                               return False;
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uimainscreen.mainscreen');
                        }
 
-                       $cdid = $cd;
-                       settype($cd,'integer');
-                       $cd = ($_GET['cd']?$_GET['cd']:intval($cdid));
-
-                       $accountid = $account_id;
-                       settype($account_id,'integer');
-                       $account_id = 
($_GET['account_id']?$_GET['account_id']:intval($accountid));
-
-                       // todo
-                       // not needed if i use the same file for new groups too
-                       if (! $account_id)
+                       if ($_POST['add'])
                        {
-                               $this->list_groups();
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.edit_user');
                        }
-                       else
-                       {
-                               $group_info = Array(
-                                       'account_id'   => 
intval($_GET['account_id']),
-                                       'account_name' => 
$GLOBALS['phpgw']->accounts->id2name($_GET['account_id']),
-                                       'account_user' => 
$this->boaccounts->load_group_users($_GET['account_id']),
-                                       'account_apps' => 
$this->boaccounts->load_group_apps($_GET['account_id'])
-                               );
 
-                               $this->create_edit_group($group_info);
-                       }
-               }
-
-               function edit_view_user_hook()
-               {
-                       if 
(!$GLOBALS['phpgw']->acl->check('current_sessions_access',1,'admin'))        // 
no rights to view
-                       {
-                               $GLOBALS['menuData'][] = array(
-                                       'description' => 'Login History',
-                                       'url'         => '/index.php',
-                                       'extradata'   => 
'menuaction=admin.uiaccess_history.list_history'
-                               );
-                       }
-                       // not sure if this realy belongs here, or only in 
edit_user
-                       if ($_GET['account_id'] &&      // can't set it on add
-                           
!$GLOBALS['phpgw']->acl->check('account_access',64,'admin'))        // no 
rights to set ACL-rights
-                       {
-                               $GLOBALS['menuData'][] = array(
-                                       'description' => 'ACL Rights',
-                                       'url'         => '/index.php',
-                                       'extradata'   => 
'menuaction=admin.uiaclmanager.list_apps'
-                               );
-                       }
-                       
-                       if ($_GET['account_id'] &&      // can't set it on add
-                           ! 
$GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))      
-                       {
-                               $GLOBALS['menuData'][] = array(
-                                       'description' => 'Error Log',
-                                       'url'         => '/index.php',
-                                       'extradata'   => 
'menuaction=admin.uilog.list_log'
-                               );
-                       }
-               }
-
-               function edit_user($cd='',$account_id='')
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',16,'admin'))
+                       if($param_cd)
                        {
-                               $this->list_users();
-                               return False;
+                               $cd = $param_cd;
                        }
 
-                       $cdid = $cd;
-                       settype($cd,'integer');
-                       $cd = ($_GET['cd']?$_GET['cd']:intval($cdid));
+                       $GLOBALS['query'] = 
(isset($GLOBALS['HTTP_POST_VARS']['query'])?$GLOBALS['HTTP_POST_VARS']['query']:'');
+                       $start = 
(isset($GLOBALS['HTTP_POST_VARS']['start'])?intval($GLOBALS['HTTP_POST_VARS']['start']):'');
 
-                       $accountid = $account_id;
-                       settype($account_id,'integer');
-                       $account_id = intval($_GET['account_id'] ? 
$_GET['account_id'] : $accountid);
-
-                       // todo
-                       // not needed if i use the same file for new users too
-                       if (! $account_id)
+                       if(isset($_GET['order']))
                        {
-                               $this->list_users();
-                               return False;
+                               $order = $_GET['order'];
                        }
                        else
                        {
-                               $this->create_edit_user($account_id);
-                       }
-               }
-
-               function view_user()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('account_access',8,'admin') || ! 
$_GET['account_id'])
-                       {
-                               $this->list_users();
-                               return False;
+                               $order = 'account_lid';
                        }
-                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
-                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
-                       $GLOBALS['phpgw']->common->phpgw_header();
-
-                       $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');
-
-                       $var = Array(
-                               'th_bg'        => 
$GLOBALS['phpgw_info']['theme']['th_bg'],
-                               'tr_color1'    => 
$GLOBALS['phpgw_info']['theme']['row_on'],
-                               'tr_color2'    => 
$GLOBALS['phpgw_info']['theme']['row_off'],
-                               'lang_action'  => lang('View user account'),
-                               'lang_loginid' => lang('LoginID'),
-                               'lang_account_active'   => lang('Account 
active'),
-                               'lang_lastname'      => lang('Last Name'),
-                               'lang_groups'        => lang('Groups'),
-                               'lang_anonymous'     => lang('Anonymous user 
(not shown in list sessions)'),
-                               'lang_changepassword'=> lang('Can change 
password'),
-                               'lang_firstname'     => lang('First Name'),
-                               'lang_lastlogin'     => lang('Last login'),
-                               'lang_lastloginfrom' => lang('Last login from'),
-                               //jarg-SOG S
-                               'lang_add_addbook' => lang('Addressbook Entry'),
-                               'lang_domain' => lang('Domain'),
-                               //End
-                               'lang_expires' => lang('Expires')
-                       );
-
-                       $t->parse('password_fields','form_logininfo',True);
-
-                       $account = 
CreateObject('phpgwapi.accounts',intval($_GET['account_id']),'u');
-                       $userData = $account->read_repository();
                        
-                       $var['account_lid']       = $userData['account_lid'];
-                       $var['account_firstname'] = 
$userData['account_firstname'];
-                       $var['account_lastname']  = 
$userData['account_lastname'];
-
-                       //jarg-SOG S
-                       $var['domain']  = $userData['domain'];
-                       $var['add_addbook']     = 
$userData['person_id']?'&nbsp;&nbsp;X':'&nbsp';
-                       //End
-
-                       $acl = 
CreateObject('phpgwapi.acl',intval($_GET['account_id']));
-                       $var['anonymous']         = 
$acl->check('anonymous',1,'phpgwapi') ? '&nbsp;&nbsp;X' : '&nbsp;';
-                       $var['changepassword']    = 
$acl->check('changepassword',0xFFFF,'preferences') ? '&nbsp;&nbsp;X' : '&nbsp;';
-                       unset($acl);
-
-                       if ($userData['status'])
+                       if(isset($_GET['sort']))
                        {
-                               $var['account_status'] = lang('Enabled');
+                               $sort = $_GET['sort'];
                        }
                        else
                        {
-                               $var['account_status'] = '<b>' . 
lang('Disabled') . '</b>';
+                               $sort = 'ASC';
                        }
 
-                       // twiggers Get Quota value
-                       if ($userData['quota'])
-                       {
-                               $var['quota'] = $userData['quota'];
-                       }
-                       
-                       // Last login time
-                       if ($userData['lastlogin'])
-                       {
-                               $var['account_lastlogin'] = 
$GLOBALS['phpgw']->common->show_date($userData['lastlogin']);
-                       }
-                       else
-                       {
-                               $var['account_lastlogin'] = lang('Never');
-                       }
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration') . ': ' . lang('list users');
 
-                       // Last login IP
-                       if ($userData['lastloginfrom'])
-                       {
-                               $var['account_lastloginfrom'] = 
$userData['lastloginfrom'];
-                       }
-                       else
-                       {
-                               $var['account_lastloginfrom'] = lang('Never');
-                       }
+                       $GLOBALS['phpgw']->xslttpl->add_file('users');
 
-                       // Account expires
-                       if ($userData['expires'] != -1)
-                       {
-                               $var['input_expires'] = 
$GLOBALS['phpgw']->common->show_date($userData['expires']);
-                       }
-                       else
-                       {
-                               $var['input_expires'] = lang('Never');
-                       }
+/* the same like in groups... we really should remove this... :) [ceb] */
 
-                       // Find out which groups they are members of
-                       $usergroups = 
$account->membership(intval($_GET['account_id']));
-                       if (gettype($usergroups) != 'array')
+                       if 
($GLOBALS['phpgw']->acl->check('account_access',2,'admin'))
                        {
-                               $var['groups_select'] = lang('None');
+                               $account_info = 
$GLOBALS['phpgw']->accounts->get_list('accounts',$start,$sort,$order,$GLOBALS['query'],$total);
+                               $total = $GLOBALS['phpgw']->accounts->total;
                        }
                        else
                        {
-                               while (list(,$group) = each($usergroups))
-                               {
-                                       $group_names[] = $group['account_name'];
-                               }
-                               $var['groups_select'] = implode(', 
',$group_names);
-                       }
-
-                       $account_lastlogin      = 
$userData['account_lastlogin'];
-                       $account_lastloginfrom  = 
$userData['account_lastloginfrom'];
-                       $account_status         = $userData['account_status'];
-
-                       // create list of available app
-                       $i = 0;
-               
-                       $availableApps = $GLOBALS['phpgw_info']['apps'];
-                       @asort($availableApps);
-                       @reset($availableApps);
-                       foreach($availableApps as $app => $data) 
-                       {
-                               if ($data['enabled'] && $data['status'] != 2) 
-                               {
-                                       $perm_display[$i]['appName'] = $app;
-                                       $perm_display[$i]['title']   = 
$data['title'];
-                                       $i++;
-                               }
-                       }
-
-                       // create apps output
-                       $apps = 
CreateObject('phpgwapi.applications',intval($_GET['account_id']));
-                       $db_perms = $apps->read_account_specific();
-
-                       @reset($db_perms);
-
-                       for ($i=0;$i<count($perm_display);$i++)
-                       {                       
-                               // twiggers
-                               if ($perm_display[$i]['appName']=='filemanager')
-                               {
-                                       if 
($_userData['account_permissions'][$perm_display[$i]['appName']] || 
$db_perms[$perm_display[$i]['appName']])
-                                       {
-                                               
$t->set_block('account','form_quota_view');
-                                       }       
-                               }
-                               
-                               if ($perm_display[$i]['title'])
-                               {
-                                       $part1 = 
sprintf("<td>%s</td><td>%s</td>",$perm_display[$i]['title'],($_userData['account_permissions'][$perm_display[$i]['appName']]
 || $db_perms[$perm_display[$i]['appName']]?'&nbsp;&nbsp;X':'&nbsp'));
-                               }
-
-                               $i++;
-                               // twiggers
-                               if ($perm_display[$i]['appName']=='filemanager')
-                               {
-                                       if 
($_userData['account_permissions'][$perm_display[$i]['appName']] || 
$db_perms[$perm_display[$i]['appName']])
-                                       {
-                                               
$t->set_block('account','form_quota_view');
-                                       }       
-                               }
-                               if ($perm_display[$i]['title'])
-                               {
-                                       $part2 = 
sprintf("<td>%s</td><td>%s</td>",$perm_display[$i]['title'],($_userData['account_permissions'][$perm_display[$i]['appName']]
 || $db_perms[$perm_display[$i]['appName']]?'&nbsp;&nbsp;X':'&nbsp'));
-                               }
-                               else
-                               {
-                                       $part2 = '<td colspan="2">&nbsp;</td>';
-                               }
-
-                               $appRightsOutput .= sprintf("<tr 
bgcolor=\"%s\">$part1$part2</tr>\n",$GLOBALS['phpgw_info']['theme']['row_on']);
-                       }
-
-                       $var['permissions_list'] = $appRightsOutput;
-                       // create the menu on the left, if needed
-//                     $menuClass = CreateObject('admin.uimenuclass');
-                       // This is now using ExecMethod()
-                       $var['rows'] = 
ExecMethod('admin.uimenuclass.createHTMLCode','view_user');
-                       $t->set_var($var);
-                       $t->pfp('out','form');
-               }
-
-               function group_manager($cd='',$account_id='')
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('group_access',16,'admin'))
-                       {
-                               $this->list_groups();
-                               return False;
+                               $account_info = 
$GLOBALS['phpgw']->accounts->get_list('accounts',$start,$sort,$order,$GLOBALS['query'],$total);
+                               $total = $GLOBALS['phpgw']->accounts->total;
                        }
 
-                       $cdid = $cd;
-                       settype($cd,'integer');
-                       $cd = ($_GET['cd']?$_GET['cd']:intval($cdid));
-
-                       $accountid = $account_id;
-                       settype($account_id,'integer');
-                       $account_id = 
($_GET['account_id']?$_GET['account_id']:intval($accountid));
-                       
-                       // todo
-                       // not needed if i use the same file for new groups too
-                       if (! $account_id)
-                       {
-                               $this->list_groups();
-                       }
-                       else
-                       {
-                               $group_info = Array(
-                                       'account_id'   => 
intval($_GET['account_id']),
-                                       'account_name' => 
$GLOBALS['phpgw']->accounts->id2name($_GET['account_id']),
-                                       'account_user' => 
$GLOBALS['phpgw']->accounts->member($_GET['account_id']),
-                                       'account_managers' => 
$this->boaccounts->load_group_managers($_GET['account_id'])
+                       $link_data = array
+                       (
+                               'menuaction' => 'admin.uiaccounts.list_users'
+                       );
+
+                       $user_header = array
+                       (
+                               'sort_lid'                              => 
$this->nextmatchs->show_sort_order(array
+                                                                               
        (
+                                                                               
                'sort'  => $sort,
+                                                                               
                'var'   => 'account_lid',
+                                                                               
                'order' => $order,
+                                                                               
                'extra' => $link_data
+                                                                               
        )),
+                               'lang_lid'                              => 
lang('loginid'),
+                               'sort_lastname'                 => 
$this->nextmatchs->show_sort_order(array
+                                                                               
        (
+                                                                               
                'sort'  => $sort,
+                                                                               
                'var'   => 'account_lastname',
+                                                                               
                'order' => $order,
+                                                                               
                'extra' => $link_data
+                                                                               
        )),
+                               'lang_lastname'                         => 
lang('Lastname'),
+                               'sort_firstname'                        => 
$this->nextmatchs->show_sort_order(array
+                                                                               
        (
+                                                                               
                'sort'  => $sort,
+                                                                               
                'var'   => 'account_firstname',
+                                                                               
                'order' => $order,
+                                                                               
                'extra' => $link_data
+                                                                               
        )),
+                               'lang_firstname'                        => 
lang('firstname'),
+                               'lang_view'                             => 
lang('view'),
+                               'lang_edit'                             => 
lang('edit'),
+                               'lang_delete'                   => 
lang('delete'),
+                               'lang_sort_statustext'  => lang('sort the 
entries')
+                       );
+
+                       while (list($null,$account) = each($account_info))
+                       {
+                               $user_data[] = Array
+                               (
+                                       'view_url'                              
        => 
($this->bo->check_rights('view','account_access')?$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.view_user&account_id='
 . $account['account_id']):''),
+                                       'lang_view'                             
        => ($this->bo->check_rights('view','account_access')?lang('view'):''),
+                                       'lang_view_statustext'          => 
($this->bo->check_rights('view','account_access')?lang('view this user'):''),
+                                       'edit_url'                              
        => 
($this->bo->check_rights('edit','account_access')?$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.edit_user&account_id='
 . $account['account_id']):''),
+                                       'lang_edit'                             
        => ($this->bo->check_rights('edit','account_access')?lang('edit'):''),
+                                       'lang_edit_statustext'          => 
($this->bo->check_rights('edit','account_access')?lang('edit this user'):''),
+                                       'lid'                                   
        => (!$account['account_lid']?'':$account['account_lid']),
+                                       'firstname'                             
        => (!$account['firstname']?'':$account['firstname']),
+                                       'lastname'                              
        => (!$account['lastname']?'':$account['lastname']),
+                                       'delete_url'                            
=> 
($this->bo->check_rights('delete','account_access')?$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.delete_user&account_id='
 . $account['account_id']):''),
+                                       'lang_delete_statustext'        => 
($this->bo->check_rights('delete','account_access')?lang('delete this 
user'):''),
+                                       'lang_delete'                           
=> ($this->bo->check_rights('delete','account_access')?lang('delete'):'')
                                );
-
-                               $this->edit_group_managers($group_info);
                        }
-               }
-
-               function accounts_popup()
-               {
-                       $GLOBALS['phpgw']->accounts->accounts_popup('admin');
-               }
 
-               function create_edit_group($group_info,$_errors='')
-               {
-                       // Maybe we should list this in setup/setup.inc.php and 
put it into the
-                       // phpgw_applications table ? (jengo)
-
-                       // hooks would be better imho - skwashd
-
-                       $apps_with_acl = array(
-                               'addressbook' => True,
-                               'todo'        => True,
-                               'calendar'    => True,
-                               'notes'       => True,
-                               'projects'    => True,
-                               'phonelog'    => True,
-                               'infolog'     => True,
-                               'filemanager' => True,
-                               'tts'         => True,
-                               'bookmarks'   => True,
-                               'img'         => True,
-                               'netsaint'    => True,
-                               'inv'         => True
+                       $user_add = array
+                       (
+                               'lang_add'                              => 
lang('add'),
+                               'lang_add_statustext'   => lang('add a user'),
+                               'action_url'                    => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_users'),
+                               'lang_done'                             => 
lang('done'),
+                               'lang_done_statustext'  => lang('return to 
admin mainscreen'),
+                               'add_access'                    => 
($this->bo->check_rights('add','account_access')?'yes':''),
                        );
 
-                       $sbox = createobject('phpgwapi.sbox');
-
-                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
-                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
-                       $GLOBALS['phpgw']->common->phpgw_header();
+                       $nm = array
+                       (
+                               'start_record'  => $start,
+                               'num_records'   => count($account_info),
+                               'all_records'   => $total,
+                               'link_data'             => $link_data
+                       );
 
-                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
-                       $p->set_file(Array('edit' => 'group_form.tpl'));
-                       $p->set_block('edit','select');
-                       $p->set_block('edit','popwin');
+                       $data = array
+                       (
+                               'nm_data'               => 
$this->nextmatchs->xslt_nm($nm),
+                               'search_data'   => 
$this->nextmatchs->xslt_search(array('query' => $query,'link_data' => 
$link_data)),
+                               'user_header'   => $user_header,
+                               'user_data'             => $user_data,
+                               'user_add'              => $user_add,
+                               'search_access' => 
($this->bo->check_rights('search','account_access')?'yes':'')
+                       );
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('account_list' => $data));
+               }
 
-                       $accounts = 
CreateObject('phpgwapi.accounts',$group_info['account_id'],'u');
+               function edit_group()
+               {
+                       $account_id   = 
get_var('account_id',array('POST','GET'));
+                       $values       = get_var('values',array('POST'));
+                       $account_user = get_var('account_user',array('POST'));
+                       $account_apps = get_var('account_apps',array('POST'));
 
-                       if 
($GLOBALS['phpgw_info']['user']['preferences']['common']['account_selection'] 
== 'popup')
+                       if ($values['save'])
                        {
-                               
$p->set_var('accounts_link',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.accounts_popup'));
-                               $p->set_var('lang_open_popup',lang('open popup 
window'));
+                               $error = $this->bo->validate_group($values);
 
-                               while(is_array($group_info['account_user']) && 
list($ac_id,) = each($group_info['account_user']))
+                               if (is_array($error))
+                               {
+                                       $error_list = 
$GLOBALS['phpgw']->common->error_list($error);
+                               }
+                               else
                                {
-                                       $ac_name = 
$GLOBALS['phpgw']->accounts->get_account_data($ac_id);
+                                       if (is_array($account_user))
+                                       {
+                                               $values['account_user'] = 
$account_user;
+                                       }
+
+                                       if (is_array($account_apps))
+                                       {
+                                               $values['account_apps'] = 
$account_apps;
+                                       }
 
-                                       $user_list .= '<option value="' . 
$ac_id . '" selected>'
-                                                               . 
$GLOBALS['phpgw']->common->display_fullname($ac_name[$ac_id]['lid'],$ac_name[$ac_id]['firstname'],$ac_name[$ac_id]['lastname'])
-                                                               . 
'</option>'."\n";
+                                       if ($values['account_id'])
+                                       {
+                                               $this->bo->edit_group($values);
+                                               $account_id = 
$values['account_id'];
+                                       }
+                                       else
+                                       {
+                                               $this->bo->edit_group($values);
+                                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.list_groups');
+                                       }
                                }
-                               $account_num = 
count($group_info['account_user']);
-                               $p->set_var('select_size',($account_num < 
25?$account_num:25));
-                               $p->set_var('user_list',$user_list);
-                               $p->fp('accounts','popwin',True);
                        }
-                       else
+                       
+                       if ($values['cancel'] || (!$account_id && 
$GLOBALS['phpgw']->acl->check('group_access',4,'admin')) || ($account_id && 
$GLOBALS['phpgw']->acl->check('group_access',16,'admin')))
                        {
-                               $account_list = $accounts->get_list('accounts');
-                               $account_num = count($account_list);
-
-                               $user_list = '';
-                               while (list($key,$entry) = each($account_list))
-                               {
-                                       $user_list .= '<option value="' . 
$entry['account_id'] . '"'
-                                       . 
$group_info['account_user'][intval($entry['account_id'])] . '>'
-                                       . 
$GLOBALS['phpgw']->common->display_fullname(
-                                               $entry['account_lid'],
-                                               $entry['account_firstname'],
-                                               $entry['account_lastname'])
-                                       . '</option>'."\n";
-                               }
-                               $p->set_var('select_size',($account_num < 
7?$account_num:7));
-                               $p->set_var('user_list',$user_list);
-                               $p->fp('accounts','select',True);
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.list_groups');
                        }
 
-                       $var = Array(
-                               'form_action'       => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.boaccounts.'.($group_info['account_id']?'edit':'add').'_group'),
-                               'hidden_vars'       => '<input type="hidden" 
name="account_id" value="' . $group_info['account_id'] . '">',
-                               'lang_group_name'   => lang('group name'),
-                               'group_name_value'  => 
$group_info['account_name'],
-                               'lang_include_user' => lang('Select users for 
inclusion'),
-                               'error'             => 
(!$_errors?'':'<center>'.$GLOBALS['phpgw']->common->error_list($_errors).'</center>'),
-                               'lang_permissions'  => lang('Permissions this 
group has')
+                       $group = CreateObject('phpgwapi.accounts', $account_id, 
'g');
+                       $group->read_repository();
+                       $group->member($account_id);
+                       $group_members = $group->get_members();
+                       $group_apps = $this->bo->load_group_apps($account_id);
+
+                       // this information should be provided by the app itself
+                       $apps_with_acl = array
+                       (
+                               'addressbook'   => True,
+                               'bookmarks'             => True,
+                               'calendar'              => True,
+                               'filemanager'   => True,
+                               'img'                   => True,
+                               'infolog'               => True,
+                               'inv'                   => True,
+                               'netsaint'              => True,
+                               'notes'                 => True,
+                               'phonelog'              => True,
+                               'phpwebhosting' => True,
+                               'projects'              => True,
+                               'todo'                  => True,
+                               'tts'                   => True
                        );
-                       $p->set_var($var);
 
-                       $group_repository = $accounts->read_repository();
-                       if (!$group_repository['file_space'])
-                       {
-                               $group_repository['file_space'] = 
$GLOBALS['phpgw_info']['server']['vfs_default_account_size_number'] . "-" . 
$GLOBALS['phpgw_info']['server']['vfs_default_account_size_type'];
-                       }
-       /*
-                       $file_space_array = explode ('-', 
$group_repository['file_space']);
-                       $account_file_space_types = array ('gb', 'mb', 'kb', 
'b');
-                       while (list ($num, $type) = each 
($account_file_space_types))
+
+                       $accounts = CreateObject('phpgwapi.accounts');
+                       $account_list = $accounts->get_list('accounts');
+                       $account_num = count($account_list);
+                       while (list($key,$entry) = each($account_list))
                        {
-                               $account_file_space_select .= '<option 
value="'.$type.'"'.($type==$file_space_array[1]?' selected':'').'>'.strtoupper 
($type).'</option>'."\n";
+                               $user_list[] = array
+                               (
+                                       'account_id'   => $entry['account_id'],
+                                       'account_name' => 
$GLOBALS['phpgw']->common->display_fullname($entry['account_lid'],
+                                                                               
                      $entry['account_firstname'],
+                                                                               
                      $entry['account_lastname']
+                                                                               
                     ),
+                                       'selected'                      => 
in_array(intval($entry['account_id']), $group_members) ? ' selected' : ''
+                               );
                        }
-                       $p->set_var ('lang_file_space', lang('File space'));
-                       $p->set_var ('account_file_space', '<input type=text 
name="account_file_space_number" value="'.trim($file_space_array[0]).'" 
size="7">');
-                       $p->set_var ('account_file_space_select','<select 
name="account_file_space_type">'."\n".$account_file_space_select.'</select>'."\n");
-       */
 
-                       reset($GLOBALS['phpgw_info']['apps']);
                        $sorted_apps = $GLOBALS['phpgw_info']['apps'];
-                       @asort($sorted_apps);
-                       @reset($sorted_apps);
+                       asort($sorted_apps);
                        while ($permission = each($sorted_apps))
                        {
                                if ($permission[1]['enabled'] && 
$permission[1]['status'] != 3)
                                {
-                                       $perm_display[] = Array(
-                                               $permission[0],
-                                               $permission[1]['title']
+                                       $app_list[] = array
+                                       (
+                                               'app_name'      => 
$permission[1]['title'],
+                                               'checkbox_name' => 
'account_apps[' . $permission[0] . ']',
+                                               'checked'       => 
$group_apps[$permission[0]] ? 'checked' : '',
+                                               'acl_url'       => 
($apps_with_acl[$permission[0]] && $account_id) ? 
$GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$permission[0].'&owner='.$account_id)
 : '',
+                                               'acl_img'             => 
$GLOBALS['phpgw']->common->image('admin','dot'),
+                                               'img_name'      => lang('Grant 
Access')
                                        );
                                }
                        }
 
-                       $perm_html = 
'<td>'.lang('Application').'</td><td>&nbsp;</td><td>'.lang('ACL').'</td>';
-                       $perm_html = '<tr 
bgcolor="'.$GLOBALS['phpgw_info']['theme']['th_bg'].'">'.
-                               $perm_html.$perm_html."</tr>\n";
-                       
-                       $tr_color = $GLOBALS['phpgw_info']['theme']['row_off'];
-                       for ($i=0;$i < count($perm_display);$i++)
-                       {
-                               $app = $perm_display[$i][0];
-                               if(!($i & 1))
-                               {
-                                       $tr_color = 
$this->nextmatchs->alternate_row_color();
-                                       $perm_html .= '<tr 
bgcolor="'.$tr_color.'">';
-                               }
-                               $perm_html .= '<td width="40%">' . 
$perm_display[$i][1] . '</td>'
-                                       . '<td width="5%"><input 
type="checkbox" name="account_apps['
-                                       . $perm_display[$i][0] . ']" 
value="True"'.($group_info['account_apps'][$app]?' checked':'').'></td><td 
width="5%" align="center">'
-                                       . ($apps_with_acl[$app] && 
$group_info['account_id']?'<a 
href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$app.'&owner='.$group_info['account_id'])
-                                       . '" target="_blank"><img 
src="'.$GLOBALS['phpgw']->common->image('admin','dot').'" border="0" hspace="3" 
align="absmiddle" alt="'
-                                       . lang('Grant 
Access').'"></a>':'&nbsp;').'</td>'.($i & 1?'</tr>':'')."\n";
-                       }
-                       if($i & 1)
-                       {
-                               $perm_html .= '<td 
colspan="4">&nbsp;</td></tr>';
-                       }
+                       $GLOBALS['phpgw']->xslttpl->add_file('groups');
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration') . ': ' . ((intval($account_id) > 0)?lang('edit 
group'):lang('add group'));
 
-                       $var = Array(
-                               'permissions_list'   => $perm_html,
-                               'lang_submit_button' => lang('submit changes')
+                       $data = array
+                       (
+                               'account_id'         => $account_id,
+                               'msgbox_data'        => $error_list,
+                               'edit_url'           => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'admin.uiaccounts.edit_group',
+                                                                               
                    'account_id' => $account_id
+                                                                               
                   )),
+                               'lang_account_name'  => lang('group name'),
+                               'value_account_name' => $group->get_lid(),
+                               'lang_include_user'  => lang('select users for 
inclusion'),
+                               'select_size'        => ( $account_num < 5 ) ? 
$account_num : 5,
+                               'lang_permissions'   => lang('permissions this 
group has'),
+                               'lang_application'   => lang('application'),
+                               'lang_acl'           => lang('acl'),
+                               'lang_cancel'          => lang('cancel'),
+                               'lang_save'              => lang('save'),
+                               'app_list'           => $app_list,
+                               'guser_list'         => $user_list,
                        );
-                       $p->set_var($var);
-
-                       // create the menu on the left, if needed
-                       
$p->set_var('rows',ExecMethod('admin.uimenuclass.createHTMLCode','group_manager'));
 
-                       $p->set_var('select','');
-                       $p->set_var('popwin','');
-                       $p->pfp('out','edit');
+                       /* create the menu on the left, if needed
+                       
$p->set_var('rows',ExecMethod('admin.uimenuclass.createHTMLCode','group_manager'));
 */
 
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('group_edit' => $data));
                }
 
-               function 
create_edit_user($_account_id,$_userData='',$_errors='')
+               function edit_user()
                {
-                       $sbox = createobject('phpgwapi.sbox');
-
-                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
-                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
-                       $GLOBALS['phpgw']->common->phpgw_header();
-
-                       $t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
-                       $t->set_unknowns('remove');
+                       $cd                            = 
get_var('cd',array('GET'));
+                       $account_id                    = 
get_var('account_id',array('GET','POST'));
+                       $values                        = 
get_var('values',array('POST'));
+                       $values['old_loginid']         = get_var('old_loginid', 
array('GET'));
+                       $values['account_groups']      = 
get_var('account_groups',array('POST'));
+                       $values['account_permissions'] = 
get_var('account_permissions',array('POST'));
 
-                       if 
($GLOBALS['phpgw_info']['server']['ldap_extra_attributes'] && 
($GLOBALS['phpgw_info']['server']['account_repository'] == 'ldap'))
-                       {
-                               $t->set_file(array('account' => 
'account_form_ldap.tpl'));
-                       }
-                       else
+                       if ($values['cancel'] || (!$account_id && 
$GLOBALS['phpgw']->acl->check('account_access',4,'admin')) || ($account_id && 
$GLOBALS['phpgw']->acl->check('account_access',16,'admin')))
                        {
-                               $t->set_file(array('account' => 
'account_form.tpl'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.list_users');
                        }
-                       $t->set_block('account','form','form');
-                       
$t->set_block('account','form_passwordinfo','form_passwordinfo');
-                       
$t->set_block('account','form_buttons_','form_buttons_');
-                       $t->set_block('account','link_row','link_row');
-                       //insert quota block
-                       $t->set_block('account','form_quota_edit');
-                       print_debug('Type : 
'.gettype($_userData).'<br>_userData(size) = 
"'.$_userData.'"('.strlen($_userData).')');
-                       if (is_array($_userData))
-                       {
-                               $userData = Array();
-                               $userData=$_userData;
-                               @reset($userData['account_groups']);
-                               while (list($key, $value) = 
@each($userData['account_groups']))
-                               {
-                                       $userGroups[$key]['account_id'] = 
$value;
-                               }
 
-                               $account = CreateObject('phpgwapi.accounts');
-                               $allGroups = $account->get_list('groups');
-                       }
-                       elseif(is_string($_userData) && $_userData=='')
+                       if ($values['save'])
                        {
-                               if($_account_id)
+                               $error = $this->bo->validate_user($values);
+
+                               if (is_array($error))
                                {
-                                       $account = 
CreateObject('phpgwapi.accounts',intval($_account_id),'u');
-                                       $userData = $account->read_repository();
-                                       $userGroups = 
$account->membership($_account_id);
-                                       $acl = 
CreateObject('phpgwapi.acl',$_account_id);
-                                       $acl->read_repository();
-                                       $userData['anonymous'] = 
$acl->check('anonymous',1,'phpgwapi');
-                                       $userData['changepassword'] = 
$acl->check('changepassword',0xFFFF,'preferences');
-                                       unset($acl);
+                                       $error_list = 
$GLOBALS['phpgw']->common->error_list($error);
                                }
                                else
                                {
-                                       $account = 
CreateObject('phpgwapi.accounts');
-                                       $userData = Array();
-                                       $userData['status'] = 'A';
-                                       $userGroups = Array();
-                                       $userData['anonymous'] = False;
-                                       $userData['changepassword'] = True;
+                                       if ($account_id)
+                                       {
+                                               $values['account_id'] = 
$account_id;
+                                       }
+                                       $this->bo->save_user($values);
+                                       
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.list_users');
                                }
-                               $allGroups = $account->get_list('groups');
+                       }
+
+                       $sbox = createobject('phpgwapi.sbox');
 
+                       if 
($GLOBALS['phpgw_info']['server']['ldap_extra_attributes'] && 
($GLOBALS['phpgw_info']['server']['account_repository'] == 'ldap'))
+                       {
+                       }
 
-                               if ($userData['expires'] == -1)
-                               {
-                                       $userData['account_expires_month'] = 0;
-                                       $userData['account_expires_day']   = 0;
-                                       $userData['account_expires_year']  = 0;
-                               }
-                               else
-                               {
-                                       /*Change this to be an admin/setup 
setting.
-                                          For now, default to expire one week 
from today. */
-                                          
-                                       $time_var = time() + (60*60*24*7);
-                                       $userData['account_expires_month'] = 
-                                               date('m',$userData['expires'] > 
0 ? $userData['expires'] : $time_var);
-                                       $userData['account_expires_day']   = 
-                                               date('d',$userData['expires'] > 
0 ? $userData['expires'] : $time_var);
-                                       $userData['account_expires_year']  = 
-                                               date('Y',$userData['expires'] > 
0 ? $userData['expires'] : $time_var);
-                               }
+                       print_debug('Type : 
'.gettype($_userData).'<br>_userData(size) = 
"'.$_userData.'"('.strlen($_userData).')');
 
-                               $allGroups = $account->get_list('groups');
+                       $GLOBALS['phpgw']->xslttpl->add_file('users');
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration') . ': ' . ($account_id?lang('edit user 
account'):lang('add user account'));
+
+                       if ($account_id)
+                       {
+                               $user_info = Array
+                               (
+                                       'account_name' => 
$GLOBALS['phpgw']->accounts->id2name($account_id),
+                                       'account_user' => 
$this->bo->load_group_users($account_id),
+                                       'account_apps' => 
$this->bo->load_group_apps($account_id)
+                               );
                        }
 
-                       $page_params['menuaction'] = 
'admin.boaccounts.'.($_account_id?'edit':'add').'_user';
-                       if($_account_id)
+                       if($account_id)
                        {
-                               $page_params['account_id']  = $_account_id;
-                               $page_params['old_loginid'] = 
rawurlencode($userData['account_lid']);
+                               $account = 
CreateObject('phpgwapi.accounts',intval($account_id),'u');
+                               $userData = $account->read_repository();
+                               $userGroups = $account->membership($account_id);
+                       }
+                       else
+                       {
+                               $account = CreateObject('phpgwapi.accounts');
+                               $userData = Array();
+                               $userData['status'] = 'A';
+                               $userGroups = Array();
                        }
+                       $allGroups = $account->get_list('groups');
 
-                       $var = Array(
-                               'form_action'    => 
$GLOBALS['phpgw']->link('/index.php',$page_params),
-                               'error_messages' => 
(!$_errors?'':'<center>'.$GLOBALS['phpgw']->common->error_list($_errors).'</center>'),
-                               'th_bg'          => 
$GLOBALS['phpgw_info']['theme']['th_bg'],
-                               'tr_color1'      => 
$GLOBALS['phpgw_info']['theme']['row_on'],
-                               'tr_color2'      => 
$GLOBALS['phpgw_info']['theme']['row_off'],
-                               'lang_action'    => ($_account_id?lang('Edit 
user account'):lang('Add new account')),
-                               'lang_loginid'   => lang('LoginID'),
-                               'lang_account_active' => lang('Account active'),
-                               'lang_password'  => lang('Password'),
-                               'lang_reenter_password' => lang('Re-Enter 
Password'),
-                               'lang_lastname'  => lang('Last Name'),
-                               'lang_groups'    => lang('Groups'),
-                               'lang_expires'   => lang('Expires'),
-                               'lang_firstname' => lang('First Name'),
-                               'lang_anonymous' => lang('Anonymous User (not 
shown in list sessions)'),
-                               'lang_changepassword' => lang('Can change 
password'),
-                               //jarg-SOG S
-                               'lang_add_addbook' => lang('Addressbook Entry'),
-                               'lang_domain' => lang('Domain'),
-                               //End
-                               'lang_button'    => 
($_account_id?lang('Save'):lang('Add')),
-                               'lang_permissions'  => lang('Permissions this 
user has')
-                       /* 'lang_file_space' => lang('File Space') */
-                       );
-                       $t->set_var($var);
-                       $t->parse('form_buttons','form_buttons_',True);
+                       if ($userData['expires'] == -1)
+                       {
+                               $userData['account_expires_month'] = 0;
+                               $userData['account_expires_day']   = 0;
+                               $userData['account_expires_year']  = 0;
+                       }
+                       else
+                       {
+                               /* Change this to be an admin/setup setting.  
For now, default to expire one week from today. */
+                               $time_var = time() + (60*60*24*7);
+                               $userData['account_expires_month'] = 
date('m',$userData['expires'] > 0 ? $userData['expires'] : $time_var);
+                               $userData['account_expires_day']   = 
date('d',$userData['expires'] > 0 ? $userData['expires'] : $time_var);
+                               $userData['account_expires_year']  = 
date('Y',$userData['expires'] > 0 ? $userData['expires'] : $time_var);
+                       }
 
-                       if 
($GLOBALS['phpgw_info']['server']['ldap_extra_attributes']) {
-                               $lang_homedir = lang('home directory');
-                               $lang_shell = lang('login shell');
+                       if 
($GLOBALS['phpgw_info']['server']['ldap_extra_attributes'])
+                       {
+                               $lang_homedir   = lang('home directory');
+                               $lang_shell             = lang('login shell');
                                $homedirectory = '<input name="homedirectory" 
value="'
-                                       . 
($_account_id?$userData['homedirectory']:$GLOBALS['phpgw_info']['server']['ldap_account_home'].SEP.$account_lid)
+                                       . 
($account_id?$userData['homedirectory']:$GLOBALS['phpgw_info']['server']['ldap_account_home'].SEP.$account_lid)
                                        . '">';
                                $loginshell = '<input name="loginshell" value="'
-                                       . 
($_account_id?$userData['loginshell']:$GLOBALS['phpgw_info']['server']['ldap_account_shell'])
+                                       . 
($account_id?$userData['loginshell']:$GLOBALS['phpgw_info']['server']['ldap_account_shell'])
                                        . '">';
                        }
-                       else
-                       {
-                               $lang_homedir = '';
-                               $lang_shell = '';
-                               $homedirectory = '';
-                               $loginshell = '';
-                       }
-                       
+
                        $_y = 
$sbox->getyears('account_expires_year',$userData['account_expires_year'],date('Y'),date('Y')+10);
                        $_m = 
$sbox->getmonthtext('account_expires_month',$userData['account_expires_month']);
                        $_d = 
$sbox->getdays('account_expires_day',$userData['account_expires_day']);
 
-                       $account_file_space = '';
-               /*
+               /*      $account_file_space = '';
                        if (!$userData['file_space'])
                        {
                                $userData['file_space'] = 
$GLOBALS['phpgw_info']['server']['vfs_default_account_size_number'] . "-" . 
$GLOBALS['phpgw_info']['server']['vfs_default_account_size_type'];
@@ -1152,122 +564,43 @@
                        );
                        $t->set_var($var);
                */
-                       //jarg-SOG S edited by skwashd
-                       if($_account_id)
-                       {
-                               $referer = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.edit_user&account_id='
 . $_account_id);
-
-                               $add_masters    = 
$this->boaccounts->get_addressmaster_ids();
-                               $add_users              = 
$GLOBALS['phpgw']->accounts->return_members($add_masters);
-                               $masters                = $add_users['users'];
-
-                               if (is_array($masters) && 
in_array($GLOBALS['phpgw_info']['user']['account_id'],$masters))
-                               {
-                                       if($userData['person_id'])
-                                       {
-                                               $addressbook_label = 'Edit 
entry';
-                                               $edit_entry =   
$GLOBALS['phpgw']->link('/index.php', array(
-                                                                               
                'menuaction'    => 'addressbook.uiaddressbook.edit_person',
-                                                                               
                'ab_id'         => $userData['person_id'],
-                                                                               
                'referer'       =>rawurlencode($referer)));
-                                       }
-                                       else
-                                       {
-                                               $edit_entry = '';
-                                               $addressbook_message = 
lang('This account has no contact entry yet');
-                                       }
-                               }
-                               else
-                               {
-                                       $addressbook_label = 'You do not have 
edit access to addressmaster contacts';
-                                       $edit_entry =   
$GLOBALS['phpgw']->link('/index.php', array(
-                                                                               
        'menuaction'    => 'admin.uiaclmanager.edit_addressmasters',
-                                                                               
        'account_id'    => $GLOBALS['phpgw_info']['user']['account_id'],
-                                                                               
        'referer'       => rawurlencode($referer)));
-                               }
-                       }
-                       else
-                       {
-                               $addressbook_label = '';
-                               $edit_entry = '';
-                               $addressbook_message = '';
-                       }
-                       //End
-                       
-                       if($userData['status']=='I')
-                       {
-                               unset($userData['status']);
-                       }
-
-                       $var = Array(
-                               'input_expires' => 
$GLOBALS['phpgw']->common->dateformatorder($_y,$_m,$_d,True),
-                               'lang_never'    => lang('Never'),
-                               'account_lid'   => '<input name="account_lid" 
value="' . $userData['account_lid'] . '">',
-                               'lang_homedir'  => $lang_homedir,
-                               'lang_shell'    => $lang_shell,
-                               'homedirectory' => $homedirectory,
-                               'loginshell'    => $loginshell,
-                               'anonymous'     => '<input type="checkbox" 
name="anonymous" value="1"'.($userData['anonymous'] ? ' checked' : '').'>',
-                               'changepassword'=> '<input type="checkbox" 
name="changepassword" value="1"'.($userData['changepassword'] ? ' checked' : 
'').'>',
-                               'account_status'    => '<input type="checkbox" 
name="account_status" value="A"'.($userData['status']?' checked':'').'>',
-                               'account_firstname' => '<input 
name="account_firstname" value="' . $userData['account_firstname'] . '">',
-                               'account_lastname'      => '<input 
name="account_lastname" value="' . $userData['account_lastname'] . '">',
-                               //jarg-SOG S
-                               'add_addbook'   => $edit_entry ? '<a href="' . 
$edit_entry . '">' . lang($addressbook_label) . '</a>':$addressbook_message,
-                               'person_id'     => '<input type="hidden" 
NAME="person_id" VALUE="' . $userData['person_id'] . '">',
-                               //End
-                               'account_passwd'    => $account_passwd,
-                               'account_passwd_2'  => $account_passwd_2,
-                               'account_file_space' => $account_file_space
-                       );
 
-                       if($userData['expires'] == -1)
-                       {
-                               $var['never_expires'] = '<input type="checkbox" 
name="never_expires" value="True" checked>';
-                       }
-                       else
+                       reset($allGroups);
+                       while (list($key,$value) = each($allGroups)) 
                        {
-                               $var['never_expires'] = '<input type="checkbox" 
name="never_expires" value="True">';
+                               $group_list[] = array
+                               (
+                                       'account_id'            => 
$value['account_id'],
+                                       'account_lid'           => 
$value['account_lid']
+                               );
                        }
 
-                       $t->set_var($var);
-                       $t->parse('password_fields','form_passwordinfo',True);
-
-//                     $allAccounts;
-//                     $userGroups;
-
-                       $groups_select = '';
-                       reset($allGroups);
-                       while (list($key,$value) = each($allGroups))
+                       for ($i=0;$i<count($userGroups);$i++)
                        {
-                               $groups_select .= '<option value="' . 
$value['account_id'] . '"';
-                               for ($i=0; $i<count($userGroups); $i++)
+                               for($j=0;$j<count($group_list);$j++)
                                {
-                                       /* print 
"Los1:".$userData["account_id"].$userGroups[$i]['account_id']." : 
".$value['account_id']."<br>"; */
-                                       if (@$userGroups[$i]['account_id'] == 
$value['account_id'])
+                                       if ($userGroups[$i]['account_id'] == 
$group_list[$j]['account_id'])
                                        {
-                                               $groups_select .= ' selected';
+                                               $group_list[$j]['selected'] = 
'yes';
                                        }
                                }
-                               $groups_select .= '>' . $value['account_lid'] . 
'</option>'."\n";
                        }
 
                        /* create list of available apps */
                        $i = 0;
-
-                       $apps = 
CreateObject('phpgwapi.applications',$_account_id);
+                       $apps = 
CreateObject('phpgwapi.applications',$account_id);
                        $db_perms = $apps->read_account_specific();
 
                        @reset($GLOBALS['phpgw_info']['apps']);
                        $availableApps = $GLOBALS['phpgw_info']['apps'];
                        @asort($availableApps);
                        @reset($availableApps);
-                       while (list($key,$application) = each($availableApps))
+                       while (list($key,$application) = each($availableApps)) 
                        {
-                               if ($application['enabled'] && 
$application['status'] != 3)
+                               if ($application['enabled'] && 
$application['status'] != 3) 
                                {
                                        $perm_display[$i]['appName']        = 
$key;
-                                       $perm_display[$i]['title'] = 
$application['title'];
+                                       $perm_display[$i]['translatedName'] = 
$application['title'];
                                        $i++;
                                }
                        }
@@ -1275,77 +608,290 @@
                        /* create apps output */
                        $appRightsOutput = '';
 //                     @reset($perm_display);
-                       //Helper to check if filemanager is present
-                       $fileman_exists = False;
-                       for ($i=0;$i<=count($perm_display);$i++)
+                       for ($i=0;$i<count($perm_display);$i++) 
                        {
-                               //only set if filemanager is present
-                               if ($perm_display[$i]['appName']=='filemanager')
-                               {
-                                       $fileman_exists=True;
-                               }               
-                               
-                               $checked = 
((($userData['account_permissions'][$perm_display[$i]['appName']] || 
$db_perms[$perm_display[$i]['appName']]) && $_account_id)?' checked':'');
+                               $app_list[] = array
+                               (
+                                       'app_title'             => 
$perm_display[$i]['translatedName'],
+                                       'checkbox_name' => 
'account_permissions[' . $perm_display[$i]['appName'] . ']',
+                                       'checked'               => 
($userData['account_permissions'][$perm_display[$i]['appName']] || 
$db_perms[$perm_display[$i]['appName']]?'yes':'')
+                               );
+                       }
 
-                               if ($perm_display[$i]['title'])
-                               {
-                                       $part[$i&1] = 
sprintf('<td>%s</td><td><input type="checkbox" name="account_permissions[%s]" 
value="True"%s></td>',
-                                               $perm_display[$i]['title'],
-                                               $perm_display[$i]['appName'],
-                                               $checked);
-                               }
-                               else
-                               {
-                                       $part[1] = '<td 
colspan="2">&nbsp;</td>';
+                       $page_params['menuaction'] = 
'admin.uiaccounts.edit_user';
+                       if($account_id)
+                       {
+                               $page_params['account_id']  = $account_id;
+                               $page_params['old_loginid'] = 
rawurlencode($userData['account_lid']);
+                       }
+
+                       $data = array
+                       (
+                               'msgbox_data'                   => $error_list,
+                               'edit_url'                              => 
$GLOBALS['phpgw']->link('/index.php',$page_params),
+                               'lang_lid'                              => 
lang('loginid'),
+                               'lang_account_active'   => lang('account 
active'),
+                               'lang_password'                 => 
lang('password'),
+                               'lang_reenter_password' => lang('Re-Enter 
Password'),
+                               'lang_lastname'                 => 
lang('lastname'),
+                               'lang_groups'                   => 
lang('groups'),
+                               'lang_expires'                  => 
lang('expires'),
+                               'lang_firstname'                => 
lang('firstname'),
+                               'lang_applications'             => 
lang('applications'),
+                               'lang_save'                             => 
lang('save'),
+                               'lang_cancel'                   => 
lang('cancel'),
+                               'select_expires'                => 
$GLOBALS['phpgw']->common->dateformatorder($_y,$_m,$_d,True),
+                               'lang_never'                    => 
lang('Never'),
+                               'account_lid'                   => 
$userData['account_lid'],
+                               'lang_homedir'                  => 
$lang_homedir,
+                               'lang_shell'                    => $lang_shell,
+                               'homedirectory'                 => 
$homedirectory,
+                               'loginshell'                    => $loginshell,
+                               'account_status'                => 
($userData['status']?'yes':''),
+                               'account_firstname'             => 
$userData['firstname'],
+                               'account_lastname'              => 
$userData['lastname'],
+                               'account_passwd'                => 
$account_passwd,
+                               'account_passwd_2'              => 
$account_passwd_2,
+                               'expires_never'                 => 
(($userData['expires'] == -1)?'yes':''),
+                               'group_list'                    => $group_list,
+                               'app_list'                              => 
$app_list
+                       );
+
+                       /* create the menu on the left, if needed
+                       $menuClass = CreateObject('admin.uimenuclass');
+                       This is now using ExecMethod()
+                       
$t->set_var('rows',ExecMethod('admin.uimenuclass.createHTMLCode','edit_user')); 
*/
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('account_edit' => $data));
+               }
+
+               function view_user()
+               {
+                       if 
($GLOBALS['phpgw']->acl->check('account_access',8,'admin') || ! 
$_GET['account_id'])
+                       {
+                               $this->list_users();
+                               return false;
+                       }
+
+                       $account = 
CreateObject('phpgwapi.accounts',intval($_GET['account_id']),'u');
+                       $userData = $account->read_repository();
+                       
+                       if ($userData['status'])
+                       {
+                               $userData['account_status'] = lang('Enabled');
+                       }
+                       else
+                       {
+                               $userData['account_status'] = lang('Disabled');
+                       }
+                       
+                       if ($userData['lastlogin'])
+                       {
+                               $userData['account_lastlogin'] = 
$GLOBALS['phpgw']->common->show_date($userData['lastlogin']);
+                       }
+                       else
+                       {
+                               $userData['account_lastlogin'] = lang('Never');
+                       }
+                       
+                       if ($userData['expires'] != -1)
+                       {
+                               $userData['input_expires'] = 
$GLOBALS['phpgw']->common->show_date($userData['expires']);
+                       }
+                       else
+                       {
+                               $userData['input_expires'] = lang('Never');
+                       }
+                       // Find out which groups they are members of
+                       $usergroups = 
$account->membership(intval($_GET['account_id']));
+                       while (list(,$group) = each($usergroups))
+                       {
+                               $userData['groups'][] = $group['account_name'];
+                       }
+
+                       //Permissions
+                       $availableApps = $GLOBALS['phpgw_info']['apps'];
+                       $apps  = 
CreateObject('phpgwapi.applications',intval($_GET['account_id']));
+                       $perms = array_keys($apps->read_account_specific());
+                       if(is_array($availableApps) && count($availableApps))
+                       {
+                               asort($availableApps);
+                               $i = 0;
+                               while ($application = each($availableApps)) 
+                               {
+                                       if ($application[1]['enabled'] && 
$application[1]['status'] != 2) 
+                                       {
+                                               
$userData['permissions'][$i]['name'] = $application[1]['title'];
+                                               
if(in_array($application[1]['name'], $perms))
+                                               {
+                                                       
$userData['permissions'][$i]['enabled'] = true;
+                                               }
+                                       }
+                                       $i++;
                                }
+                       }
+
+                       // Labels
+                       $userData['l_action']           = lang('View user 
account');
+                       $userData['l_loginid']          = lang('LoginID');
+                       $userData['l_account_active']   = lang('Account 
active');
+                       $userData['l_password']         = lang('Password');
+                       $userData['l_lastname']         = lang('Last Name');
+                       $userData['l_groups']           = lang('Groups');
+                       $userData['l_firstname']        = lang('First Name');
+                       $userData['l_lastlogin']        = lang('Last login');
+                       $userData['l_lastloginfrom']    = lang('Last login 
from');
+                       $userData['l_expires']          = lang('Expires');
+                       $userData['l_back']             = lang('Back');
+
+                       // Interactions
+                       $userData['i_back']             = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_users');
+                       
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration');
+                       $GLOBALS['phpgw']->xslttpl->add_file('users');
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('account_view' => $userData));
+               }
+
+               function delete_group()
+               {
+                       $account_id = get_var('account_id',array('POST','GET'));
+
+                       if ($_POST['cancel'] || 
$GLOBALS['phpgw']->acl->check('group_access',32,'admin'))
+                       {
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.list_groups');
+                       }
+
+                       if ($account_id && $_POST['delete'])
+                       {
+                               $this->bo->delete_group($account_id);
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiaccounts.list_groups');
+                       }
+
+                       
$GLOBALS['phpgw']->xslttpl->add_file(array($GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
 . SEP . 'app_delete'));
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration') . ': ' . lang('delete group');
+
+                       $data = array
+                       (
+                               'delete_url'                            => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.delete_group&account_id='
 . $account_id),
+                               'lang_delete'                           => 
lang('delete'),
+                               'lang_cancel'                           => 
lang('cancel'),
+                               'lang_delete_statustext'        => lang('delete 
the group'),
+                               'lang_cancel_statustext'        => lang('Leave 
the group untouched and return back to the list'),
+                               'lang_delete_msg'                       => 
lang('are you sure you want to delete this group ?')
+                       );
+
+                       $old_group_list = 
$GLOBALS['phpgw']->acl->get_ids_for_location(intval($account_id),1,'phpgw_group');
+
+                       if($old_group_list)
+                       {
+                               $group_name = 
$GLOBALS['phpgw']->accounts->id2name($account_id);
 
-                               if ($i & 1)
+                               $user_list = '';
+                               while (list(,$id) = each($old_group_list))
                                {
-                                       $appRightsOutput .= sprintf('<tr 
bgcolor="%s">%s%s</tr>',$this->nextmatchs->alternate_row_color()/*$GLOBALS['phpgw_info']['theme']['row_on']*/,
 $part[0], $part[1]);
+                                       $data['user_list'][] = array
+                                       (
+                                               'user_url'                      
                => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.edit_user&account_id='
 . $id),
+                                               'user_name'                     
                => $GLOBALS['phpgw']->common->grab_owner_name($id),
+                                               'lang_user_url_statustext'      
=> lang('edit user')
+                                       );
                                }
+
+                               $data['lang_confirm_msg']                       
= lang('the users bellow are still members of group %1',$group_name) . '. '
+                                                                               
                        . lang('they must be removed before you can continue');
+                               $data['lang_remove_user']                       
= lang('Remove all users from this group ?');
                        }
-                               //if filemanager is not present remove block
-                               if (!$fileman_exists)
-                               {       
-                                       $t->set_var('form_quota_edit','');
-                               }
-                       $var = Array(
-                               'groups_select'    => '<select 
name="account_groups[]" multiple>'."\n".$groups_select.'</select>'."\n",
-                               'permissions_list' => $appRightsOutput
-                       );
 
-//Get Quota value
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('delete' => $data));
+               }
+
+               function delete_user()
+               {
+                       if 
($GLOBALS['phpgw']->acl->check('account_access',32,'admin') || 
$GLOBALS['phpgw_info']['user']['account_id'] == $_GET['account_id'])
+                       {
+                               $this->list_users();
+                               return False;
+                       }
 
-                       $config = CreateObject('phpgwapi.config','filemanager');
-                       $config->read_repository();
-                       if ($config->config_data)
+                       $id2delete = $_REQUEST['account_id'];
+                       if($_REQUEST['deleteAccount'])
+                       {
+                               
if(!$this->bo->delete_user($_REQUEST['deleteID'], $_REQUEST['account']))
+                               {
+                                       //Add error message here
+                               }
+                       }
+                       if($_REQUEST['cancel'] || $_REQUEST['deleteAccount'])
+                       {
+                               $this->list_users();
+                       }
+                       else
                        {
-                               $items = $config->config_data;
-                               $quota = $items['set_quota'];
-                               unset($config);
+                               $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration');
+                               
+                               //Add list entry to delete all references to 
this account (user)
+                               $accountlist[0] = array('account_id'   => '0',
+                                                       'account_name' => 
lang('Delete all entries')
+                                                      );
+                               // get account list for new owner
+                               $accounts = CreateObject('phpgwapi.accounts');
+                               $accounts = $accounts->get_list('accounts');
+                               for($i=0; $i < count($accounts); $i++)
+                               {
+                                       if((int)$accounts[$i]['account_id'] != 
$id2delete)
+                                       {
+                                               $accountlist[] = array
+                                               (
+                                                 'account_id'   => 
$accounts[$i]['account_id'],
+                                                 'account_name' => 
$GLOBALS['phpgw']->common->display_fullname($accounts[$i]['account_lid'],
+                                                                               
                                      $accounts[$i]['account_firstname'],
+                                                                               
                                      $accounts[$i]['account_lastname']
+                                                                               
                         )
+                                               );
+                                       }
+                               }
+                               $data = array ('delete_id'      => $id2delete,
+                                              'accountlist'    => $accountlist,
+                                              'lang_new_owner' => lang('Who 
would you like to transfer ALL records owned by the deleted user to?'),
+                                              'l_cancel'       => 
lang('cancel'),
+                                              'l_delete'       => 
lang('delete')
+                                             );
+                               
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('new_owner_list' => $data));
                        }
+               }
 
-                       if(!$quota)
+               function group_manager($cd='',$account_id='')
+               {
+                       if 
($GLOBALS['phpgw']->acl->check('group_access',16,'admin'))
                        {
-                               $quota = '0,1,10,-1';
-                       };
+                               $this->list_groups();
+                               return False;
+                       }
 
-                       $quo_array = explode(',',$quota);
+                       $cdid = $cd;
+                       settype($cd,'integer');
+                       $cd = ($_GET['cd']?$_GET['cd']:intval($cdid));
 
-                       foreach($quo_array as $q)
+                       $accountid = $account_id;
+                       settype($account_id,'integer');
+                       $account_id = 
($_GET['account_id']?$_GET['account_id']:intval($accountid));
+                       
+                       // todo
+                       // not needed if i use the same file for new groups too
+                       if (! $account_id)
                        {
-                               $q = $q=='unlimited'?-1:$q;
-                               $sel .=  '<option value="' . $q . '"' . 
($userData['quota']==$q?' selected':'') . '>' . ($q=='-1'?lang('unlimited'):$q) 
. '</option>';
+                               $this->list_groups();
                        }
-                       $var['quota_edit'] = $sel;
-                       $t->set_var($var);
-// create the menu on the left, if needed
-                       //$menuClass = CreateObject('admin.uimenuclass');
-                       // This is now using ExecMethod()
-                       $GLOBALS['account_id'] = $_account_id;
-                       
$t->set_var('rows',ExecMethod('admin.uimenuclass.createHTMLCode','edit_user'));
+                       else
+                       {
+                               $group_info = Array(
+                                       'account_id'   => 
intval($_GET['account_id']),
+                                       'account_name' => 
$GLOBALS['phpgw']->accounts->id2name($_GET['account_id']),
+                                       'account_user' => 
$GLOBALS['phpgw']->accounts->member($_GET['account_id']),
+                                       'account_managers' => 
$this->bo->load_group_managers($_GET['account_id'])
+                               );
 
-                       echo $t->fp('out','form');
+                               $this->edit_group_managers($group_info);
+                       }
                }
 
                function edit_group_managers($group_info,$_errors='')
@@ -1401,10 +947,5 @@
                        $t->pfp('out','form');
                }
 
-               function sync_accounts_contacts()
-               {
-                       $GLOBALS['phpgw']->accounts->sync_accounts_contacts();
-                       $GLOBALS['phpgw']->redirect_link('/admin/index.php');
-               }
        }
 ?>
Index: admin/inc/class.uiaclmanager.inc.php
diff -u admin/inc/class.uiaclmanager.inc.php:1.16 
admin/inc/class.uiaclmanager.inc.php:1.17
--- admin/inc/class.uiaclmanager.inc.php:1.16   Wed Jan 11 23:25:20 2006
+++ admin/inc/class.uiaclmanager.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,30 +1,30 @@
 <?php
-       /**
-       * Administration - ACL manager
-       *
-       * @copyright Copyright (C) 2001-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uiaclmanager.inc.php,v 1.16 2006/01/11 23:25:20 
ceb Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Administration                                         
   *
+       * http://www.phpgroupware.org                                           
   *
+       * 
------------------------------------------------------------------------ *
+       * Copyright 2001 - 2003 Free Software Foundation, Inc                   
   *
+       * This program is part of the GNU project, see http://www.gnu.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.uiaclmanager.inc.php,v 1.17 2006/02/14 08:48:21 skwashd 
Exp $ */
 
-
-       /**
-       * ACL manager
-       *
-       * @package admin
-       */
        class uiaclmanager
        {
-               var $account_id;
+               var $template;
                var $nextmatchs;
-               var $public_functions = array
-               (
+               var $public_functions = array(
                        'list_apps'                             => True,
                        'access_form'                   => True,
+                       'account_list'                  => True,
                        'list_addressmasters'   => True,
                        'edit_addressmasters'   => True,
-                       'accounts_popup'                => True
+                       'accounts_popup'                => True,
+                       'java_script'                   => True
                );
 
                function uiaclmanager()
@@ -35,226 +35,235 @@
                        {
                                $GLOBALS['phpgw']->redirect_link('/index.php');
                        }
+                       $this->template         = 
createobject('phpgwapi.Template',PHPGW_APP_TPL);
                        $this->nextmatchs       = 
CreateObject('phpgwapi.nextmatchs');
                        $this->boacl            = 
CreateObject('admin.boaclmanager');
                }
 
                function common_header()
                {
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin') . ' - ' . lang('ACL Manager') .
-                               ': ' . 
$GLOBALS['phpgw']->common->grab_owner_name($this->account_id);
-                       $GLOBALS['phpgw']->common->phpgw_header(True);
+                       $GLOBALS['phpgw']->common->phpgw_header();
                }
 
                function list_apps()
                {
                        $this->common_header();
 
-                       
$GLOBALS['phpgw']->hooks->process('acl_manager',array('admin','preferences'));
+                       
$GLOBALS['phpgw']->hooks->process('acl_manager',array('preferences'));
 
-                       $GLOBALS['phpgw']->template->set_file(array(
+                       $this->template->set_file(array(
                                'app_list'   => 'acl_applist.tpl'
                        ));
-                       
$GLOBALS['phpgw']->template->set_block('app_list','list');
-                       
$GLOBALS['phpgw']->template->set_block('app_list','app_row');
-                       
$GLOBALS['phpgw']->template->set_block('app_list','app_row_noicon');
-                       
$GLOBALS['phpgw']->template->set_block('app_list','link_row');
-                       
$GLOBALS['phpgw']->template->set_block('app_list','spacer_row');
+                       $this->template->set_block('app_list','list');
+                       $this->template->set_block('app_list','app_row');
+                       $this->template->set_block('app_list','app_row_noicon');
+                       $this->template->set_block('app_list','link_row');
+                       $this->template->set_block('app_list','spacer_row');
+
+                       $this->template->set_var('lang_header',lang('ACL 
Manager'));
 
                        while (is_array($GLOBALS['acl_manager']) && 
list($app,$locations) = each($GLOBALS['acl_manager']))
                        {
                                $icon = 
$GLOBALS['phpgw']->common->image($app,array('navbar.gif',$app.'.gif'));
-                               
$GLOBALS['phpgw']->template->set_var('icon_backcolor',$GLOBALS['phpgw_info']['theme']['row_off']);
-                               
$GLOBALS['phpgw']->template->set_var('link_backcolor',$GLOBALS['phpgw_info']['theme']['row_off']);
-                               
$GLOBALS['phpgw']->template->set_var('app_name',$GLOBALS['phpgw_info']['apps'][$app]['title']);
-                               
$GLOBALS['phpgw']->template->set_var('a_name',$appname);
-                               
$GLOBALS['phpgw']->template->set_var('app_icon',$icon);
+                               
$this->template->set_var('icon_backcolor',$GLOBALS['phpgw_info']['theme']['row_off']);
+                               
$this->template->set_var('link_backcolor',$GLOBALS['phpgw_info']['theme']['row_off']);
+                               
$this->template->set_var('app_name',lang($GLOBALS['phpgw_info']['navbar'][$app]['title']));
+                               $this->template->set_var('a_name',$appname);
+                               $this->template->set_var('app_icon',$icon);
 
                                if ($icon)
                                {
-                                       
$GLOBALS['phpgw']->template->fp('rows','app_row',True);
+                                       
$this->template->fp('rows','app_row',True);
                                }
                                else
                                {
-                                       
$GLOBALS['phpgw']->template->fp('rows','app_row_noicon',True);
+                                       
$this->template->fp('rows','app_row_noicon',True);
                                }
 
                                while (is_array($locations) && 
list($loc,$value) = each($locations))
                                {
-                                       $link_values = array(
-                                               'menuaction' => 
'admin.uiaclmanager.access_form',
-                                               'location'   => urlencode($loc),
-                                               'acl_app'    => $app,
-                                               'account_id' => 
$this->account_id
-                                       );
+                                       $total_rights = 0;
+                                       while (list($k,$v) = 
each($value['rights']))
+                                       {
+                                               $total_rights += $v;
+                                       }
+                                       reset($value['rights']);
 
-                                       
$GLOBALS['phpgw']->template->set_var('link_location',$GLOBALS['phpgw']->link('/index.php',$link_values));
-                                       
$GLOBALS['phpgw']->template->set_var('lang_location',lang($value['name']));
-                                       
$GLOBALS['phpgw']->template->fp('rows','link_row',True);
+                                       // If all of there rights are denied, 
then they shouldn't even see the option
+                                       if ($total_rights != 
$GLOBALS['phpgw']->acl->get_rights($loc,$app))
+                                       {
+                                               $link_values = array(
+                                                       'menuaction' => 
'admin.uiaclmanager.access_form',
+                                                       'location'   => 
urlencode(base64_encode($loc)),
+                                                       'acl_app'    => $app,
+                                                       'account_id' => 
$GLOBALS['account_id']
+                                               );
+
+                                               
$this->template->set_var('link_location',$GLOBALS['phpgw']->link('/index.php',$link_values));
+                                               
$this->template->set_var('lang_location',lang($value['name']));
+                                               
$this->template->fp('rows','link_row',True);
+                                       }
                                }
 
-                               
$GLOBALS['phpgw']->template->parse('rows','spacer_row',True);
+                               
$this->template->parse('rows','spacer_row',True);
                        }
-                       $GLOBALS['phpgw']->template->set_var(array(
-                               'cancel_action' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_users'),
-                               'lang_cancel'   => lang('Cancel')
-                       ));
-                       $GLOBALS['phpgw']->template->pfp('out','list');
+                       $this->template->pfp('out','list');
                }
 
                function access_form()
                {
-                       $location = $_GET['location'];
-
-                       if ($_POST['submit'] || $_POST['cancel'])
-                       {
-                               if ($_POST['submit'])
-                               {
-                                       $total_rights = 0;
-                                       while (is_array($_POST['acl_rights']) 
&& list(,$rights) = each($_POST['acl_rights']))
-                                       {
-                                               $total_rights += $rights;
-                                       }
+                       
$GLOBALS['phpgw']->hooks->single('acl_manager',$GLOBALS['acl_app']);
+                       $location = base64_decode($GLOBALS['location']);
 
-                                       if ($total_rights)
-                                       {
-                                               
$GLOBALS['phpgw']->acl->add_repository($_GET['acl_app'], $location, 
$this->account_id, $total_rights);
-                                       }
-                                       else    // we dont need to save 0 
rights (= no restrictions)
-                                       {
-                                               
$GLOBALS['phpgw']->acl->delete_repository($_GET['acl_app'], $location, 
$this->account_id);
-                                       }
-                               }
-                               $this->list_apps();
-                               return;
-                       }
-                       
$GLOBALS['phpgw']->hooks->single('acl_manager',$_GET['acl_app']);
-                       $acl_manager = 
$GLOBALS['acl_manager'][$_GET['acl_app']][$location];
+                       $acl_manager = 
$GLOBALS['acl_manager'][$GLOBALS['acl_app']][$location];
 
                        $this->common_header();
-                       
$GLOBALS['phpgw']->template->set_file('form','acl_manager_form.tpl');
+                       
$this->template->set_file('form','acl_manager_form.tpl');
 
-                       $afn = 
$GLOBALS['phpgw']->common->grab_owner_name($this->account_id);
+                       $acc = 
createobject('phpgwapi.accounts',$GLOBALS['account_id']);
+                       $acc->read_repository();
+                       $afn = 
$GLOBALS['phpgw']->common->display_fullname($acc->data['account_lid'],$acc->data['firstname'],$acc->data['lastname']);
 
-                       
$GLOBALS['phpgw']->template->set_var('lang_message',lang('Check items to 
<b>%1</b> to %2 for 
%3',lang($acl_manager['name']),$GLOBALS['phpgw_info']['apps'][$_GET['acl_app']]['title'],$afn));
+                       $this->template->set_var('lang_message',lang('Check 
items to <b>%1</b> to %2 for 
%3',$acl_manager['name'],$GLOBALS['acl_app'],$afn));
                        $link_values = array(
-                               'menuaction' => 
'admin.uiaclmanager.access_form',
-                               'acl_app'    => $_GET['acl_app'],
-                               'location'   => urlencode($_GET['location']),
-                               'account_id' => $this->account_id
+                               'menuaction' => 'admin.boaclmanager.submit',
+                               'acl_app'    => $GLOBALS['acl_app'],
+                               'location'   => urlencode($GLOBALS['location']),
+                               'account_id' => $GLOBALS['account_id']
                        );
 
-                       $acl    = 
createobject('phpgwapi.acl',$this->account_id);
+                       $acl    = 
createobject('phpgwapi.acl',$GLOBALS['account_id']);
                        $acl->read_repository();
-                       $grants = $acl->get_rights($location,$_GET['acl_app']);
 
-                       
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php',$link_values));
+                       
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php',$link_values));
+                       $this->template->set_var('lang_title',lang('ACL 
Manager'));
 
                        $total = 0;
                        while (list($name,$value) = 
each($acl_manager['rights']))
                        {
-                               $cb .= '<input type="checkbox" 
name="acl_rights[]" value="'.$value.'"'.($grants & $value ? ' checked' : 
'').'>&nbsp;'.lang($name)."<br>\n";
+                               $grants = 
$acl->get_rights($location,$GLOBALS['acl_app']);
+
+                               if (! 
$GLOBALS['phpgw']->acl->check($location,$value,$GLOBALS['acl_app']))
+                               {
+                                       $s .= '<option value="' . $value . '"';
+                                       $s .= (($grants & $value)?' 
selected="selected"':'');
+                                       $s .= '>' . lang($name) . '</option>';
+                                       $total++;
+                               }
+                       }
+
+                       $size = 7;
+                       if ($total < 7)
+                       {
+                               $size = $total;
                        }
-                       
$GLOBALS['phpgw']->template->set_var('select_values',$cb);
-                       
$GLOBALS['phpgw']->template->set_var('lang_submit',lang('Save'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_cancel',lang('Cancel'));
+                       $this->template->set_var('select_values','<select 
name="acl_rights[]" multiple size="' . $size . '">' . $s . '</select>');
+                       $this->template->set_var('lang_submit',lang('Submit'));
+                       $this->template->set_var('lang_cancel',lang('Cancel'));
 
-                       $GLOBALS['phpgw']->template->pfp('out','form');
+                       $this->template->pfp('out','form');
                }
 
                function list_addressmasters()
                {
+                       $GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
+
                        $link_data = array
                        (
                                'menuaction'    => 
'admin.uiaclmanager.edit_addressmasters',
                                'account_id'    => 
$GLOBALS['phpgw_info']['user']['account_id']
                        );
 
-                       if ($_POST['edit'])
+                       if ( isset($_POST['edit']) && $_POST['edit'] )
                        {
                                
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
                        }
 
-                       if ($_POST['done'])
+                       if ( isset($_POST['done']) && $_POST['done'] )
                        {
                                
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
                        }
 
                        $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('admin') . ': ' . lang('list addressmasters');
-                       $GLOBALS['phpgw']->common->phpgw_header(True);
-
-                       
$GLOBALS['phpgw']->template->set_file(array('admin_list_t' => 
'list_accountmasters.tpl'));
-                       
$GLOBALS['phpgw']->template->set_block('admin_list_t','user_list','list');
-                       
$GLOBALS['phpgw']->template->set_block('admin_list_t','group_list','glist');
-
-                       
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
-
-                       
$GLOBALS['phpgw']->template->set_var('sort_lid',lang('loginid'));
-                       
$GLOBALS['phpgw']->template->set_var('sort_firstname',lang('firstname'));
-                       
$GLOBALS['phpgw']->template->set_var('sort_lastname',lang('lastname'));
-                       
$GLOBALS['phpgw']->template->set_var('sort_name',lang('name'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_edit',lang('edit'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_done',lang('done'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_users',lang('users'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_groups',lang('groups'));
+                       $GLOBALS['phpgw']->xslttpl->add_file('addressmaster');
 
                        $admins = $this->boacl->list_addressmasters();
                        
                        //_debug_array($admins);
-
+                       //exit;
                        if(is_array($admins))
                        {
                                foreach($admins as $admin)
                                {
                                        if ($admin['lastname'] != 'Group')
                                        {
-                                               
$this->nextmatchs->template_alternate_row_color($GLOBALS['phpgw']->template);
-                                       
-                                               
$GLOBALS['phpgw']->template->set_var(array
-                                                                               
     (
-                                                                               
             'lid'              => $admin['lid'],
-                                                                               
             'firstname'=> $admin['firstname'],
-                                                                               
             'lastname' => $admin['lastname'])
-                                                       );
-
-                                               
$GLOBALS['phpgw']->template->fp('list','user_list',True);
+                                               $users[] = array
+                                               (
+                                                       'lid'           => 
$admin['lid'],
+                                                       'firstname'=> 
$admin['firstname'],
+                                                       'lastname'      => 
$admin['lastname']
+                                               );
                                        }
                                        elseif ($admin['lastname'] == 'Group')
                                        {
-                                               
$this->nextmatchs->template_alternate_row_color($GLOBALS['phpgw']->template);
-                                       
-                                               
$GLOBALS['phpgw']->template->set_var(array
-                                                                               
     (
-                                                                               
             'lid'              => $admin['lid'],
-                                                                               
             'firstname'=> $admin['firstname'],
-                                                                               
             'lastname' => $admin['lastname'])
-                                                       );
-                                               
$GLOBALS['phpgw']->template->fp('glist','group_list',True);
+                                               $groups[] = array
+                                               (
+                                                       'lid'           => 
$admin['lid'],
+                                                       'firstname'=> 
$admin['firstname'],
+                                                       'lastname'      => 
$admin['lastname']
+                                               );
                                        }
                                }
                        }
-                       
$GLOBALS['phpgw']->template->pfp('out','admin_list_t',True);
+
+                       //_debug_array($users);
+                       //exit;
+
+                       $link_data['menuaction'] = 
'admin.uiaclmanager.list_addressmasters';
+
+                       $data = array
+                       (
+                               'sort_lid'                              => 
lang('loginid'),
+                               'sort_firstname'                => 
lang('firstname'),
+                               'sort_lastname'                 => 
lang('lastname'),
+                               'sort_name'                             => 
lang('name'),
+                               'lang_users'                    => 
lang('users'),
+                               'lang_groups'                   => 
lang('groups'),
+                               'addressmaster_user'    => $users,
+                               'addressmaster_group'   => $groups,
+                               'lang_edit'                             => 
lang('edit'),
+                               'lang_done'                             => 
lang('done'),
+                               'action_url'                    => 
$GLOBALS['phpgw']->link('/index.php',$link_data) 
+                       );
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('addressmaster_list' => 
$data));
                }
 
                function accounts_popup()
                {
-                       
$GLOBALS['phpgw']->accounts->accounts_popup('admin_acl');
+                       return 
$GLOBALS['phpgw']->accounts->accounts_popup('admin_acl');
+               }
+
+               function java_script()
+               {
+                       //return 
$GLOBALS['phpgw']->accounts->java_script('admin_acl');
                }
 
                function edit_addressmasters()
                {
+                       $GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
+
                        $link_data = array
                        (
                                'menuaction'    => 
'admin.uiaclmanager.list_addressmasters',
                                'account_id'    => 
$GLOBALS['phpgw_info']['user']['account_id']
                        );
 
-                       if ($_POST['save'])
+                       if ( isset($_POST['save']) && $_POST['save'] ) 
                        {
                                $error = 
$this->boacl->check_values($_POST['account_addressmaster'],$_POST['group_addressmaster']);
                                if(is_array($error))
                                {
-                                       
$GLOBALS['phpgw']->template->set_var('error_message',$GLOBALS['phpgw']->common->error_list($error));
+                                       $error_message = 
$GLOBALS['phpgw']->common->error_list($error);
                                }
                                else
                                {
@@ -263,93 +272,108 @@
                                }
                        }
 
-                       if ($_POST['cancel'])
+                       if ( isset($_POST['cancel']) && $_POST['cancel'] )
                        {
                                
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
                        }
 
                        $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('admin') . ': ' . lang('edit addressmaster list');
-                       $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
-
-                       $GLOBALS['phpgw']->template->set_file(array('admin_add' 
=> 'form_accountmasters.tpl'));
-                       
$GLOBALS['phpgw']->template->set_block('admin_add','select');
-                       
$GLOBALS['phpgw']->template->set_block('admin_add','popwin');
-
-                       
$GLOBALS['phpgw']->template->set_var('lang_select_addressmasters',lang('Select 
addressmasters'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_save',lang('save'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_cancel',lang('cancel'));
-
-                       $link_data['menuaction'] = 
'admin.uiaclmanager.edit_addressmasters';
-                       
$GLOBALS['phpgw']->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php',$link_data));
+                       $GLOBALS['phpgw']->xslttpl->add_file('addressmaster');
 
                        if 
($GLOBALS['phpgw_info']['user']['preferences']['common']['account_selection'] 
== 'popup')
                        {
                                $usel = $this->boacl->list_addressmasters();
-                               
$GLOBALS['phpgw']->template->set_var('accounts_link',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaclmanager.accounts_popup'));
-                               
$GLOBALS['phpgw']->template->set_var('lang_open_popup',lang('open popup 
window'));
-
                                while(is_array($usel) && list(,$acc) = 
each($usel))
                                {
-                                       $user_list .= '<option value="' . 
$acc['account_id'] . '" selected>'
-                                                               . 
$GLOBALS['phpgw']->common->display_fullname($acc['lid'],$acc['firstname'],$acc['lastname'])
-                                                               . 
'</option>'."\n";
+                                       $user_list[] = array
+                                       (
+                                               'account_id'    => 
$acc['account_id'],
+                                               'select_value'  => 'yes',
+                                               'fullname'              => 
$GLOBALS['phpgw']->common->display_fullname($acc['lid'],$acc['firstname'],$acc['lastname'])
+                                       );
                                }
                                $account_num = count($sel_accounts);
-                               
$GLOBALS['phpgw']->template->set_var('select_size',($account_num < 
7?$account_num:7));
-                               
$GLOBALS['phpgw']->template->set_var('account_list',$user_list);
-                               
$GLOBALS['phpgw']->template->fp('accounts','popwin',True);
+
+                               $popwin_user = array
+                               (
+                                       'url'                           => "'" 
. 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaclmanager.accounts_popup')
 . "'",
+                                       'width'                         => 
'800',
+                                       'height'                        => 
'600',
+                                       'lang_open_popup'       => lang('open 
popup window'),
+                                       'select_size'           => 
($account_num < 7?$account_num:7),
+                                       'user_list'                     => 
$user_list
+                               );
                        }
                        else
                        {
-                               
$GLOBALS['phpgw']->template->set_var('lang_select_users',lang('Select users'));
-                               
$GLOBALS['phpgw']->template->set_var('lang_select_groups',lang('Select 
groups'));
-
                                $app_user = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run',1,'addressbook');
 
                                $add_users = 
$GLOBALS['phpgw']->accounts->return_members($app_user);
+                               $add_users['groups'] = 
$GLOBALS['phpgw']->accounts->get_list('groups');
 
                                $usel = $this->boacl->get_addressmaster_ids();
 
                                //_debug_array($usel);
                                for($i=0;$i<count($add_users['users']);$i++)
                                {
-                                       $user_list .= '<option value="' . 
$add_users['users'][$i] . '"';
                                        if (is_array($usel) && 
in_array($add_users['users'][$i],$usel))
                                        {
-                                               $user_list .= ' SELECTED';
+                                               $select_value = 'yes';
                                        }
-                                       $user_list .= '>';
-                                       $user_list .= 
$GLOBALS['phpgw']->common->grab_owner_name($add_users['users'][$i])
-                                                       . '</option>' . "\n";
+
+                                       $user_list[] = array
+                                       (
+                                               'account_id'    => 
$add_users['users'][$i],
+                                               'select_value'  => 
$select_value,
+                                               'fullname'              => 
$GLOBALS['phpgw']->common->grab_owner_name($add_users['users'][$i])
+                                       );
                                }
 
                                $add_user_num = count($add_users['users']);
-                               
$GLOBALS['phpgw']->template->set_var('u_select_size',($add_user_num < 
7?$add_user_num:7));
-                               
$GLOBALS['phpgw']->template->set_var('user_list',$user_list);
 
-                               for($i=0;$i<count($add_users['groups']);$i++)
+                               if ( is_array($add_users['groups']) && 
count($add_users['groups']) )
                                {
-                                       $group_list .= '<option value="' . 
$add_users['groups'][$i] . '"';
-                                       if (is_array($usel) && 
in_array($add_users['groups'][$i],$usel))
+                                       foreach( $add_users['groups'] as $group 
)
                                        {
-                                               $group_list .= ' selected';
+                                               if (is_array($usel) && 
in_array($group, $usel))
+                                               {
+                                                       $select_value = 'yes';
+                                               }
+
+                                               $group_list[] = array
+                                               (
+                                                       'account_id'    => 
$group['account_id'],
+                                                       'select_value'  => 
$select_value,
+                                                       'fullname'      => 
lang('%1 group', $group['account_firstname'])
+                                               );
                                        }
-                                       $group_list .= '>';
-                                       $group_list .= 
$GLOBALS['phpgw']->common->grab_owner_name($add_users['groups'][$i])
-                                                       . '</option>' . "\n";
                                }
 
                                $add_group_num = count($add_users['groups']);
-                               
$GLOBALS['phpgw']->template->set_var('g_select_size',($add_group_num < 
7?$add_group_num:7));
-                               
$GLOBALS['phpgw']->template->set_var('group_list',$group_list);
 
-                               
$GLOBALS['phpgw']->template->fp('accounts','select',True);
+                               $select_user = array
+                               (
+                                       'lang_select_users'             => 
lang('Select users'),
+                                       'lang_select_groups'    => lang('Select 
groups'),
+                                       'u_select_size'                 => 
($add_user_num < 7?$add_user_num:7),
+                                       'g_select_size'                 => 
($add_group_num < 7?$add_group_num:7),
+                                       'group_list'                    => 
$group_list,
+                                       'user_list'                             
=> $user_list
+                               );
                        }
 
-                       $GLOBALS['phpgw']->template->set_var('select','');
-                       $GLOBALS['phpgw']->template->set_var('popwin','');
-                       $GLOBALS['phpgw']->template->pfp('out','admin_add');
+                       $link_data['menuaction'] = 
'admin.uiaclmanager.edit_addressmasters';
+
+                       $data = array
+                       (
+                               'lang_select_addressmasters'    => lang('Select 
addressmasters'),
+                               'lang_save'                                     
        => lang('save'),
+                               'lang_cancel'                                   
=> lang('cancel'),
+                               'action_url'                                    
=> $GLOBALS['phpgw']->link('/index.php',$link_data),
+                               'popwin_user'                                   
=> $popwin_user,
+                               'select_user'                                   
=> $select_user
+                       );
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('addressmaster_edit' => 
$data));
                }
        }
 ?>
Index: admin/inc/class.uiapplications.inc.php
diff -u admin/inc/class.uiapplications.inc.php:1.11 
admin/inc/class.uiapplications.inc.php:1.12
--- admin/inc/class.uiapplications.inc.php:1.11 Wed May 11 07:23:07 2005
+++ admin/inc/class.uiapplications.inc.php      Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Administration - Applications
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uiapplications.inc.php,v 1.11 2005/05/11 07:23:07 
powerstat Exp $
-       */
+  /**************************************************************************\
+  * 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.uiapplications.inc.php,v 1.12 2006/02/14 08:48:21 skwashd Exp 
$ */
 
-       /**
-       * Applications
-       *
-       * @package admin
-       */
        class uiapplications
        {
                var $public_functions = array(
@@ -35,26 +32,15 @@
 
                function get_list()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('applications_access',1,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       $can_add    = 
!$GLOBALS['phpgw']->acl->check('applications_access',2,'admin');
-                       $can_edit   = 
!$GLOBALS['phpgw']->acl->check('applications_access',4,'admin');
-                       $can_delete = 
!$GLOBALS['phpgw']->acl->check('applications_access',8,'admin');
-                       
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('Installed applications');
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
                        
$GLOBALS['phpgw']->template->set_file(array('applications' => 
'applications.tpl'));
                        
$GLOBALS['phpgw']->template->set_block('applications','list','list');
                        
$GLOBALS['phpgw']->template->set_block('applications','row','row');
-                       
$GLOBALS['phpgw']->template->set_block('applications','add','add');
-                       
-                       $start = get_var('start',array('POST','GET'));
-                       $sort  = $_GET['sort'];
-                       $order = $_GET['order'];
+
+                       $start = $GLOBALS['HTTP_POST_VARS']['start'];
+                       $sort  = $GLOBALS['HTTP_GET_VARS']['sort'];
+                       $order = $GLOBALS['HTTP_GET_VARS']['order'];
                        $offset = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
 
                        $apps = $this->bo->get_list();
@@ -105,8 +91,7 @@
                                $i++;
                        }
 
-                       
$GLOBALS['phpgw']->template->set_var('bg_color',$GLOBALS['phpgw_info']['theme']['bg_color']);
-                       
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
+                       
$GLOBALS['phpgw']->template->set_var('lang_installed',lang('Installed 
applications'));
 
                        
$GLOBALS['phpgw']->template->set_var('sort_title',$this->nextmatchs->show_sort_order($sort,'title','title','/index.php',lang('Title'),'&menuaction=admin.uiapplications.get_list'));
                        
$GLOBALS['phpgw']->template->set_var('lang_showing',$this->nextmatchs->show_hits($total,$start));
@@ -121,15 +106,29 @@
                        
$GLOBALS['phpgw']->template->set_var('lang_note',lang('(To install new 
applications use<br><a href="setup/" target="setup">Setup</a> [Manage 
Applications] !!!)'));
                        
$GLOBALS['phpgw']->template->set_var('lang_add',lang('add'));
 
-                       foreach($applications as $app)
+                       @reset($applications);
+                       while (list($key,$app) = @each($applications))
                        {
                                $tr_color = 
$this->nextmatchs->alternate_row_color($tr_color);
 
+                               if($app['title'])
+                               {
+                                       $name = $app['title'];
+                               }
+                               elseif($app['name'])
+                               {
+                                       $name = $app['name'];
+                               }
+                               else
+                               {
+                                       $name = '&nbsp;';
+                               }
+
                                
$GLOBALS['phpgw']->template->set_var('tr_color',$tr_color);
-                               
$GLOBALS['phpgw']->template->set_var('name',$app['title']);
+                               
$GLOBALS['phpgw']->template->set_var('name',$name);
 
-                               
$GLOBALS['phpgw']->template->set_var('edit',$can_edit ? '<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.edit&app_name='
 . urlencode($app['name'])) . '&start='.$start.'"> ' . lang('Edit') . ' </a>' : 
'&nbsp;');
-                               
$GLOBALS['phpgw']->template->set_var('delete',$can_delete ? '<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.delete&app_name='
 . urlencode($app['name'])) . '&start='.$start.'"> ' . lang('Delete') . ' </a>' 
: '&nbsp;');
+                               $GLOBALS['phpgw']->template->set_var('edit','<a 
href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.edit&app_name='
 . urlencode($app['name'])) . '"> ' . lang('Edit') . ' </a>');
+                               
$GLOBALS['phpgw']->template->set_var('delete','<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.delete&app_name='
 . urlencode($app['name'])) . '"> ' . lang('Delete') . ' </a>');
 
                                if ($app['status'])
                                {
@@ -143,14 +142,6 @@
 
                                
$GLOBALS['phpgw']->template->parse('rows','row',True);
                        }
-                       if ($can_add)
-                       {
-                               
$GLOBALS['phpgw']->template->parse('addbutton','add');
-                       }
-                       else
-                       {
-                               
$GLOBALS['phpgw']->template->set_var('addbutton','');
-                       }
 
                        $GLOBALS['phpgw']->template->pparse('out','list');
                }
@@ -165,30 +156,18 @@
 
                function add()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('applications_access',2,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       $start = get_var('start',array('POST','GET'));
-       
                        
$GLOBALS['phpgw']->template->set_file(array('application' => 
'application_form.tpl'));
                        
$GLOBALS['phpgw']->template->set_block('application','form','form');
                        
$GLOBALS['phpgw']->template->set_block('application','row','row');
-                       
$GLOBALS['phpgw']->template->set_block('form','delete_button');
-                       
$GLOBALS['phpgw']->template->set_var('delete_button','');
 
-                       if ($_POST['cancel'])
-                       {
-                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiapplications.get_list&start='.$start);
-                       }
-
-                       if ($_POST['save'])
+                       if ($GLOBALS['HTTP_POST_VARS']['submit'])
                        {
                                $totalerrors = 0;
 
-                               $app_order    = $_POST['app_order'] ? 
$_POST['app_order'] : 0;
-                               $n_app_name   = chop($_POST['n_app_name']);
-                               $n_app_status = $_POST['n_app_status'];
+                               $app_order    = 
$GLOBALS['HTTP_POST_VARS']['app_order'] ? 
$GLOBALS['HTTP_POST_VARS']['app_order'] : 0;
+                               $n_app_name   = 
chop($GLOBALS['HTTP_POST_VARS']['n_app_name']);
+                               $n_app_title  = 
chop($GLOBALS['HTTP_POST_VARS']['n_app_title']);
+                               $n_app_status = 
$GLOBALS['HTTP_POST_VARS']['n_app_status'];
 
                                if ($this->bo->exists($n_app_name))
                                {
@@ -211,8 +190,9 @@
                                                'app_order'    => $app_order
                                        ));
 
-                                       
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiapplications.get_list&start='.$start);
-                                       $GLOBALS['phpgw']->common->phpgw_exit();
+                                       Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.get_list'));
+                                       
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
+                                       exit;
                                }
                                else
                                {
@@ -224,13 +204,11 @@
                                
$GLOBALS['phpgw']->template->set_var('error','');
                        }
 
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('Add new application');
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
-                       
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
+                       
$GLOBALS['phpgw']->template->set_var('lang_header',lang('Add new application'));
 
-                       
$GLOBALS['phpgw']->template->set_var('hidden_vars','<input type="hidden" 
name="start" value="'.$start.'">');
+                       $GLOBALS['phpgw']->template->set_var('hidden_vars','');
                        
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.add'));
 
                        $this->display_row(lang('application name'),'<input 
name="n_app_name" value="' . $n_app_name . '">');
@@ -253,48 +231,33 @@
 
                        $this->display_row(lang('Select which location this app 
should appear on the navbar, lowest (left) to highest (right)'),'<input 
name="app_order" value="' . $app_order . '">');
 
-                       
$GLOBALS['phpgw']->template->set_var('lang_save_button',lang('Add'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_cancel_button',lang('Cancel'));
-                       
$GLOBALS['phpgw']->template->pparse('phpgw_body','form');
+                       
$GLOBALS['phpgw']->template->set_var('lang_submit_button',lang('add'));
+                       $GLOBALS['phpgw']->template->pparse('out','form');
                }
 
                function edit()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('applications_access',4,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       $app_name = get_var('app_name',array('POST','GET'));
-                       $start = get_var('start',array('POST','GET'));
+                       $app_name = $GLOBALS['HTTP_GET_VARS']['app_name'];
 
                        
$GLOBALS['phpgw']->template->set_file(array('application' => 
'application_form.tpl'));
                        
$GLOBALS['phpgw']->template->set_block('application','form','form');
                        
$GLOBALS['phpgw']->template->set_block('application','row','row');
 
-                       if ($_POST['cancel'])
-                       {
-                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiapplications.get_list&start='.$start);
-                       }
-                       
-                       if ($_POST['delete'])
-                       {
-                               return $this->delete();
-                       }
-
-                       if ($_POST['save'])
+                       if ($GLOBALS['HTTP_POST_VARS']['submit'])
                        {
                                $totalerrors = 0;
 
-                               $app_order    = $_POST['app_order'] ? 
$_POST['app_order'] : 0;
-                               $n_app_name   = chop($_POST['n_app_name']);
-                               $n_app_status = $_POST['n_app_status'];
+                               $old_app_name = 
$GLOBALS['HTTP_POST_VARS']['old_app_name'];
+                               $app_order    = 
$GLOBALS['HTTP_POST_VARS']['app_order'] ? 
$GLOBALS['HTTP_POST_VARS']['app_order'] : 0;
+                               $n_app_name   = 
chop($GLOBALS['HTTP_POST_VARS']['n_app_name']);
+                               $n_app_status = 
$GLOBALS['HTTP_POST_VARS']['n_app_status'];
 
                                if (! $n_app_name)
                                {
                                        $error[$totalerrors++] = lang('You must 
enter an application name.');
                                }
 
-                               if ($app_name != $n_app_name)
+                               if ($old_app_name != $n_app_name)
                                {
                                        if ($this->bo->exists($n_app_name))
                                        {
@@ -308,16 +271,16 @@
                                                'n_app_name'   => $n_app_name,
                                                'n_app_status' => $n_app_status,
                                                'app_order'    => $app_order,
-                                               'old_app_name' => $app_name
+                                               'old_app_name' => $old_app_name
                                        ));
 
-                                       
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiapplications.get_list&start='.$start);
+                                       Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.get_list'));
+                                       
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
+                                       exit;
                                }
                        }
 
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('Edit application');
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
                        if ($totalerrors)
                        {
@@ -328,17 +291,15 @@
                                
$GLOBALS['phpgw']->template->set_var('error','');
                                
list($n_app_name,$n_app_title,$n_app_status,$old_app_name,$app_order) = 
$this->bo->read($app_name);
                        }
-                       
$GLOBALS['phpgw']->template->set_var('hidden_vars','<input type="hidden" 
name="start" value="'.$start.'">'.
-                               '<input type="hidden" name="app_name" value="' 
. $app_name . '">');
-                       
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
+
+                       
$GLOBALS['phpgw']->template->set_var('lang_header',lang('Edit application'));
+                       
$GLOBALS['phpgw']->template->set_var('hidden_vars','<input type="hidden" 
name="old_app_name" value="' . $old_app_name . '">');
                        
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.edit'));
 
                        $this->display_row(lang('application name'),'<input 
name="n_app_name" value="' . $n_app_name . '">');
 
                        
$GLOBALS['phpgw']->template->set_var('lang_status',lang('Status'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_save_button',lang('Save'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_cancel_button',lang('Cancel'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_delete_button',lang('Delete'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_submit_button',lang('edit'));
 
                        $selected[$n_app_status] = ' selected';
                        $status_html = '<option value="0"' . $selected[0] . '>' 
. lang('Disabled') . '</option>'
@@ -349,47 +310,38 @@
                        $this->display_row(lang("Select which location this app 
should appear on the navbar, lowest (left) to highest (right)"),'<input 
name="app_order" value="' . $app_order . '">');
 
                        
$GLOBALS['phpgw']->template->set_var('select_status',$status_html);
-                       
$GLOBALS['phpgw']->template->pparse('phpgw_body','form');
+                       $GLOBALS['phpgw']->template->pparse('out','form');
                }
 
                function delete()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('applications_access',8,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       $app_name = get_var('app_name',array('POST','GET'));
-                       $start = get_var('start',array('POST','GET'));
-                       
-                       if (!$app_name || $_POST['no'] || $_POST['yes'])
+                       $app_name = $GLOBALS['HTTP_GET_VARS']['app_name'];
+
+                       if (!$app_name)
                        {
-                               if ($_POST['yes'])
-                               {
-                                       $this->bo->delete($app_name);
-                               }
-                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiapplications.get_list&start='.$start);
+                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.get_list'));
                        }
 
                        $GLOBALS['phpgw']->template->set_file(array('body' => 
'delete_common.tpl'));
 
+                       if ($GLOBALS['HTTP_GET_VARS']['confirm'])
+                       {
+                               $this->bo->delete($app_name);
+                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.get_list'));
+                               $GLOBALS['phpgw_info']['flags']['nodisplay'] = 
True;
+                               exit;
+                       }
+
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
-                       
$GLOBALS['phpgw']->template->set_var('messages',lang('Are you sure you want to 
delete the application %1 
?',$GLOBALS['phpgw_info']['apps'][$app_name]['title']));
-                       $GLOBALS['phpgw']->template->set_var('no',lang('No'));
-                       $GLOBALS['phpgw']->template->set_var('yes',lang('Yes'));
-                       
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.delete'));
-                       
$GLOBALS['phpgw']->template->set_var('hidden_vars','<input type="hidden" 
name="start" value="'.$start.'">'.
-                               '<input type="hidden" name="app_name" value="'. 
urlencode($app_name) . '">');
-                       
$GLOBALS['phpgw']->template->pparse('phpgw_body','body');
+                       
$GLOBALS['phpgw']->template->set_var('messages',lang('Are you sure you want to 
delete this application ?'));
+                       $GLOBALS['phpgw']->template->set_var('no','<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.get_list')
 . '">' . lang('No') . '</a>');
+                       $GLOBALS['phpgw']->template->set_var('yes','<a href="' 
. 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.delete&app_name='
 . urlencode($app_name) . "&confirm=True") . '">' . lang('Yes') . '</a>');
+                       $GLOBALS['phpgw']->template->pparse('out','body');
                }
                
                function register_all_hooks()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('applications_access',16,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
                        if (!is_object($GLOBALS['phpgw']->hooks))
                        {
                                $GLOBALS['phpgw']->hooks = 
CreateObject('phpgwapi.hooks');
Index: admin/inc/class.uiasyncservice.inc.php
diff -u admin/inc/class.uiasyncservice.inc.php:1.4 
admin/inc/class.uiasyncservice.inc.php:1.5
--- admin/inc/class.uiasyncservice.inc.php:1.4  Wed May 11 07:23:07 2005
+++ admin/inc/class.uiasyncservice.inc.php      Tue Feb 14 08:48:21 2006
@@ -1,21 +1,27 @@
 <?php
-       /**
-       * Administration - Timed Asynchron Services
-       *
-       * Admin cron-job like timed calls
-       * @author Ralf Becker <address@hidden>
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General 
Public License
-       * @package admin
-       * @version $Id: class.uiasyncservice.inc.php,v 1.4 2005/05/11 07:23:07 
powerstat Exp $
-       */
-
-
-       /**
-       * Timed Asynchron Services
-       *
-       * @package admin
-       */
+       
/**************************************************************************\
+       * phpGroupWare Admin - Timed Asynchron Services for phpGroupWare        
   *
+       * Written by Ralf Becker <address@hidden>                  *
+       * Class to admin cron-job like timed calls of phpGroupWare methods      
   *
+       * 
-------------------------------------------------------------------------*
+       * This library is part of the phpGroupWare API                          
   *
+       * http://www.phpgroupware.org/                                          
   *
+       * 
------------------------------------------------------------------------ *
+       * This library is free software; you can redistribute it and/or modify 
it  *
+       * under the terms of the GNU Lesser General Public License as published 
by *
+       * the Free Software Foundation; either version 2.1 of the License,      
   *
+       * or any later version.                                                 
   *
+       * This library is distributed in the hope that it will be useful, but   
   *
+       * WITHOUT ANY WARRANTY; without even the implied warranty of            
   *
+       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  
   *
+       * See the GNU Lesser General Public License for more details.           
   *
+       * You should have received a copy of the GNU Lesser General Public 
License *
+       * along with this library; if not, write to the Free Software 
Foundation,  *
+       * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA         
   *
+       
\**************************************************************************/
+
+       /* $Id: class.uiasyncservice.inc.php,v 1.5 2006/02/14 08:48:21 skwashd 
Exp $ */
+
        class uiasyncservice
        {
                var $public_functions = array(
Index: admin/inc/class.uicategories.inc.php
diff -u admin/inc/class.uicategories.inc.php:1.41 
admin/inc/class.uicategories.inc.php:1.42
--- admin/inc/class.uicategories.inc.php:1.41   Wed May 11 07:23:07 2005
+++ admin/inc/class.uicategories.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,24 +1,22 @@
 <?php
-       /**
-       * Administration - Global categories
-       *
-       * @author Bettina Gille address@hidden
-       * @copyright Copyright (C) 2000-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uicategories.inc.php,v 1.41 2005/05/11 07:23:07 
powerstat Exp $
-       */
-
-
-       /**
-       * Global categories
-       *
-       * @package admin
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Admin - Global categories                              
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Written by Bettina Gille address@hidden                          *
+       * -----------------------------------------------                       
   *
+       *  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.uicategories.inc.php,v 1.42 2006/02/14 08:48:21 skwashd 
Exp $ */
+       /* $Source: 
/cvsroot/phpgroupware/admin/inc/class.uicategories.inc.php,v $ */
+
        class uicategories
        {
                var $bo;
-               var $template;
+               var $nextmatchs;
+               var $xslttpl;
 
                var $start;
                var $query;
@@ -30,35 +28,20 @@
                var $public_functions = array
                (
                        'index'  => True,
-                       'add'    => True,
                        'edit'   => True,
                        'delete' => True
                );
 
                function uicategories()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('global_categories_access',1,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
+                       $GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
 
                        $this->bo                       = 
CreateObject('admin.bocategories');
-                       $this->template         = $GLOBALS['phpgw']->template;
                        $this->nextmatchs       = 
CreateObject('phpgwapi.nextmatchs');
 
-                       $this->acl_search = 
!$GLOBALS['phpgw']->acl->check('global_categories_access',2,'admin');
-                       $this->acl_add    = 
!$GLOBALS['phpgw']->acl->check('global_categories_access',4,'admin');
-                       $this->acl_view   = 
!$GLOBALS['phpgw']->acl->check('global_categories_access',8,'admin');
-                       $this->acl_edit   = 
!$GLOBALS['phpgw']->acl->check('global_categories_access',16,'admin');
-                       $this->acl_delete = 
!$GLOBALS['phpgw']->acl->check('global_categories_access',32,'admin');
-                       $this->acl_add_sub= 
!$GLOBALS['phpgw']->acl->check('global_categories_access',64,'admin');
-
-                       $this->appname = get_var('appname',array('GET','POST'));
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
$GLOBALS['phpgw_info']['apps'][$this->appname ? $this->appname : 
'admin']['title'];
-
                        $this->start            = $this->bo->start;
                        $this->query            = $this->bo->query;
-                       $this->sort             = $this->bo->sort;
+                       $this->sort                     = $this->bo->sort;
                        $this->order            = $this->bo->order;
                        $this->cat_id           = $this->bo->cat_id;
                        if($this->debug) { $this->_debug_sqsof(); }
@@ -67,11 +50,11 @@
                function _debug_sqsof()
                {
                        $data = array(
-                               'start'  => $this->start,
-                               'query'  => $this->query,
-                               'sort'   => $this->sort,
-                               'order'  => $this->order,
-                               'cat_id' => $this->cat_id
+                               'start'         => $this->start,
+                               'query'         => $this->query,
+                               'sort'          => $this->sort,
+                               'order'         => $this->order,
+                               'cat_id'        => $this->cat_id
                        );
                        echo '<br>UI:<br>';
                        _debug_array($data);
@@ -81,10 +64,10 @@
                {
                        $data = array
                        (
-                               'start' => $this->start,
-                               'query' => $this->query,
-                               'sort'  => $this->sort,
-                               'order' => $this->order
+                               'start' => $this->start,
+                               'query' => $this->query,
+                               'sort'  => $this->sort,
+                               'order' => $this->order
                        );
 
                        if(isset($this->cat_id))
@@ -94,133 +77,100 @@
                        $this->bo->save_sessiondata($data);
                }
 
-               function set_langs()
-               {
-                       
$this->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
-                       
$this->template->set_var('row_on',$GLOBALS['phpgw_info']['theme']['row_on']);
-                       
$this->template->set_var('row_off',$GLOBALS['phpgw_info']['theme']['row_off']);
-                       $this->template->set_var('lang_save',lang('Save'));
-                       $this->template->set_var('lang_search',lang('Search'));
-                       $this->template->set_var('lang_sub',lang('Add sub'));
-                       $this->template->set_var('lang_edit',lang('Edit'));
-                       $this->template->set_var('lang_delete',lang('Delete'));
-                       $this->template->set_var('lang_parent',lang('Parent 
category'));
-                       $this->template->set_var('lang_none',lang('None'));
-                       $this->template->set_var('lang_name',lang('Name'));
-                       
$this->template->set_var('lang_descr',lang('Description'));
-                       $this->template->set_var('lang_add',lang('Add'));
-                       $this->template->set_var('lang_reset',lang('Clear 
Form'));
-                       $this->template->set_var('lang_cancel',lang('Cancel'));
-                       $this->template->set_var('lang_done',lang('Done'));
-               }
-
                function index()
                {
+                       $global_cats  = 
get_var('global_cats',array('POST','GET'));
+
+                       $GLOBALS['phpgw']->xslttpl->add_file('cats');
+
                        $link_data = array
                        (
-                               'menuaction'    => 'admin.uicategories.add',
-                               'appname'               => $this->appname
+                               'menuaction'  => 'admin.uicategories.index',
+                               'appname'     => $GLOBALS['appname'],
+                               'global_cats' => $global_cats
                        );
 
                        if ($_POST['add'])
                        {
+                               $link_data['menuaction'] = 
'admin.uicategories.edit';
                                
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
                        }
 
                        if ($_POST['done'])
                        {
-                               
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uimainscreen.mainscreen');
                        }
 
-                       $this->template->set_file(array('cat_list_t' => 
'listcats.tpl'));
-                       
$this->template->set_block('cat_list_t','cat_list','list');
-                       if (!$this->acl_add)
+                       if ($GLOBALS['appname'])
                        {
-                               
$this->template->set_block('cat_list_t','add','addhandle');
+                               $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($GLOBALS['appname']) . '&nbsp;' . lang('global categories') . ': ' . 
lang('category list');
                        }
-                       if (!$this->acl_search)
+                       else
                        {
-                               
$this->template->set_block('cat_list_t','search','searchhandle');
+                               $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('global categories') . ': ' . lang('category list');
                        }
 
-                       $GLOBALS['phpgw_info']['flags']['app_header'] .= ' - 
'.lang('Global categories');
-                       $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
-                       $this->set_langs();
-                       $this->template->set_var('query',$this->query);
-
-                       $link_data['menuaction'] = 'admin.uicategories.index';
-                       
$this->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php',$link_data));
-
-                       if(!$start)
+                       if (!$global_cats)
                        {
-                               $start = 0;
+                               $global_cats = False;
                        }
 
-                       $categories = $this->bo->get_list();
-
-                       $left  = 
$this->nextmatchs->left('/index.php',$this->start,$this->bo->cats->total_records,$link_data);
-                       $right = 
$this->nextmatchs->right('/index.php',$this->start,$this->bo->cats->total_records,$link_data);
-                       $this->template->set_var('left',$left);
-                       $this->template->set_var('right',$right);
+                       $categories = $this->bo->get_list($global_cats);
 
-                       
$this->template->set_var('lang_showing',$this->nextmatchs->show_hits($this->bo->cats->total_records,$this->start));
-
-                       
$this->template->set_var('sort_name',$this->nextmatchs->show_sort_order($this->sort,'cat_name',$this->order,'/index.php',lang('Name'),$link_data));
-                       
$this->template->set_var('sort_description',$this->nextmatchs->show_sort_order($this->sort,'cat_description',$this->order,'/index.php',lang('Description'),$link_data));
+                       $cat_header[] = array
+                       (
+                               'sort_name'                             => 
$this->nextmatchs->show_sort_order(array
+                                                                               
(
+                                                                               
        'sort'  => $this->sort,
+                                                                               
        'var'   => 'cat_name',
+                                                                               
        'order' => $this->order,
+                                                                               
        'extra' => $link_data
+                                                                               
)),
+                               'lang_add_sub'                  => lang('add 
sub'),
+                               'lang_name'                             => 
lang('name'),
+                               'lang_descr'                    => 
lang('description'),
+                               'lang_edit'                             => 
lang('edit'),
+                               'lang_delete'                   => 
lang('delete'),
+                               'lang_sort_statustext'  => lang('sort the 
entries'),
+                               'sort_descr'                    => 
$this->nextmatchs->show_sort_order(array
+                                                                               
        (
+                                                                               
                'sort'  => $this->sort,
+                                                                               
                'var'   => 'cat_description',
+                                                                               
                'order' => $this->order,
+                                                                               
                'extra' => $link_data
+                                                                               
        ))
+                       );
 
-                       for ($i=0;$i<count($categories);$i++)
+                       while (is_array($categories) && list(,$cat) = 
each($categories))
                        {
-                               $tr_color = 
$this->nextmatchs->alternate_row_color($tr_color);
-                               $this->template->set_var(tr_color,$tr_color);
-
-                               $id = $categories[$i]['id'];
-                               $level = $categories[$i]['level'];
-                               $cat_name = 
$GLOBALS['phpgw']->strip_html($categories[$i]['name']);
+                               $level          = $cat['level'];
+                               $cat_name       = 
$GLOBALS['phpgw']->strip_html($cat['name']);
 
+                               $main = 'yes';
                                if ($level > 0)
                                {
-                                       $space = '&nbsp;&nbsp;';
+                                       $space = '&nbsp;.&nbsp;';
                                        $spaceset = str_repeat($space,$level);
                                        $cat_name = $spaceset . $cat_name;
+                                       $main = 'no';
                                }
 
-                               $descr = 
$GLOBALS['phpgw']->strip_html($categories[$i]['description']);
-                               if (!$descr) { $descr = '&nbsp;'; }
+                               $descr = 
$GLOBALS['phpgw']->strip_html($cat['descr']);
 
-                               if ($level == 0)
+                               if ($GLOBALS['appname'] && $cat['app_name'] == 
'phpgw')
                                {
-                                       $cat_name = '<font color="FF0000"><b>' 
. $cat_name . '</b></font>';
-                                       $descr = '<font color="FF0000"><b>' . 
$descr . '</b></font>';
-                               }
-
-                               if ($this->appname && 
$categories[$i]['app_name'] == 'phpgw')
-                               {
-                                       $appendix = '&lt;' . lang('Global') . 
'&gt;';
+                                       $appendix = '&nbsp;&lt;' . 
lang('Global') . '&gt;';
                                }
                                else
                                {
                                        $appendix = '';
                                }
 
-                               $this->template->set_var(array
-                               (
-                                       'name' => $cat_name . $appendix,
-                                       'descr' => $descr
-                               ));
-
-                               if ($this->acl_add_sub)
-                               {
-                                       $link_data['menuaction'] = 
'admin.uicategories.add';
-                                       $link_data['cat_parent'] = $id;
-                                       $this->template->set_var('add_sub','<a 
href="'.$GLOBALS['phpgw']->link('/index.php',$link_data).'">'.
-                                                                               
                                lang('Add sub').'</a>');
-                               }
-                               if ($this->appname && 
$categories[$i]['app_name'] == $this->appname)
+                               if ($GLOBALS['appname'] && $cat['app_name'] == 
$GLOBALS['appname'])
                                {
                                        $show_edit_del = True;
                                }
-                               elseif(!$this->appname && 
$categories[$i]['app_name'] == 'phpgw')
+                               elseif(!$GLOBALS['appname'] && $cat['app_name'] 
== 'phpgw')
                                {
                                        $show_edit_del = True;
                                }
@@ -229,251 +179,243 @@
                                        $show_edit_del = False;
                                }
 
-                               $link_data['cat_id'] = $id;
-                               if ($show_edit_del && $this->acl_edit)
-                               {
-                                       $link_data['menuaction'] = 
'admin.uicategories.edit';
-                                       $this->template->set_var('edit','<a 
href="'.$GLOBALS['phpgw']->link('/index.php',$link_data).'">'.
-                                               lang('Edit').'</a>');
-                               }
-                               else
+                               if ($show_edit_del)
                                {
-                                       $this->template->set_var('edit','');
-                               }
-                               if ($show_edit_del && $this->acl_delete)
-                               {
-                                       $link_data['menuaction'] = 
'admin.uicategories.delete';
-                                       $this->template->set_var('delete','<a 
href="'.$GLOBALS['phpgw']->link('/index.php',$link_data).'">'.
-                                               lang('Delete').'</a>');
+                                       $link_data['cat_id']            = 
$cat['cat_id'];
+                                       $link_data['menuaction']        = 
'admin.uicategories.edit';
+                                       $edit_url                               
        = $GLOBALS['phpgw']->link('/index.php',$link_data);
+                                       $lang_edit                              
        = lang('edit');
+
+                                       $link_data['menuaction']        = 
'admin.uicategories.delete';
+                                       $delete_url                             
        = $GLOBALS['phpgw']->link('/index.php',$link_data);
+                                       $lang_delete                            
= lang('delete');
                                }
                                else
                                {
-                                       $this->template->set_var('delete','');
+                                       $edit_url                               
        = '';
+                                       $lang_edit                              
        = '';
+                                       $delete_url                             
        = '';
+                                       $lang_delete                            
= '';
                                }
-                               $this->template->fp('list','cat_list',True);
-                       }
-                       $link_data['menuaction'] = 'admin.uicategories.add';
-                       $link_data['cat_parent'] = '';
-                       
$this->template->set_var('add_action',$GLOBALS['phpgw']->link('/index.php',$link_data));
 
-                       $this->save_sessiondata();
-                       $this->template->pfp('out','cat_list_t',True);
-               }
+                               $link_data['menuaction'] = 
'admin.uicategories.edit';
+                               $link_data['parent'] = $cat['cat_id'];
+                               unset($link_data['cat_id']);
+                               $add_sub_url = 
$GLOBALS['phpgw']->link('/index.php',$link_data);
 
-               function add()
-               {
-                       $new_parent                     = $_POST['new_parent'];
-                       $cat_parent                     = 
intval(get_var('cat_parent',array('POST','GET')));
-                       $cat_name                       = $_POST['cat_name'];
-                       $cat_description        = $_POST['cat_description'];
-                       if ($new_parent)
-                       {
-                               $cat_parent = intval($new_parent);
+                               $content[] = array
+                               (
+                                       'name'                                  
        => $cat_name . $appendix,
+                                       'descr'                                 
        => $descr,
+                                       'date'                                  
        => $note['date'],
+                                       'main'                                  
        => $main,
+                                       'add_sub_url'                           
=> $add_sub_url,
+                                       'edit_url'                              
        => $edit_url,
+                                       'delete_url'                            
=> $delete_url,
+                                       'lang_add_sub_statustext'       => 
lang('add a subcategory'),
+                                       'lang_edit_statustext'          => 
lang('edit this category'),
+                                       'lang_delete_statustext'        => 
lang('delete this category'),
+                                       'lang_add_sub'                          
=> lang('add sub'),
+                                       'lang_edit'                             
        => $lang_edit,
+                                       'lang_delete'                           
=> $lang_delete
+                               );
                        }
 
-                       if (!$this->acl_add && $cat_parent == 0 || 
!$this->acl_add_sub && $cat_parent != 0)
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       $link_data = array
+                       $link_data['menuaction'] = 'admin.uicategories.index';
+                       $link_data['parent'] = '';
+
+                       $cat_add[] = array
                        (
-                               'menuaction'    => 'admin.uicategories.index',
-                               'appname'               => $this->appname
+                               'lang_add'                              => 
lang('add'),
+                               'lang_add_statustext'   => lang('add a 
category'),
+                               'action_url'                    => 
$GLOBALS['phpgw']->link('/index.php',$link_data),
+                               'lang_done'                             => 
lang('done'),
+                               'lang_done_statustext'  => lang('return to 
admin mainscreen')
                        );
 
-                       if ($_POST['cancel'])
-                       {
-                               
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
-                       }
-
-                       $GLOBALS['phpgw_info']['flags']['app_header'] .= ' - 
'.lang('Add global category');
-                       $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
-
-                       $this->set_langs();
-
-                       $this->template->set_file(array('form' => 
'category_form.tpl'));
-                       
$this->template->set_block('form','delete','deletehandle');
-
-                       if ($_POST['save'])
-                       {
-                               $values = array
-                               (
-                                       'parent'                => $cat_parent,
-                                       'descr'                 => 
$cat_description,
-                                       'name'                  => $cat_name,
-                                       'access'                => 'public'
-                               );
-
-                               $error = $this->bo->check_values($values);
-                               if (is_array($error))
-                               {
-                                       
$this->template->set_var('message',$GLOBALS['phpgw']->common->error_list($error));
-                               }
-                               else
-                               {
-                                       $this->bo->save_cat($values);
-                                       
$this->template->set_var('message',lang('Category %1 has been added !', 
$cat_name));
-                               }
-                       }
+                       $link_data['menuaction'] = 'admin.uicategories.index';
 
-                       $link_data['menuaction'] = 'admin.uicategories.add';    
                
-                       
$this->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php',$link_data));
+                       $nm = array
+                       (
+                               'start_record'  => $this->start,
+                               'num_records'   => count($categoris),
+                               'all_records'   => 
$this->bo->cats->total_records,
+                               'link_data'             => $link_data
+                       );
 
-                       
$this->template->set_var('category_list',$this->bo->cats->formatted_list(array('selected'
 => $cat_parent)));
-                       $this->template->set_var('cat_name',$cat_name);
-                       
$this->template->set_var('cat_description',$cat_description);
+                       $data = array
+                       (
+                               'nm_data'               => 
$this->nextmatchs->xslt_nm($nm),
+                               'search_data'   => 
$this->nextmatchs->xslt_search(array('query' => $this->query,'link_data' => 
$link_data)),
+                               'cat_header'    => $cat_header,
+                               'cat_data'              => $content,
+                               'cat_add'               => $cat_add 
+                       );
 
-                       $this->template->pfp('out','form');
+                       $this->save_sessiondata();
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('cat_list' => $data));
                }
 
                function edit()
                {
-                       $new_parent                     = 
intval($_POST['new_parent']);
-                       $cat_parent                     = 
intval($_POST['cat_parent']);
-                       $cat_name                       = $_POST['cat_name'];
-                       $cat_description        = $_POST['cat_description'];
-                       $old_parent                     = 
intval($_POST['old_parent']);
-                       
-                       if ($new_parent)
-                       {
-                               $cat_parent = $new_parent;
-                       }
+                       $global_cats    = 
get_var('global_cats',array('POST','GET'));
+                       $parent                 = 
get_var('parent',array('GET'));
+                       $values                 = 
get_var('values',array('POST'));
 
                        $link_data = array
                        (
-                               'menuaction'    => 'admin.uicategories.index',
-                               'appname'               => $this->appname
+                               'menuaction'  => 'admin.uicategories.index',
+                               'appname'     => $GLOBALS['appname'],
+                               'global_cats' => $global_cats
                        );
 
-                       if ($_POST['cancel'] || !$this->cat_id || 
!$this->acl_edit)
+                       if ($values['cancel'])
                        {
                                
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
                        }
 
-                       $GLOBALS['phpgw_info']['flags']['app_header'] .= ' - 
'.lang('Edit global category');
-                       $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
-
-                       $this->set_langs();
-
-                       $this->template->set_file(array('form' => 
'category_form.tpl'));
-
-                       if ($_POST['save'])
+                       if ($values['save'] || $values['apply'])
                        {
-                               $values = array
-                               (
-                                       'id'                    => 
$this->cat_id,
-                                       'old_parent'    => $old_parent,
-                                       'parent'                => $cat_parent,
-                                       'descr'                 => 
$cat_description,
-                                       'name'                  => $cat_name,
-                                       'access'                => 'public'
-                               );
+                               $values['cat_id'] = $this->cat_id;
+                               $values['access'] = 'public';
 
                                $error = $this->bo->check_values($values);
                                if (is_array($error))
                                {
-                                       
$this->template->set_var('message',$GLOBALS['phpgw']->common->error_list($error));
+                                       $message = 
$GLOBALS['phpgw']->common->error_list($error);
                                }
                                else
                                {
                                        $this->cat_id = 
$this->bo->save_cat($values);
-                                       
$this->template->set_var('message',lang('Category %1 has been updated 
!',$cat_name));
+                                       if ($values['apply'])
+                                       {
+                                               $message = lang('Category %1 
has been saved !',$values['name']);
+                                       }
+                                       else
+                                       {
+                                               
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
+                                       }
                                }
                        }
 
-                       $cats = $this->bo->cats->return_single($this->cat_id);
+                       if ($this->cat_id)
+                       {
+                               $cats = 
$this->bo->cats->return_single($this->cat_id);
+                               $parent = $cats['parent'];
+                       }
+
+                       if ($GLOBALS['appname'])
+                       {
+                               $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($GLOBALS['appname']) . '&nbsp;' . lang('global categories') . ': ' . 
($this->cat_id?lang('edit category'):lang('add category'));
+                       }
+                       else
+                       {
+                               $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('global categories') . ': ' . $function;
+                       }
+
+                       $GLOBALS['phpgw']->xslttpl->add_file('cats');
+
+                       if ($GLOBALS['appname'])
+                       {
+                               
$GLOBALS['phpgw']->template->set_var('title_categories',lang('Edit global 
category for %1',lang($GLOBALS['appname'])));
+                       }
+                       else
+                       {
+                               
$GLOBALS['phpgw']->template->set_var('title_categories',lang('Edit global 
category'));
+                       }
 
-                       $hidden_vars = '<input type="hidden" name="cat_id" 
value="' . $this->cat_id . '">' . "\n"
-                                                       . '<input type="hidden" 
name="old_parent" value="' . $cats[0]['parent'] . '">' . "\n";
-                       $this->template->set_var('hidden_vars',$hidden_vars);
+                       $data = array
+                       (
+                               'lang_name'                                     
=> lang('name'),
+                               'lang_descr'                            => 
lang('description'),
+                               'lang_parent'                           => 
lang('parent category'),
+                               'old_parent'                            => 
$cats['parent'],
+                               'lang_save'                                     
=> lang('save'),
+                               'lang_apply'                            => 
lang('apply'),
+                               'lang_cancel'                           => 
lang('cancel'),
+                               'value_name'                            => 
$GLOBALS['phpgw']->strip_html($cats['name']),
+                               'value_descr'                           => 
$GLOBALS['phpgw']->strip_html($cats['descr']),
+                               'message'                                       
=> $message,
+                               'lang_content_statustext'       => lang('enter 
a description for the category'),
+                               'lang_cancel_statustext'        => lang('leave 
the category untouched and return back to the list'),
+                               'lang_save_statustext'          => lang('save 
the category and return back to the list'),
+                               'lang_apply_statustext'         => lang('save 
the category'),
+                               'cat_select'                            => 
$this->bo->cats->formatted_xslt_list(array('select_name' => 'values[parent]', 
'selected' => $parent,'self' => $this->cat_id,'globals' => $global_cats))
+                       );
 
-                       $link_data['menuaction']        = 
'admin.uicategories.edit'; 
-                       $link_data['cat_id']            = $this->cat_id; 
-                       
$this->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php',$link_data));
+                       $link_data['menuaction'] = 'admin.uicategories.edit';
+                       if ($this->cat_id)
+                       {
+                               $link_data['cat_id']    = $this->cat_id;
+                       }
+                       $data['edit_url'] = 
$GLOBALS['phpgw']->link('/index.php',$link_data);
 
-                       
$this->template->set_var('cat_name',$GLOBALS['phpgw']->strip_html($cats[0]['name']));
-                       
$this->template->set_var('cat_description',$GLOBALS['phpgw']->strip_html($cats[0]['description']));
-                       
$this->template->set_var('category_list',$this->bo->cats->formatted_list(array('selected'
 => $cats[0]['parent'],'self' => $this->cat_id)));
-                       $this->template->pfp('out','form');
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('cat_edit' => $data));
                }
 
                function delete()
                {
-                       if (!$this->acl_delete)
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
+                       $global_cats  = 
get_var('global_cats',array('POST','GET'));
+
                        $link_data = array
                        (
-                               'menuaction'    => 'admin.uicategories.index',
-                               'appname'               => $this->appname
+                               'menuaction'  => 'admin.uicategories.index',
+                               'appname'     => $GLOBALS['appname'],
+                               'global_cats' => $global_cats
                        );
 
-                       if (!$this->cat_id || $_POST['cancel'])
+                       if ($_POST['done'] || $_POST['cancel'] || 
!$this->cat_id)
                        {
                                
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
                        }
 
-                       if ($_POST['confirm'])
+                       if ($_POST['delete'])
                        {
                                if ($_POST['subs'])
                                {
-                                       
$this->bo->delete($this->cat_id,True,False);
+                                       switch ($_POST['subs'])
+                                       {
+                                               case 'move':
+                                                       
$this->bo->delete(array('cat_id' => $this->cat_id, 'modify_subs' => True));
+                                                       
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
+                                                       break;
+                                               case 'drop':
+                                                       
$this->bo->delete(array('cat_id' => $this->cat_id, 'drop_subs' => True));
+                                                       
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
+                                                       break;
+                                               default:
+                                                       $error                  
= array('Please choose one of the methods to handle the subcategories');
+                                                       $msgbox_error   = 
$GLOBALS['phpgw']->common->error_list($error);
+                                                       break;
+                                       }
                                }
                                else
                                {
-                                       $this->bo->delete($this->cat_id);
+                                       $this->bo->delete(array('cat_id' => 
$this->cat_id));
+                                       
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
                                }
-                               
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
                        }
-                       $this->template->set_file(array('category_delete' => 
'delete_cat.tpl'));
 
-                       if ($this->appname)
-                       {
-                               $type = 'noglobalapp';
-                       }
-                       else
-                       {
-                               $type = 'noglobal';
-                       }
+                       
$GLOBALS['phpgw']->xslttpl->add_file(array($GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
 . SEP . 'app_delete'));
 
-                       $apps_cats = $this->bo->exists(array
-                       (
-                               'type'     => $type,
-                               'cat_name' => '',
-                               'cat_id'   => $this->cat_id
-                       ));
-
-                       $GLOBALS['phpgw_info']['flags']['app_header'] .= ' - 
'.lang('Delete category');
-                       $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
-
-                       $hidden_vars = '<input type="hidden" name="cat_id" 
value="' . $this->cat_id . '">' . "\n";
-                       $this->template->set_var('hidden_vars',$hidden_vars);
-
-                       $cats = $this->bo->cats->return_single($this->cat_id);
-                       $this->template->set_var('cat_name',$cats[0]['name']);
-                       
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
($GLOBALS['appname']?lang($GLOBALS['appname']) . '&nbsp;':'') . lang('global 
categories') . ': ' . lang('delete category');
+
+                       $type = ($GLOBALS['appname']?'noglobalapp':'noglobal');
+
+                       $apps_cats = $this->bo->exists(array('type'             
=> $type,
+                                                                               
                'cat_name'      => '',
+                                                                               
                'cat_id'        => $this->cat_id));
                        if ($apps_cats)
                        {
-                               
$this->template->set_block('category_delete','delete','deletehandle');
-                               $this->template->set_var('messages',lang('This 
category is currently being used by applications as a parent category') . '<br>'
-                                       . lang('You will need to remove the 
subcategories before you can delete this category'));
-
-                               $this->template->set_var('lang_subs','');
-                               $this->template->set_var('subs','');
-                               $this->template->set_var('nolink',$nolink);
-                               $this->template->set_var('deletehandle','');
-                               $this->template->set_var('donehandle','');
-                               $this->template->set_var('lang_ok',lang('Ok'));
-                               $this->template->pfp('out','category_delete');
+                               $error = array('This category is currently 
being used by applications as a parent category',
+                                                               'You will need 
to reassign these subcategories before you can delete this category');
+
+                               $msgbox_error   = 
$GLOBALS['phpgw']->common->error_list($error);
+                               $show_done              = 'yes';
                        }
                        else
                        {
-                               
$this->template->set_block('category_delete','done','donehandle');
-                               $this->template->set_var('messages',lang('Are 
you sure you want to delete this category ?'));
+                               $confirm_msg = lang('Are you sure you want to 
delete this global category ?');
 
                                $exists = $this->bo->exists(array
                                (
@@ -484,22 +426,33 @@
 
                                if ($exists)
                                {
-                                       
$this->template->set_var('lang_subs',lang('Do you also want to delete all 
global subcategories ?'));
-                                       $this->template->set_var('subs','<input 
type="checkbox" name="subs" value="True">');
-                               }
-                               else
-                               {
-                                       
$this->template->set_var('lang_subs','');
-                                       $this->template->set_var('subs', '');
+                                       $subs                                   
= 'yes';
+                                       $lang_sub_select_move   = lang('Do you 
want to move all global subcategories one level down ?');
+                                       $lang_sub_select_drop   = lang('Do you 
want to delete all global subcategories ?');
                                }
-
-                               $link_data['menuaction'] = 
'admin.uicategories.delete';
-                               $link_data['cat_id'] = $this->cat_id;
-                               
$this->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php',$link_data));
-                               
$this->template->set_var('lang_yes',lang('Yes'));
-                               $this->template->set_var('lang_no',lang('No'));
-                               $this->template->pfp('out','category_delete');
                        }
+
+                       $data = array
+                       (
+                               'show_done'                                     
=> $show_done,
+                               'msgbox_data'                           => 
$msgbox_error,
+                               'lang_delete'                           => 
lang('delete'),
+                               'subs'                                          
=> $subs,
+                               'lang_sub_select_move'          => 
$lang_sub_select_move,
+                               'lang_sub_select_drop'          => 
$lang_sub_select_drop,
+                               'lang_delete_statustext'        => lang('delete 
the category'),
+                               'lang_cancel_statustext'        => lang('do NOT 
delete the category and return back to the list'),
+                               'lang_done_statustext'          => lang('back 
to the list'),
+                               'lang_cancel'                           => 
lang('cancel'),
+                               'lang_done'                                     
=> lang('done'),
+                               'lang_confirm_msg'                      => 
$confirm_msg
+                       );
+
+                       $link_data['menuaction']        = 
'admin.uicategories.delete';
+                       $link_data['cat_id']            = $this->cat_id;
+                       $data['delete_url']                     = 
$GLOBALS['phpgw']->link('/index.php',$link_data);
+
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('delete' => $data));
                }
        }
 ?>
Index: admin/inc/class.uiconfig.inc.php
diff -u admin/inc/class.uiconfig.inc.php:1.16 
admin/inc/class.uiconfig.inc.php:1.17
--- admin/inc/class.uiconfig.inc.php:1.16       Wed May 11 07:23:07 2005
+++ admin/inc/class.uiconfig.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,41 +1,46 @@
 <?php
-       /**
-       * Administration
-       *
-       * @author Miles Lott <address@hidden>
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uiconfig.inc.php,v 1.16 2005/05/11 07:23:07 
powerstat Exp $
-       */
-
-
-       /**
-       * Admin
-       *
-       * @package admin
-       */
+  /**************************************************************************\
+  * phpGroupWare - Admin config                                              *
+  * Written by Miles Lott <address@hidden>                         *
+  * 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.uiconfig.inc.php,v 1.17 2006/02/14 08:48:21 skwashd Exp $ */
+
        class uiconfig
        {
                var $public_functions = array('index' => True);
 
                function index()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('site_config_access',1,'admin'))
+                       $referer = 
urldecode($GLOBALS['HTTP_GET_VARS']['referer']);
+
+                       if($referer)
                        {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
+                               $_redir = $referer;
+                               
$GLOBALS['phpgw']->session->appsession('session_data','admin_config',$referer);
                        }
-                       
-                       $appname = $_GET['appname'];
-                       if( strpos('.',$appname) || strpos('/', $appname) || 
!is_dir(PHPGW_SERVER_ROOT. "/$appname/"))
+                       else
                        {
-                               //kick em back to admin - basic validation
-                               
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
-                               exit;
+                               $referer = 
$GLOBALS['phpgw']->session->appsession('session_data','admin_config');
+                               if($referer == '-1')
+                               {
+                                       $referer = '';
+                               }
+                               $_redir  = $referer ? $referer : 
$GLOBALS['phpgw']->link('/admin/index.php');
                        }
+
+                       $appname = $GLOBALS['HTTP_GET_VARS']['appname'];
                        switch($appname)
                        {
                                case 'admin':
+                               //case 'preferences':
+                               //$appname = 'preferences';
                                case 'addressbook':
                                case 'calendar':
                                case 'email':
@@ -44,14 +49,12 @@
                                        Other special apps can go here for now, 
e.g.:
                                        case 'bogusappname':
                                        */
-                                       $appname = $_GET['appname'];
                                        $config_appname = 'phpgwapi';
                                        break;
                                case 'phpgwapi':
                                case '':
                                        /* This keeps the admin from getting 
into what is a setup-only config */
-                                       /* This case should be replaced with a 
hook and an array key check imho - skwashd */
-                                       
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
+                                       Header('Location: ' . $_redir);
                                        break;
                                default:
                                        $config_appname = $appname;
@@ -73,19 +76,17 @@
                                $current_config = $c->config_data;
                        }
 
-                       if ($_POST['cancel'] || $_POST['submit'] && 
$GLOBALS['phpgw']->acl->check('site_config_access',2,'admin'))
+                       if ($GLOBALS['HTTP_POST_VARS']['cancel'])
                        {
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/admin/index.php') . '#' . $_GET['appname']);
-                               exit;
+                               Header('Location: ' . $_redir);
                        }
 
-                       if (@$_POST['submit'])
+                       if ($GLOBALS['HTTP_POST_VARS']['submit'])
                        {
                                /* Load hook file with functions to validate 
each config (one/none/all) */
                                
$GLOBALS['phpgw']->hooks->single('config_validate',$appname);
-                               
-                               $newsettings = get_var('newsettings', 
array('POST'), array());
-                               foreach($newsettings as $key => $config)
+
+                               while (list($key,$config) = 
each($GLOBALS['HTTP_POST_VARS']['newsettings']))
                                {
                                        if ($config)
                                        {
@@ -127,11 +128,14 @@
                                        
unset($GLOBALS['phpgw_info']['server']['found_validation_hook']);
                                }
 
-                               $c->save_repository();
+                               $c->save_repository(True);
 
                                if(!$errors)
                                {
-                                       
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
+                                       
$GLOBALS['phpgw']->session->appsession('session_data','admin_config',-1);
+                                       Header('Location: ' . $_redir);
+                                       
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
+                                       exit;
                                }
                        }
 
@@ -145,18 +149,12 @@
                        else
                        {
                                $t->set_var('error','');
-                               
$t->set_var('th_err',$GLOBALS['phpgw_info']['theme']['th_bg']);
                        }
 
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
                        $t->set_var('title',lang('Site Configuration'));
                        
$t->set_var('action_url',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname='
 . $appname));
-                       $t->set_var('th_bg',     
$GLOBALS['phpgw_info']['theme']['th_bg']);
-                       $t->set_var('th_text',   
$GLOBALS['phpgw_info']['theme']['th_text']);
-                       $t->set_var('row_on',    
$GLOBALS['phpgw_info']['theme']['row_on']);
-                       $t->set_var('row_off',   
$GLOBALS['phpgw_info']['theme']['row_off']);
                        $t->pparse('out','header');
 
                        $vars = $t->get_undefined('body');
@@ -175,7 +173,7 @@
                                }
                                $newval = implode(' ',$new);
 
-                               switch ($type)
+                               switch($type)
                                {
                                        case 'lang':
                                                
$t->set_var($value,lang($newval));
@@ -192,19 +190,19 @@
                                                        
$t->set_var($value,$current_config[$newval]);
                                                }
                                                break;
-                                       /*
                                        case 'checked':
-                                               $newval = ereg_replace(' 
','_',$newval);
-                                               if ($current_config[$newval])
+                                               /* '+' is used as a delimiter 
for the check value */
+                                               list($newvalue,$check) = 
split('\+',$newval);
+                                               $newval = ereg_replace(' 
','_',$newvalue);
+                                               if($current_config[$newval] == 
$check)
                                                {
-                                                       $t->set_var($value,' 
checked');
+                                                       $t->set_var($value, ' 
checked');
                                                }
                                                else
                                                {
-                                                       $t->set_var($value,'');
+                                                       $t->set_var($value, '');
                                                }
                                                break;
-                                       */
                                        case 'selected':
                                                $configs = array();
                                                $config  = '';
@@ -237,15 +235,15 @@
                                                }
                                                break;
                                        default:
-                                       $t->set_var($value,'');
-                                       break;
+                                               $t->set_var($value,'');
+                                               break;
                                }
                        }
 
                        $t->pfp('out','body');
 
-                       $t->set_var('lang_submit', 
$GLOBALS['phpgw']->acl->check('site_config_access',2,'admin') ? lang('Cancel') 
: lang('Save'));
-                       $t->set_var('lang_cancel', lang('Cancel'));
+                       $t->set_var('lang_submit', lang('submit'));
+                       $t->set_var('lang_cancel', lang('cancel'));
                        $t->pfp('out','footer');
                }
        }
Index: admin/inc/class.uicurrentsessions.inc.php
diff -u admin/inc/class.uicurrentsessions.inc.php:1.11 
admin/inc/class.uicurrentsessions.inc.php:1.12
--- admin/inc/class.uicurrentsessions.inc.php:1.11      Thu May 12 17:58:58 2005
+++ admin/inc/class.uicurrentsessions.inc.php   Tue Feb 14 08:48:21 2006
@@ -1,20 +1,17 @@
 <?php
-       /**
-       * Administration - Current session
-       *
-       * @author Joseph Engo <address@hidden>
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uicurrentsessions.inc.php,v 1.11 2005/05/12 
17:58:58 fipsfuchs Exp $
-       */
-
-
-       /**
-       * Current session
-       *
-       * @package admin
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Administration                                         
   *
+       * http://www.phpgroupware.org                                           
   *
+       *  This file written by Joseph Engo <address@hidden>               *
+       * --------------------------------------------                          
   *
+       *  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.uicurrentsessions.inc.php,v 1.12 2006/02/14 08:48:21 
skwashd Exp $ */
+
        class uicurrentsessions
        {
                var $template;
@@ -26,10 +23,6 @@
 
                function uicurrentsessions()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('current_sessions_access',1,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
                        $this->template   = 
createobject('phpgwapi.Template',PHPGW_APP_TPL);
                        $this->bo         = 
createobject('admin.bocurrentsessions');
                        $this->nextmatchs = createobject('phpgwapi.nextmatchs');
@@ -38,7 +31,6 @@
                function header()
                {
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
                }
 
                function store_location($info)
@@ -59,34 +51,25 @@
                                $this->store_location($info);
                        }
 
-                       if(isset($_POST['start']))
-                       {
-                               $info['start'] = intval($_POST['start']);
-                       }
-                       else
+                       if ($GLOBALS['start'] || $GLOBALS['sort'] || 
$GLOBALS['order'])
                        {
-                               $start = 0;
-                       }
+                               if ($GLOBALS['start'] == 0 || $GLOBALS['start'] 
&& $GLOBALS['start'] != $info['start'])
+                               {
+                                       $info['start'] = $GLOBALS['start'];
+                               }
 
-                       if(isset($_GET['order']))
-                       {
-                               $info['order'] = $_GET['order'];
-                       }
-                       else
-                       {
-                               $order = 'session_dla';
-                       }
+                               if ($GLOBALS['sort'] && $GLOBALS['sort'] != 
$info['sort'])
+                               {
+                                       $info['sort'] = $GLOBALS['sort'];
+                               }
 
-                       if(isset($_GET['sort']))
-                       {
-                               $info['sort'] = $_GET['sort'];
-                       }
-                       else
-                       {
-                               $sort = 'ASC';
-                       }
+                               if ($GLOBALS['order'] && $GLOBALS['order'] != 
$info['order'])
+                               {
+                                       $info['order'] = $GLOBALS['order'];
+                               }
 
-                       $this->store_location($info);
+                               $this->store_location($info);
+                       }
 
                        $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('List of current users');
                        $this->header();
@@ -95,9 +78,15 @@
                        $this->template->set_block('current','list','list');
                        $this->template->set_block('current','row','row');
 
-                       $can_view_action = 
!$GLOBALS['phpgw']->acl->check('current_sessions_access',2,'admin');
-                       $can_view_ip     = 
!$GLOBALS['phpgw']->acl->check('current_sessions_access',4,'admin');
-                       $can_kill        = 
!$GLOBALS['phpgw']->acl->check('current_sessions_access',8,'admin');
+                       if (! 
$GLOBALS['phpgw']->acl->check('current_sessions_access',4,'admin'))
+                       {
+                               $can_view_ip = True;
+                       }
+
+                       if (! 
$GLOBALS['phpgw']->acl->check('current_sessions_access',2,'admin'))
+                       {
+                               $can_view_action = True;
+                       }
 
                        $total = $this->bo->total();
 
@@ -120,15 +109,20 @@
 
                        $values = 
$this->bo->list_sessions($info['start'],$info['order'],$info['sort']);
 
-                       $this->template->set_var('lang_sessions',lang('%1 - %2 
of %3 sessions',$info['start']+1,$start+count($values),$total));
-
                        while (list(,$value) = @each($values))
                        {
-                               
$this->nextmatchs->template_alternate_row_color($this->template);
+                               
$this->nextmatchs->template_alternate_row_color(&$this->template);
 
                                
$this->template->set_var('row_loginid',$value['session_lid']);
 
-                               
$this->template->set_var('row_ip',$can_view_ip?$value['session_ip']:'&nbsp;');
+                               if ($can_view_ip)
+                               {
+                                       
$this->template->set_var('row_ip',$value['session_ip']);
+                               }
+                               else
+                               {
+                                       
$this->template->set_var('row_ip','&nbsp; -- &nbsp;');
+                               }
 
                                
$this->template->set_var('row_logintime',$value['session_logintime']);
                                
$this->template->set_var('row_idle',$value['session_idle']);
@@ -137,12 +131,16 @@
                                {
                                        
$this->template->set_var('row_action',$GLOBALS['phpgw']->strip_html($value['session_action']));
                                }
+                               elseif(! $can_view_action)
+                               {
+                                       
$this->template->set_var('row_action','&nbsp; -- &nbsp;');
+                               }
                                else
                                {
                                        
$this->template->set_var('row_action','&nbsp;');
                                }
 
-                               if ($value['session_id'] != 
$GLOBALS['phpgw_info']['user']['sessionid'] && $can_kill)
+                               if ($value['session_id'] != 
$GLOBALS['phpgw_info']['user']['sessionid'] && ! 
$GLOBALS['phpgw']->acl->check('current_sessions_access',8,'admin'))
                                {
                                        $this->template->set_var('row_kill','<a 
href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicurrentsessions.kill&ksession='
                                                . $value['session_id'] . 
'&kill=true') . '">' . lang('Kill').'</a>');
@@ -162,8 +160,10 @@
                {
                        if 
($GLOBALS['phpgw']->acl->check('current_sessions_access',8,'admin'))
                        {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
+                               $this->list_sessions();
+                               return False;
                        }
+
                        $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('Kill session');
                        $this->header();
                        $this->template->set_file('form','kill_session.tpl');
Index: admin/inc/class.uilog.inc.php
diff -u admin/inc/class.uilog.inc.php:1.12 admin/inc/class.uilog.inc.php:1.13
--- admin/inc/class.uilog.inc.php:1.12  Wed May 11 07:23:07 2005
+++ admin/inc/class.uilog.inc.php       Tue Feb 14 08:48:21 2006
@@ -1,172 +1,298 @@
 <?php
-       /**
-       * Administration - Log
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uilog.inc.php,v 1.12 2005/05/11 07:23:07 
powerstat Exp $
-       */
+       
/***************************************************************************\
+       * phpGroupWare - uilog                                                  
    *
+       * http://www.phpgroupware.org                                           
    *
+       * Written by : jerry westrick address@hidden                          *
+       * -------------------------------------------------                     
    *
+       * 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.uilog.inc.php,v 1.13 2006/02/14 08:48:21 skwashd Exp $ */
 
-       /**
-       * Log
-       *
-       * @package admin
-       */
        class uilog
        {
-               var $template;
+               var $grants;
+               var $cat_id;
+               var $start;
+               var $search;
+               var $filter;
+
                var $public_functions = array(
-                       'list_log' => True,
-                       'purge_log' => True
+                       'list_log' => True
                );
 
                function uilog()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       
-                       $this->bo         = createobject('admin.bolog');
-                       $this->nextmatchs = createobject('phpgwapi.nextmatchs');
-                       $this->template   = $GLOBALS['phpgw']->template;
-                       $this->template->set_file(
-                               Array(
-                                       'errorlog' => 'errorlog_view.tpl',
-                                       'form_button' => 
'form_button_script.tpl'
-                               )
-                       );
-                       $this->template->set_block('errorlog','list');
-                       $this->template->set_block('errorlog','row');
-                       $this->template->set_block('errorlog','row_empty');
-               }
+                       $_cols    = $GLOBALS['HTTP_POST_VARS']['_cols'];
+                       $nocols   = $GLOBALS['HTTP_POST_VARS']['nocols'];
+                       $_delcol  = $GLOBALS['HTTP_POST_VARS']['_delcol'];
+                       $layout   = $GLOBALS['HTTP_POST_VARS']['layout'];
+                       $editable = $GLOBALS['HTTP_GET_VARS']['editable'];
+                       $modifytable = $GLOBALS['HTTP_GET_VARS']['modifytable'] 
? $GLOBALS['HTTP_GET_VARS']['modifytable'] : 
$GLOBALS['HTTP_POST_VARS']['modifytable'];
+
+                       $this->bolog    = CreateObject('admin.bolog',True);
+                       $this->html     = createobject('admin.html');
+                       $this->t        = 
CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('admin'));
+                       $this->lastid   = '';
+                       $this->editmode = False;
 
-               function list_log()
-               {
-                       if 
($GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       
-                       $account_id = get_var('account_id',array('GET','POST'));
-                       $start = get_var('start',array('POST'),0);
-                       $sort = get_var('sort',array('POST'),0);
-                       $order = get_var('order',array('POST'),0);
-                       
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('View error log');
-                       if ( $account_id )
+                       // Handle the Edit Table Button
+                       if (isset($editable))
                        {
-                               $GLOBALS['phpgw_info']['flags']['app_header'] 
.= ' ' . lang('for') . ' ' . 
$GLOBALS['phpgw']->common->grab_owner_name($account_id);
+                               $this->editmode = $editable;
                        }
-                       
-                       $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
-                       $total_records = $this->bo->total($account_id);
-
-                       $var = Array(
-                               'th_bg'       => 
$GLOBALS['phpgw_info']['theme']['th_bg'],
-                               'nextmatchs_left'  => 
$this->nextmatchs->left('/index.php',$start,$total_records,'&menuaction=admin.uilog.list_log&account_id='
 . $account_id),
-                               'nextmatchs_right' => 
$this->nextmatchs->right('/index.php',$start,$total_records,'&menuaction=admin.uilog.list_log&account_id='
 . $account_id),
-                               'showing'          => 
$this->nextmatchs->show_hits($total_records,$start),
-                               'lang_loginid'     => lang('LoginID'),
-                               'lang_date'        => lang('time'),
-                               'lang_app'         => lang('module'),
-                               'lang_severity'    => lang('severity'),
-                               'lang_line'        => lang('line'),
-                               'lang_file'        => lang('file'),
-                               'lang_message'     => lang('log message'),
-                               'lang_total'       => lang('Total')
-                       );
-
-                       $this->template->set_var($var);
-
-                       $records = 
$this->bo->list_log($account_id,$start,$order,$sort);
-                       while (is_array($records) && list(,$record) = 
each($records))
+                       // Handle return from Modify Table form...
+                       if ($modifytable)
                        {
-                               
$this->nextmatchs->template_alternate_row_color($this->template);
+                               // the delete column must not be empty
+                               if (!isset($_delcol))
+                               {
+                                       $_delcol = array();
+                               }
 
-                               $var = array(
-                                       'row_date'              => 
$record['log_date'],
-                                       'row_loginid'   => 
$record['log_account_lid'],
-                                       'row_app'       => $record['log_app'],
-                                       'row_severity'  => 
$record['log_severity'],
-                                       'row_file'      => $record['log_file'],
-                                       'row_line'      => $record['log_line'],
-                                       'row_message'   => $record['log_msg'],
-                               );
-                               $this->template->set_var($var);
-                               $this->template->fp('rows_access','row',True);
-                       }
+                               // Build New fields_inc array...
+                               if (isset($_cols))
+                               {
+                                       $c = array();
+                                       for ($i=0;$i<count($_cols);$i++)
+                                       {
+                                               if (!in_array($i, $_delcol))
+                                               {
+                                                       $c[] = $_cols[$i];
+                                               }
+                                       }
+                                       $this->fields_inc = $c;
+                               }
 
-                       if (! $total_records && $account_id)
-                       {
-                               
$this->nextmatchs->template_alternate_row_color($this->template);
-                               $this->template->set_var('row_message',lang('No 
error log records exist for this user'));
-                               
$this->template->fp('rows_access','row_empty',True);
+                               // Reset Mode to display...
+                               $this->editmode = False;
+                               $this->layout = $layout;
+
+                               // Save the fields_inc values in Session and 
User Preferences...
+                               $data = 
array('fields_inc'=>$this->fields_inc,'layout'=>$layout);
+                               
$GLOBALS['phpgw']->session->appsession('session_data','log',$data);
+                               
$GLOBALS['phpgw']->preferences->read_repository();
+                               
$GLOBALS['phpgw']->preferences->delete('log','fields_inc');
+                               
$GLOBALS['phpgw']->preferences->add('log','fields_inc',$this->fields_inc);
+                               
$GLOBALS['phpgw']->preferences->delete('log','layout');
+                               
$GLOBALS['phpgw']->preferences->add('log','layout',$this->layout);
+                               
$GLOBALS['phpgw']->preferences->save_repository();
                        }
 
-                       if ( $total_records ) 
+                       // Make sure that $this->fields_inc is filled
+                       if ( !isset($this->field_inc))
                        {
-                               if ( $account_id ) 
+                               // Need to fill from Session Data...
+                               $data = 
$GLOBALS['phpgw']->session->appsession('session_data','log');
+                               if (isset($data) && isset($data['fields_inc']))
                                {
-                                       $var = Array(
-                                               'submit_button' => 
lang('Submit'),
-                                               'action_url_button'     => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uilog.purge_log&account_id='
 . $account_id),
-                                               'action_text_button'    => ' 
'.lang('Delete all log records for 
').$GLOBALS['phpgw']->common->grab_owner_name($account_id),
-                                               'action_confirm_button' => '',
-                                               'action_extra_field'    => ''
-                                       );
+                                       $this->fields_inc = $data['fields_inc'];
+                                       $this->layout = $data['layout'];
                                }
-                               else 
+                               else
                                {
-                                       $var = Array(
-                                               'submit_button' => 
lang('Submit'),
-                                               'action_url_button'     => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uilog.purge_log'),
-                                               'action_text_button'    => ' 
'.lang('Delete all log records'),
-                                               'action_confirm_button' => '',
-                                               'action_extra_field'    => ''
-                                       );
+                                       
$GLOBALS['phpgw']->preferences->read_repository();
+                                       // Get From User Profile...
+                                       if 
(@$GLOBALS['phpgw_info']['user']['preferences']['log']['fields_inc'])
+                                       {
+                                               $fields_inc = 
$GLOBALS['phpgw_info']['user']['preferences']['log']['fields_inc'];
+                                               $this->fields_inc = $fields_inc;
+                                               $layout = 
$GLOBALS['phpgw_info']['user']['preferences']['log']['layout'];
+                                               $this->layout = $layout;
+                                               
$GLOBALS['phpgw']->session->appsession('session_data','log',array('fields_inc'=>$fields_inc,'layout'=>$layout));
+                                       }
+                                       else
+                                       {
+                                               // Use defaults...
+                                               $this->fields_inc = array(
+                                                       'log_severity',
+                                                       'log_id',
+                                                       'log_date_e',
+                                                       'log_app',
+                                                       'log_full_name',
+                                                       'log_msg_seq_no',
+                                                       'log_msg_date_e',
+                                                       'log_msg_severity',
+                                                       'log_msg_code',
+                                                       'log_msg_text',
+                                                       'log_msg_file',
+                                                       'log_msg_line'
+                                               );
+                                               $this->layout[]= 
array(0,1,2,3,4,5,6,7,8,9);
+                                               $this->layout[]= 
array(0,1,2,3,4,5,6,7,10,11);
+
+                                               // Store defaults in session 
data...
+                                               
$GLOBALS['phpgw']->session->appsession(
+                                                       'session_data',
+                                                       'log',
+                                                       array(
+                                                               
'fields_inc'=>$this->fields_inc,
+                                                               
'layout'=>$this->layout
+                                                       )
+                                               );
+                                       }
                                }
-                               $this->template->set_var($var);
-                               $var['purge_log_button'] = 
$this->template->fp('button', 'form_button', True);
-                               $this->template->set_var($var);
-                       }
 
-                       if ( $account_id ) 
+                       } // Values already filled...
+                       reset($this->fields_inc);
+                       while(list($cno,$cname)=each($this->fields_inc))
                        {
-                               $var = Array(
-                                       'bg_color'     => 
$GLOBALS['phpgw_info']['themes']['bg_color'],
-                                       'footer_total' => lang('Total records') 
. ' ' . lang('for') . ' ' . 
$GLOBALS['phpgw']->common->grab_owner_name($account_id) . ': ' . $total_records 
-                               );
+                               $this->column[$cname]=$cno;
                        }
-                       else
+               }
+
+               function list_log()
+               {
+                       if (False) // add some errors to the log...
                        {
-                               $var = Array(
-                                       'bg_color'     => 
$GLOBALS['phpgw_info']['themes']['bg_color'],
-                                       'footer_total' => lang('Total records') 
. ': ' . $total_records
-                               );
+                               // Test 1: single Error line immedeately to 
errorlog 
+                               // (could be type Debug, Info, Warning, or 
Error)
+                               
$GLOBALS['phpgw']->log->write(array('text'=>'I-TestWrite, write: 
%1','p1'=>'This message should appear in 
log','file'=>__FILE__,'line'=>__LINE__));
+
+                               // Test 2: A message should appear in log even 
if clearstack is called
+                               
$GLOBALS['phpgw']->log->message(array('text'=>'I-TestMsg, msg: %1','p1'=>'This 
message should appear in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should not be in log','file'=>__FILE__,'line'=>__LINE__));
+                               $GLOBALS['phpgw']->log->clearstack();
+                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
+
+                               // Test 3: one debug message
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
+
+                               // Test 3: debug and one informational
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
+
+                               // Test 4: an informational and a Warning
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'W-TestWarn, warn: %1','p1'=>'This 
is a test Warning','file'=>__FILE__,'line'=>__LINE__));
+                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
+
+                               // Test 5: and an error
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'W-TestWarn, warn: %1','p1'=>'This 
is a test Warning','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'E-TestError, err: %1','p1'=>'This 
is a test Error','file'=>__FILE__,'line'=>__LINE__));
+                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
+
+                               // Test 6: and finally a fatal...
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'W-TestWarn, warn: %1','p1'=>'This 
is a test Warning','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'E-TestError, err: %1','p1'=>'This 
is a test Error','file'=>__FILE__,'line'=>__LINE__));
+                               
$GLOBALS['phpgw']->log->error(array('text'=>'F-Abend, abort: %1','p1'=>'Force 
abnormal termination','file'=>__FILE__,'line'=>__LINE__));
                        }
+                       $this->t->set_file(array('log_list_t' => 'log.tpl'));
 
-                       // create the menu on the left, if needed
-                       $menuClass = CreateObject('admin.uimenuclass');
-                       $var['rows'] = 
$menuClass->createHTMLCode('view_account');
+                       // -------------------------- Layout Description 
-------------------------------
+                       $phycols = array('2%', '2%', '15%', '10%', '15%', '2%', 
'20%', '2%', '7%', '25%');
+                       // -------------------------- end Layout Description 
---------------------------
+
+                       // Get list of Possible Columns
+                       $header = $this->bolog->get_error_cols_e();
+
+                       // Describe table layout...
+                       $header['#phycols'] = $phycols;
+                       $header['#layout'] = $this->layout;
+
+                       // Set User Configured List of columns to show
+                       $header['_cols']= $this->fields_inc;
+
+                       // Set Table formating parameters
+                       $header['#table_parms']=array('width'=>"98%", 
'bgcolor'=>"000000", 'border'=>"0");
+
+                       // Set Header formating parameters
+                       $header['#head_parms']=array('bgcolor'=>"D3DCFF");
+
+                       // Column Log_ID
+                       $header['log_id']['#parms_hdr'] = 
array('align'=>"center");
+                       $header['log_id']['#title'] = 'Id';
+                       $header['log_id']['align'] = 'center';
+
+                       // Column Log_Severity
+                       $header['log_severity']['#parms_hdr'] = 
array('align'=>"center");
+                       $header['log_severity']['#title'] = 'S';
+                       $header['log_severity']['align'] = 'center';
+
+                       // Column Trans Date
+                       $header['log_date_e']['#title'] = 'Tans. Date';
+
+                       // Column Application
+                       $header['log_app']['#title'] = 'App.';
+
+                       // Column FullName
+                       $header['log_full_name']['#title'] = 'User';
+                       $header['log_full_name']['align'] = 'center';
+
+                       // Column log_msg_seq_no
+                       $header['log_msg_seq_no']['#parms_hdr'] = 
array('align'=>"center");
+                       $header['log_msg_seq_no']['#title'] = 'Sno';
+                       $header['log_msg_seq_no']['align'] = 'center';
+
+                       // Column log_msg_seq_no
+                       $header['log_msg_date_e']['#title'] = 'TimeStamp';
+                       $header['log_msg_severity']['#title'] = 'S';
+                       $header['log_msg_severity']['align'] = 'center';
+                       $header['log_msg_code']['#title'] = 'Code';
+                       $header['log_msg_text']['#title'] = 'Error Msg';
+                       $header['log_msg_file']['#title'] = 'File';
+                       $header['log_msg_line']['#title'] = 'Line';
+
+                       // Set up Grouping, Suppression...
+                       $header['_groupby']=array('log_id'=>1);
+                       
$header['_supres']=array('log_id'=>1,'log_severity'=>1,'log_date_e'=>1,'log_app'=>1,'log_full_name'=>1);
+
+                       // Hack Get All Rows
+                       $rows = 
$this->bolog->get_error_e(array('orderby'=>array('log_id','log_msg_log_id')));
+                       $norows = count($rows);
+                       $header['_edittable']=$this->editmode;
+                       $table = $this->html->hash_table($rows,$header,$this, 
'format_row');
+                       $this->t->set_var('event_list',$table);
 
-                       $this->template->set_var($var);
-                       $this->template->pfp('out','list');
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.($this->editmode?lang('Edit Table format') : lang('View 
error log'));
+                       $GLOBALS['phpgw']->common->phpgw_header();
+                       $this->t->pfp('out','log_list_t');
+//                     $this->set_app_langs();
                }
-               
-               function purge_log()
+
+               function format_row($rno, $row)
                {
-                       if 
($GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
+                       switch($row['log_severity']['value'])
                        {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
+                               case 'D': $row['log_severity']['bgcolor'] = 
'D3DCFF'; break;
+                               case 'I': $row['log_severity']['bgcolor'] = 
'C0FFC0'; break;
+                               case 'W': $row['log_severity']['bgcolor'] = 
'FFFFC0'; break;
+                               case 'E': $row['log_severity']['bgcolor'] = 
'FFC0C0'; break;
+                               case 'F': $row['log_severity']['bgcolor'] = 
'FF0909'; break;
+                       }
+
+                       switch($row['log_msg_severity']['value'])
+                       {
+                               case 'D': $color = 'D3DCFF'; break;
+                               case 'I': $color = 'C0FFC0'; break;
+                               case 'W': $color = 'FFFFC0'; break;
+                               case 'E': $color = 'FFC0C0'; break;
+                               case 'F': $color = 'FF0909'; break;
+                       }
+                       reset($this->fields_inc);
+                       while(list($cno,$fld) = each($this->fields_inc))
+                       {
+                               if (substr($fld,0,7) == 'log_msg')
+                               {
+                                       $row[$fld]['bgcolor'] = $color;
+                               }
+                               else
+                               {
+//                                     $row[$cno]['bgcolor'] = $lcolor;
+                               }
                        }
-                       $account_id = get_var('account_id',array('GET','POST'));
-                       $this->bo->purge_log($account_id);
-                       $this->list_log();
+                       return $row;
                }
-               
        }
+?>
Index: admin/inc/class.uimainscreen.inc.php
diff -u admin/inc/class.uimainscreen.inc.php:1.13 
admin/inc/class.uimainscreen.inc.php:1.14
--- admin/inc/class.uimainscreen.inc.php:1.13   Wed May 11 07:23:07 2005
+++ admin/inc/class.uimainscreen.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,47 +1,46 @@
 <?php
-       /**
-       * Administration
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uimainscreen.inc.php,v 1.13 2005/05/11 07:23:07 
powerstat Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Administration                                         
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Written by coreteam <address@hidden>                    *
+       * --------------------------------------------                          
   *
+       *  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.uimainscreen.inc.php,v 1.14 2006/02/14 08:48:21 skwashd 
Exp $ */
 
-
-       /**
-       * Main screen
-       *
-       * @package admin
-       */
        class uimainscreen
        {
-               var $public_functions = array('index' => True);
+               var $public_functions = array
+               (
+                       'index'         => True,
+                       'mainscreen'    => True
+               );
 
                function uimainscreen()
                {
+                       $GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
                        $GLOBALS['phpgw']->nextmatchs = 
CreateObject('phpgwapi.nextmatchs');
                }
 
-               function index()
+               function mainscreen()
                {
-                       $section     = addslashes($_POST['section']);
-                       $select_lang = addslashes($_POST['select_lang']);
-                       $message     = addslashes($_POST['message']);
-
-                       $acl_ok = array();
-                       if 
(!$GLOBALS['phpgw']->acl->check('mainscreen_message_access',1,'admin'))
+                       function display_section($appname,$file,$file2='')
                        {
-                               $acl_ok['mainscreen'] = True;
+                               
$GLOBALS['phpgw']->common->display_mainscreen($appname,$file2 ? $file2 : $file);
                        }
-                       if 
(!$GLOBALS['phpgw']->acl->check('mainscreen_message_access',2,'admin'))
-                       {
-                               $acl_ok['loginscreen'] = True;
-                       }
-                       if ($_POST['cancel'] && !isset($_POST['message']) || 
-                           !count($acl_ok) || $_POST['submit'] && 
!isset($acl_ok[$section]))
+
+                       $GLOBALS['phpgw']->hooks->process('admin');
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('list' => 
$GLOBALS['phpgw']->common->output));
+               }
+
+               function index()
+               {
+                       if ( isset($_POST['cancel']) && $_POST['cancel'] )
                        {
-                               
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
+                               header('Location: ' . 
$GLOBALS['phpgw']->link('/admin/index.php'));
                        }
 
                        $GLOBALS['phpgw']->template->set_file(array('message' 
=> 'mainscreen_message.tpl'));
@@ -49,37 +48,24 @@
                        
$GLOBALS['phpgw']->template->set_block('message','row','row');
                        
$GLOBALS['phpgw']->template->set_block('message','row_2','row_2');
 
-                       if ($_POST['submit'])
+                       $GLOBALS['phpgw']->common->phpgw_header();
+
+                       if ( isset($_POST['submit']) && $_POST['submit'] )
                        {
+                               $section     = $_POST['section'];
+                               $select_lang = $_POST['select_lang'];
+                               $message     = $_POST['message'];
+
                                $GLOBALS['phpgw']->db->query("DELETE FROM 
phpgw_lang WHERE message_id='$section" . "_message' AND app_name='"
                                        . "$section' AND 
lang='$select_lang'",__LINE__,__FILE__);
                                $GLOBALS['phpgw']->db->query("INSERT INTO 
phpgw_lang VALUES ('$section" . "_message','$section','$select_lang','"
-                                       . $message . "')",__LINE__,__FILE__);
+                                       . addslashes($message) . 
"')",__LINE__,__FILE__);
                                $message = '<center>'.lang('message has been 
updated').'</center>';
-                               
-                               $section = '';
                        }
-                       if ($_POST['cancel'])   // back to 
section/lang-selection
-                       {
-                               $message = $section = '';
-                       }
-                       switch ($section)
-                       {
-                               case 'mainscreen':
-                                       
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin').' - '.lang('Edit 
main screen message') . ': '.strtoupper($select_lang);
-                                       break;
-                               case 'loginscreen':
-                                       
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin').' - '.lang('Edit 
login screen message') . ': '.strtoupper($select_lang);
-                                       break;
-                               default:
-                                       
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin').' - '.lang('Main 
screen message');
-                                       break;
-                       }
-                       $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
-                       if (empty($section))
+                       if (empty($select_lang))
                        {
+                               
$GLOBALS['phpgw']->template->set_var('header_lang',lang('Main screen message'));
                                
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uimainscreen.index'));
                                
$GLOBALS['phpgw']->template->set_var('tr_color',$GLOBALS['phpgw_info']['theme']['th_bg']);
                                
$GLOBALS['phpgw']->template->set_var('value','&nbsp;');
@@ -88,48 +74,51 @@
                                $tr_color = 
$GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
                                
$GLOBALS['phpgw']->template->set_var('tr_color',$tr_color);
 
-                               $lang_select = '<select name="select_lang">';
+                               $select_lang = '<select name="select_lang">';
                                $GLOBALS['phpgw']->db->query("SELECT 
lang,phpgw_languages.lang_name,phpgw_languages.lang_id FROM 
phpgw_lang,phpgw_languages WHERE "
                                        . 
"phpgw_lang.lang=phpgw_languages.lang_id GROUP BY 
lang,phpgw_languages.lang_name,"
-                                       . "phpgw_languages.lang_id ORDER BY 
lang",__LINE__,__FILE__);
+                                       . "phpgw_languages.lang_id ORDER BY 
lang");
                                while ($GLOBALS['phpgw']->db->next_record())
                                {
-                                       $lang = 
$GLOBALS['phpgw']->db->f('lang');
-                                       $lang_select .= '<option value="' . 
$lang . '"'.($lang == $select_lang ? ' selected' : '').'>' . 
-                                               $lang . ' - ' . 
$GLOBALS['phpgw']->db->f('lang_name') . "</option>\n";
+                                       $select_lang .= '<option value="' . 
$GLOBALS['phpgw']->db->f('lang') . '">' . $GLOBALS['phpgw']->db->f('lang_id')
+                                               . ' - ' . 
$GLOBALS['phpgw']->db->f('lang_name') . '</option>';
                                }
-                               $lang_select .= '</select>';
+                               $select_lang .= '</select>';
                                
$GLOBALS['phpgw']->template->set_var('label',lang('Language'));
-                               
$GLOBALS['phpgw']->template->set_var('value',$lang_select);
+                               
$GLOBALS['phpgw']->template->set_var('value',$select_lang);
                                
$GLOBALS['phpgw']->template->fp('rows','row',True);
 
                                $tr_color = 
$GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
                                
$GLOBALS['phpgw']->template->set_var('tr_color',$tr_color);
-                               $select_section = '<select 
name="section">'."\n";
-                               foreach($acl_ok as $key => $val)
-                               {
-                                       $select_section .= ' <option 
value="'.$key.'"'.
-                                               ($key == $_POST['section'] ? ' 
selected' : '') . '>' . 
-                                               ($key == 'mainscreen' ? 
lang('Main screen') : lang("Login screen")) . "</option>\n";
-                               }
-                               $select_section .= '</select>';
+                               $select_section = '<select 
name="section"><option value="mainscreen">' . lang('Main screen')
+                                       . '</option><option 
value="loginscreen">' . lang("Login screen") . '</option>'
+                                       . '</select>';
                                
$GLOBALS['phpgw']->template->set_var('label',lang('Section'));
                                
$GLOBALS['phpgw']->template->set_var('value',$select_section);
                                
$GLOBALS['phpgw']->template->fp('rows','row',True);
 
                                $tr_color = 
$GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
                                
$GLOBALS['phpgw']->template->set_var('tr_color',$tr_color);
-                               
$GLOBALS['phpgw']->template->set_var('value','<input type="submit" value="' . 
lang('Edit')
+                               
$GLOBALS['phpgw']->template->set_var('value','<input type="submit" value="' . 
lang('Submit')
                                        . '"><input type="submit" name="cancel" 
value="'. lang('cancel') .'">');
                                
$GLOBALS['phpgw']->template->fp('rows','row_2',True);
                        }
                        else
                        {
                                $GLOBALS['phpgw']->db->query("SELECT content 
FROM phpgw_lang WHERE lang='$select_lang' AND message_id='$section"
-                               . "_message'",__LINE__,__FILE__);
+                               . "_message'");
                                $GLOBALS['phpgw']->db->next_record();
                                $current_message = 
$GLOBALS['phpgw']->db->f('content');
 
+                               if ($section == 'mainscreen')
+                               {
+                                       
$GLOBALS['phpgw']->template->set_var('header_lang',lang('Edit main screen 
message'));
+                               }
+                               else
+                               {
+                                       
$GLOBALS['phpgw']->template->set_var('header_lang',lang('Edit login screen 
message'));
+                               }
+
                                
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uimainscreen.index'));
                                
$GLOBALS['phpgw']->template->set_var('select_lang',$select_lang);
                                
$GLOBALS['phpgw']->template->set_var('section',$section);
@@ -144,7 +133,7 @@
 
                                $tr_color = 
$GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
                                
$GLOBALS['phpgw']->template->set_var('tr_color',$tr_color);
-                               
$GLOBALS['phpgw']->template->set_var('value','<input type="submit" 
name="submit" value="' . lang('Save')
+                               
$GLOBALS['phpgw']->template->set_var('value','<input type="submit" 
name="submit" value="' . lang('Update')
                                        . '"><input type="submit" name="cancel" 
value="'. lang('cancel') .'">'
                                );
                                
$GLOBALS['phpgw']->template->fp('rows','row_2',True);
Index: admin/inc/class.uimenuclass.inc.php
diff -u admin/inc/class.uimenuclass.inc.php:1.11 
admin/inc/class.uimenuclass.inc.php:1.12
--- admin/inc/class.uimenuclass.inc.php:1.11    Wed May 11 07:23:07 2005
+++ admin/inc/class.uimenuclass.inc.php Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Administration
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uimenuclass.inc.php,v 1.11 2005/05/11 07:23:07 
powerstat Exp $
-       */
+  /**************************************************************************\
+  * 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.inc.php,v 1.12 2006/02/14 08:48:21 skwashd Exp $ */
 
-
-       /**
-       * Menu
-       *
-       * @package admin
-       */
        class uimenuclass
        {
                var $t;
@@ -48,18 +45,15 @@
                {
                        $i=0;
 
-                       // reset the value of all_rows
-                       $this->t->set_var('all_rows','');
-
                        while(list($key,$value) = each($_menuData))
                        {
                                if (!empty($value['extradata']))
                                {
-                                       $link = 
$GLOBALS['phpgw']->link($value['url'],'account_id=' . 
get_var('account_id',array('GET','POST')) . '&' . $value['extradata']);
+                                       $link = 
$GLOBALS['phpgw']->link($value['url'],'account_id=' . $GLOBALS['account_id'] . 
'&' . $value['extradata']);
                                }
                                else
                                {
-                                       $link = 
$GLOBALS['phpgw']->link($value['url'],'account_id=' . 
get_var('account_id',array('GET','POST')));
+                                       $link = 
$GLOBALS['phpgw']->link($value['url'],'account_id=' . $GLOBALS['account_id']);
                                }
                                
$this->section_item($link,lang($value['description']),$this->rowColor[($i % 
2)]);
                                $i++;
@@ -121,6 +115,7 @@
                        }
 
                        $GLOBALS['phpgw']->hooks->process($_hookname);
+
                        if (count($GLOBALS['menuData']) >= 1) 
                        {
                                $result = 
$this->display_section($GLOBALS['menuData']);
Index: admin/inc/class.uiserver.inc.php
diff -u admin/inc/class.uiserver.inc.php:1.10 
admin/inc/class.uiserver.inc.php:1.11
--- admin/inc/class.uiserver.inc.php:1.10       Wed May 11 07:23:07 2005
+++ admin/inc/class.uiserver.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,19 +1,16 @@
 <?php
-       /**
-       * Administration - Peer Servers
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: class.uiserver.inc.php,v 1.10 2005/05/11 07:23:07 
powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - phpgroupware Peer Servers                                 *
+  * 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.uiserver.inc.php,v 1.11 2006/02/14 08:48:21 skwashd Exp $ */
 
-       /**
-       * Peer Servers
-       *
-       * @package admin
-       */
        class uiserver
        {
                var $public_functions = array(
@@ -36,16 +33,6 @@
 
                function uiserver()
                {
-                       if 
($GLOBALS['phpgw']->acl->check('peer_server_access',1,'admin'))
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       $this->acl_search = 
!$GLOBALS['phpgw']->acl->check('peer_server_access',2,'admin');
-                       $this->acl_add    = 
!$GLOBALS['phpgw']->acl->check('peer_server_access',4,'admin');
-                       $this->acl_view   = 
!$GLOBALS['phpgw']->acl->check('peer_server_access',8,'admin');
-                       $this->acl_edit   = 
!$GLOBALS['phpgw']->acl->check('peer_server_access',16,'admin');
-                       $this->acl_delete = 
!$GLOBALS['phpgw']->acl->check('peer_server_access',32,'admin');
-
                        $this->bo = createobject('admin.boserver',True);
                        $this->nextmatchs = createobject('phpgwapi.nextmatchs');
 
@@ -83,7 +70,7 @@
                        $this->bo->save_sessiondata($data);
                }
 
-               function formatted_list($name,$list,$id='',$default=False)
+               function 
formatted_list($name,$list,$id='',$default=False,$java=False)
                {
                        $select  = "\n" .'<select name="' . $name . '"' . ">\n";
                        if($default)
@@ -107,27 +94,18 @@
 
                function list_servers()
                {
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('Peer Servers');
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
                        
$GLOBALS['phpgw']->template->set_file(array('server_list_t' => 
'listservers.tpl'));
                        
$GLOBALS['phpgw']->template->set_block('server_list_t','server_list','list');
-                       if (!$this->acl_search)
-                       {
-                               
$GLOBALS['phpgw']->template->set_block('server_list_t','search','searchhandle');
-                       }
-                       if (!$this->acl_add)
-                       {
-                               
$GLOBALS['phpgw']->template->set_block('server_list_t','add','addhandle');
-                       }
 
                        
$GLOBALS['phpgw']->template->set_var('lang_action',lang('Server List'));
                        
$GLOBALS['phpgw']->template->set_var('add_action',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.edit'));
                        
$GLOBALS['phpgw']->template->set_var('lang_add',lang('Add'));
+                       
$GLOBALS['phpgw']->template->set_var('title_servers',lang('Peer Servers'));
                        
$GLOBALS['phpgw']->template->set_var('lang_search',lang('Search'));
                        
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.list_servers'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_done',lang('Cancel'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
                        
$GLOBALS['phpgw']->template->set_var('doneurl',$GLOBALS['phpgw']->link('/admin/index.php'));
 
                        if(!$this->start)
@@ -181,18 +159,11 @@
                                        'server_mode' => 
strtoupper($server['server_mode'])
                                ));
 
-                               $GLOBALS['phpgw']->template->set_var('edit','');
-                               
$GLOBALS['phpgw']->template->set_var('delete','');
-                               if ($this->acl_edit)
-                               {
-                                       
$GLOBALS['phpgw']->template->set_var('edit','<a 
href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.edit&server_id='
 . $server_id).
-                                               '">'.lang('Edit').'</a>');
-                               }
-                               if ($this->acl_delete)
-                               {
-                                       
$GLOBALS['phpgw']->template->set_var('delete','<a 
href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.delete&server_id='
 . $server_id).
-                                               '">'.lang('Delete').'</a>');
-                               }
+                               
$GLOBALS['phpgw']->template->set_var('edit',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.edit&server_id='
 . $server_id));
+                               
$GLOBALS['phpgw']->template->set_var('lang_edit_entry',lang('Edit'));
+
+                               
$GLOBALS['phpgw']->template->set_var('delete',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.delete&server_id='
 . $server_id));
+                               
$GLOBALS['phpgw']->template->set_var('lang_delete_entry',lang('Delete'));
                                
$GLOBALS['phpgw']->template->parse('list','server_list',True);
                        }
 
@@ -203,44 +174,26 @@
                /* This function handles add or edit */
                function edit()
                {
-                       if ($_POST['done'])
-                       {
-                               return $this->list_servers();
-                       }
-                       if ($_POST['delete'])
-                       {
-                               return $this->delete();
-                               
-                       }
-                       $server_id = get_var('server_id',array('POST','GET'));
-
-                       if (!$server_id && !$this->acl_add || $server_id && 
!$this->acl_edit)
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
                        $is = CreateObject('phpgwapi.interserver');
 
                        $GLOBALS['phpgw']->template->set_file(array('form' => 
'server_form.tpl'));
+                       
$GLOBALS['phpgw']->template->set_block('form','add','addhandle');
+                       
$GLOBALS['phpgw']->template->set_block('form','edit','edithandle');
 
-                       if (!$this->acl_delete || !$server_id)
-                       {
-                               
$GLOBALS['phpgw']->template->set_block('form','delete','deletehandle');
-                               
$GLOBALS['phpgw']->template->set_var('deletehandle','');
-                       }
-                       $server = $this->bo->read($server_id);
+                       $server = 
$this->bo->read($GLOBALS['HTTP_GET_VARS']['server_id']);
 
-                       if ($_POST['save'])
+                       if ($GLOBALS['HTTP_POST_VARS']['submit'])
                        {
                                $errorcount = 0;
 
-                               $tmp = $is->name2id($_POST['server_name']);
+                               $tmp = 
$is->name2id($GLOBALS['HTTP_POST_VARS']['server_name']);
                                
-                               if($tmp && $server_id != $tmp)
+                               if($tmp && 
$GLOBALS['HTTP_POST_VARS']['server_id'])
                                {
                                        $error[$errorcount++] = lang('That 
server name has been used already !');
                                }
 
-                               if (!$_POST['server_name'])
+                               if (!$GLOBALS['HTTP_POST_VARS']['server_name'])
                                {
                                        $error[$errorcount++] = lang('Please 
enter a name for that server !');
                                }
@@ -248,20 +201,20 @@
                                if (!$error)
                                {
                                        $server_info = array(
-                                               'server_name' => 
addslashes($_POST['server_name']),
-                                               'server_url'  => 
addslashes($_POST['server_url']),
-                                               'trust_level' => 
intval($_POST['trust_level']),
-                                               'trust_rel'   => 
intval($_POST['trust_rel']),
-                                               'username'    => 
addslashes($_POST['server_username']),
-                                               'password'    => 
$_POST['server_password'] ? $_POST['server_password'] : $server['password'],
-                                               'server_mode' => 
addslashes($_POST['server_mode']),
-                                               'server_security' => 
addslashes($_POST['server_security']),
-                                               'admin_name'  => 
addslashes($_POST['admin_name']),
-                                               'admin_email' => 
addslashes($_POST['admin_email'])
+                                               'server_name' => 
addslashes($GLOBALS['HTTP_POST_VARS']['server_name']),
+                                               'server_url'  => 
addslashes($GLOBALS['HTTP_POST_VARS']['server_url']),
+                                               'trust_level' => 
intval($GLOBALS['HTTP_POST_VARS']['trust_level']),
+                                               'trust_rel'   => 
intval($GLOBALS['HTTP_POST_VARS']['trust_rel']),
+                                               'username'    => 
addslashes($GLOBALS['HTTP_POST_VARS']['server_username']),
+                                               'password'    => 
$GLOBALS['HTTP_POST_VARS']['server_password'] ? 
$GLOBALS['HTTP_POST_VARS']['server_password'] : $server['password'],
+                                               'server_mode' => 
addslashes($GLOBALS['HTTP_POST_VARS']['server_mode']),
+                                               'server_security' => 
addslashes($GLOBALS['HTTP_POST_VARS']['server_security']),
+                                               'admin_name'  => 
addslashes($GLOBALS['HTTP_POST_VARS']['admin_name']),
+                                               'admin_email' => 
addslashes($GLOBALS['HTTP_POST_VARS']['admin_email'])
                                        );
-                                       if($server_id)
+                                       
if($GLOBALS['HTTP_GET_VARS']['server_id'])
                                        {
-                                               $server_info['server_id'] = 
$server_id;
+                                               $server_info['server_id'] = 
$GLOBALS['HTTP_GET_VARS']['server_id'];
                                        }
                                        $newid = $this->bo->edit($server_info);
                                        $server = $this->bo->read($newid ? 
$newid : $server_info['server_id']);
@@ -272,27 +225,28 @@
                        {
                                
$GLOBALS['phpgw']->template->set_var('message',$GLOBALS['phpgw']->common->error_list($error));
                        }
-                       if (($_POST['save']) && (!$error) && (!$errorcount))
+                       if (($GLOBALS['HTTP_POST_VARS']['submit']) && (!$error) 
&& (!$errorcount))
                        {
-                               if($server_id)
+                               if($GLOBALS['HTTP_GET_VARS']['server_id'])
                                {
-                                       
$GLOBALS['phpgw']->template->set_var('message',lang('Server %1 has been 
updated',$_POST['server_name']));
+                                       
$GLOBALS['phpgw']->template->set_var('message',lang('Server %1 has been 
updated',$GLOBALS['HTTP_POST_VARS']['server_name']));
                                }
                                else
                                {
-                                       
$GLOBALS['phpgw']->template->set_var('message',lang('Server %1 has been 
added',$_POST['server_name']));
+                                       
$GLOBALS['phpgw']->template->set_var('message',lang('Server %1 has been 
added',$GLOBALS['HTTP_POST_VARS']['server_name']));
                                }
                        }
-                       if ((!$_POST['save']) && (!$error) && (!$errorcount))
+                       if ((!$GLOBALS['HTTP_POST_VARS']['submit']) && 
(!$error) && (!$errorcount))
                        {
                                
$GLOBALS['phpgw']->template->set_var('message','');
                        }
 
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.($server_id ? lang('Edit Peer Server') : lang('Add Peer 
Server'));
                        $GLOBALS['phpgw']->common->phpgw_header();
-                       echo parse_navbar();
 
-                       
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.edit'));
+                       
$GLOBALS['phpgw']->template->set_var('title_servers',$GLOBALS['HTTP_GET_VARS']['server_id']
 ? lang('Edit Peer Server') : lang('Add Peer Server'));
+                       
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.edit&server_id='
 . $GLOBALS['HTTP_GET_VARS']['server_id']));
+                       
$GLOBALS['phpgw']->template->set_var('deleteurl',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.delete&server_id='
 . $GLOBALS['HTTP_GET_VARS']['server_id']));
+                       
$GLOBALS['phpgw']->template->set_var('doneurl',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.list_servers'));
 
                        
$GLOBALS['phpgw']->template->set_var('lang_name',lang('Server name'));
                        
$GLOBALS['phpgw']->template->set_var('lang_url',lang('Server URL'));
@@ -304,11 +258,10 @@
                        
$GLOBALS['phpgw']->template->set_var('lang_security',lang('Security'));
                        
$GLOBALS['phpgw']->template->set_var('lang_admin_name',lang('Admin Name'));
                        
$GLOBALS['phpgw']->template->set_var('lang_admin_email',lang('Admin Email'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_save',lang('Save'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_add',lang('Add'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_edit',lang('Edit'));
                        
$GLOBALS['phpgw']->template->set_var('lang_default',lang('Default'));
                        
$GLOBALS['phpgw']->template->set_var('lang_reset',lang('Clear Form'));
-                       
$GLOBALS['phpgw']->template->set_var('lang_done',lang('Cancel'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
                        
$GLOBALS['phpgw']->template->set_var('lang_delete',lang('Delete'));
 
                        
$GLOBALS['phpgw']->template->set_var('server_name',$server['server_name']);
@@ -317,51 +270,46 @@
                        
$GLOBALS['phpgw']->template->set_var('server_mode',$this->formatted_list('server_mode',$is->server_modes,$server['server_mode']));
                        
$GLOBALS['phpgw']->template->set_var('server_security',$this->formatted_list('server_security',$is->security_types,$server['server_security']));
                        $GLOBALS['phpgw']->template->set_var('ssl_note', 
function_exists('curl_init') ? '&nbsp;' : lang('Note: SSL available only if PHP 
is compiled with curl support'));
-                       
$GLOBALS['phpgw']->template->set_var('pass_note',$server_id ? 
'<br>'.lang('(Stored password will not be shown here)') : '');
+                       
$GLOBALS['phpgw']->template->set_var('pass_note',lang('(Stored password will 
not be shown here)'));
                        
$GLOBALS['phpgw']->template->set_var('trust_level',$this->formatted_list('trust_level',$is->trust_levels,$server['trust_level']));
                        
$GLOBALS['phpgw']->template->set_var('trust_relationship',$this->formatted_list('trust_rel',$is->trust_relationships,$server['trust_rel'],True));
                        
$GLOBALS['phpgw']->template->set_var('admin_name',$GLOBALS['phpgw']->strip_html($server['admin_name']));
                        
$GLOBALS['phpgw']->template->set_var('admin_email',$GLOBALS['phpgw']->strip_html($server['admin_email']));
-                       
$GLOBALS['phpgw']->template->set_var('server_id',$server_id);
+                       
$GLOBALS['phpgw']->template->set_var('server_id',$GLOBALS['HTTP_GET_VARS']['server_id']);
 
-                       $GLOBALS['phpgw']->template->set_var(array(
-                               'th'      => 
$GLOBALS['phpgw_info']['theme']['th_bg'],
-                               'row_on'  => 
$GLOBALS['phpgw_info']['theme']['row_on'],
-                               'row_off' => 
$GLOBALS['phpgw_info']['theme']['row_off']
-                       ));
-                       
$GLOBALS['phpgw']->template->pparse('phpgw_body','form');
+                       $GLOBALS['phpgw']->template->set_var('edithandle','');
+                       $GLOBALS['phpgw']->template->set_var('addhandle','');
+
+                       $GLOBALS['phpgw']->template->pparse('out','form');
+                       
$GLOBALS['phpgw']->template->pparse('edithandle','edit');
                }
 
                function delete()
                {
-                       if (!$this->acl_delete)
-                       {
-                               $GLOBALS['phpgw']->redirect_link('/index.php');
-                       }
-                       $server_id = get_var('server_id',array('POST','GET'));
-                       if ($_POST['yes'] || $_POST['no'])
+                       $server_id = $GLOBALS['HTTP_POST_VARS']['server_id'] ? 
$GLOBALS['HTTP_POST_VARS']['server_id'] : 
$GLOBALS['HTTP_GET_VARS']['server_id'];
+                       if ($GLOBALS['HTTP_POST_VARS']['confirm'])
                        {
-                               if ($_POST['yes'])
-                               {
-                                       $this->bo->delete($server_id);
-                               }
-                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=admin.uiserver.list_servers');
+                               $this->bo->delete($server_id);
+                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.list_servers'));
                        }
                        else
                        {
                                $GLOBALS['phpgw']->common->phpgw_header();
-                               echo parse_navbar();
 
                                
$GLOBALS['phpgw']->template->set_file(array('server_delete' => 
'delete_common.tpl'));
 
-                               $GLOBALS['phpgw']->template->set_var(array(
-                                       'form_action' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.delete'),
-                                       'hidden_vars' => '<input type="hidden" 
name="server_id" value="' . $server_id . 
'"><script>document.yesbutton.yesbutton.focus()</script>',
-                                       'messages' => lang('Are you sure you 
want to delete this server?'),
-                                       'no' => lang('No'),
-                                       'yes' => lang('Yes'),
-                               ));
-                               
$GLOBALS['phpgw']->template->pparse('phpgw_body','server_delete');
+                               $nolink = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.list_servers');
+
+                               $yeslink = '<form method="POST" 
name="yesbutton" action="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.delete') . '">'
+                                       . '<input type="hidden" 
name="server_id" value="' . $server_id . '">'
+                                       . '<input type="hidden" name="confirm" 
value="True">'
+                                       . '<input type="submit" 
name="yesbutton" value=Yes>'
+                                       . 
'</form><script>document.yesbutton.yesbutton.focus()</script>';
+
+                               
$GLOBALS['phpgw']->template->set_var('messages',lang('Are you sure you want to 
delete this server?'));
+                               $GLOBALS['phpgw']->template->set_var('no','<a 
href="' . $nolink . '">' . lang('No') . '</a>');
+                               
$GLOBALS['phpgw']->template->set_var('yes',$yeslink);
+                               
$GLOBALS['phpgw']->template->pparse('out','server_delete');
                        }
                }
        }
Index: admin/inc/hook_acl_manager.inc.php
diff -u admin/inc/hook_acl_manager.inc.php:1.6 
admin/inc/hook_acl_manager.inc.php:1.7
--- admin/inc/hook_acl_manager.inc.php:1.6      Wed May 11 06:59:37 2005
+++ admin/inc/hook_acl_manager.inc.php  Tue Feb 14 08:48:21 2006
@@ -1,13 +1,15 @@
 <?php
-       /**
-       * Administration - ACL manager hook
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage hooks
-       * @version $Id: hook_acl_manager.inc.php,v 1.6 2005/05/11 06:59:37 
powerstat Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare                                                          
   *
+       * 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: hook_acl_manager.inc.php,v 1.7 2006/02/14 08:48:21 skwashd Exp 
$ */
 
        $GLOBALS['acl_manager']['admin']['site_config_access'] = array(
                'name' => 'Deny access to site configuration',
@@ -15,7 +17,7 @@
                        'List config settings'   => 1,
                        'Change config settings' => 2
                )
-       );      // added and working ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['account_access'] = array(
                'name' => 'Deny access to user accounts',
@@ -25,10 +27,9 @@
                        'Add account'     => 4,
                        'View account'    => 8,
                        'Edit account'    => 16,
-                       'Delete account'  => 32,
-                       'change ACL Rights' => 64
+                       'Delete account'  => 32
                )
-       );      // was already there and seems to work ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['group_access'] = array(
                'name' => 'Deny access to groups',
@@ -40,7 +41,7 @@
                        'Edit group'    => 16,
                        'Delete group'  => 32
                )
-       );      // was already there and seems to work ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['peer_server_access'] = array(
                'name' => 'Deny access to peer servers',
@@ -48,7 +49,7 @@
                        'Peer server list'    => 1,
                        'Search peer servers' => 2,
                        'Add peer server'     => 4,
-//                     'View peer server'    => 8,             // there's no 
view-routine atm.
+                       'View peer server'    => 8,
                        'Edit peer server'    => 16,
                        'Delete peer server'  => 32
                )
@@ -60,10 +61,9 @@
                        'Applications list' => 1,
                        'Add application'   => 2,
                        'Edit application'  => 4,
-                       'Delete application'  => 8,
-                       'Register application hooks' => 16
+                       'Delete application'  => 8
                )
-       );      // added and working ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['global_categories_access'] = array(
                'name' => 'Deny access to global categories',
@@ -73,10 +73,9 @@
                        'Add category'      => 4,
                        'View category'     => 8,
                        'Edit category'     => 16,
-                       'Delete category'   => 32,
-                       'Add sub-category'  => 64
+                       'Delete category'   => 32
                )
-       );      // added and working ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['mainscreen_message_access'] = array(
                'name' => 'Deny access to mainscreen message',
@@ -84,7 +83,7 @@
                        'Main screen message' => 1,
                        'Login message'       => 2
                )
-       );      // added and working ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['current_sessions_access'] = array(
                'name' => 'Deny access to current sessions',
@@ -94,33 +93,33 @@
                        'Show session IP address' => 4,
                        'Kill session'            => 8
                )
-       );      // checked and working ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['access_log_access'] = array(
-               'name' => 'Deny access to access log',
+               'name' => 'Deny access to session log',
                'rights' => array(
-                       'Show access log' => 1
+                       'Show session log' => 1
                )
-       );      // added and working ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['error_log_access'] = array(
                'name' => 'Deny access to error log',
                'rights' => array(
                        'Show error log' => 1
                )
-       );      // added and working ralfbecker
+       );
 
-       $GLOBALS['acl_manager']['admin']['asyncservice_access'] = array(
-               'name' => 'Deny access to asynchronous timed services',
+       $GLOBALS['acl_manager']['admin']['appreg_access'] = array(
+               'name' => 'Deny access to application registery',
                'rights' => array(
-                       'Asynchronous timed services' => 1
+                       'Register applications' => 1
                )
-       );      // added and working ralfbecker
+       );
 
        $GLOBALS['acl_manager']['admin']['info_access'] = array(
                'name' => 'Deny access to phpinfo',
                'rights' => array(
                        'Show phpinfo()' => 1
                )
-       );      // added and working ralfbecker
+       );
 
Index: admin/inc/hook_add_def_pref.inc.php
diff -u admin/inc/hook_add_def_pref.inc.php:1.3 
admin/inc/hook_add_def_pref.inc.php:1.4
--- admin/inc/hook_add_def_pref.inc.php:1.3     Wed May 11 06:59:37 2005
+++ admin/inc/hook_add_def_pref.inc.php Tue Feb 14 08:48:21 2006
@@ -1,14 +1,4 @@
 <?php
-       /**
-       * Administration - Preferences hook
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage hooks
-       * @version $Id: hook_add_def_pref.inc.php,v 1.3 2005/05/11 06:59:37 
powerstat Exp $
-       */
-
   $GLOBALS['pref']->change('common','maxmatchs','15');
   $GLOBALS['pref']->change('common','theme','default');
   $GLOBALS['pref']->change('common','tz_offset',0);
Index: admin/inc/hook_admin.inc.php
diff -u admin/inc/hook_admin.inc.php:1.36 admin/inc/hook_admin.inc.php:1.37
--- admin/inc/hook_admin.inc.php:1.36   Wed May 11 06:59:37 2005
+++ admin/inc/hook_admin.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,21 +1,23 @@
 <?php
-       /**
-       * Administration - Admin hook
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage hooks
-       * @version $Id: hook_admin.inc.php,v 1.36 2005/05/11 06:59:37 powerstat 
Exp $
-       */
+       
/**************************************************************************\
+       * 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: hook_admin.inc.php,v 1.37 2006/02/14 08:48:21 skwashd Exp $ */
 
        if (! $GLOBALS['phpgw']->acl->check('site_config_access',1,'admin'))
        {
-               $file['Site Configuration']         = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=admin');
+               $file['Site Configuration'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=admin');
        }
 
        if (! $GLOBALS['phpgw']->acl->check('peer_server_access',1,'admin'))
        {
-               $file['Peer Servers']               = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.list_servers');
+               $file['Peer Servers'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiserver.list_servers');
        }
 
        if (! $GLOBALS['phpgw']->acl->check('account_access',1,'admin'))
@@ -25,27 +27,22 @@
 
        if (! $GLOBALS['phpgw']->acl->check('account_access',1,'admin'))
        {
-               $file['User Accounts']              = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_users');
+               $file['User Accounts'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_users');
        }
 
        if (! $GLOBALS['phpgw']->acl->check('group_access',1,'admin'))
        {
-               $file['User Groups']                = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups');
-       }
-
-       if (! $GLOBALS['phpgw']->acl->check('sync_account_contact',1,'admin'))
-       {
-               $file['Sync Account-Contact']       = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.sync_accounts_contacts');
+               $file['User Groups'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_groups');
        }
 
        if (! $GLOBALS['phpgw']->acl->check('applications_access',1,'admin'))
        {
-               $file['Applications']               = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.get_list');
+               $file['Applications'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiapplications.get_list');
        }
 
        if (! 
$GLOBALS['phpgw']->acl->check('global_categories_access',1,'admin'))
        {
-               $file['Global Categories']          = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicategories.index');
+               $file['Global Categories'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicategories.index');
        }
 
        if 
(!$GLOBALS['phpgw']->acl->check('mainscreen_message_access',1,'admin') || 
!$GLOBALS['phpgw']->acl->check('mainscreen_message_access',2,'admin'))
@@ -57,7 +54,7 @@
        {
                $file['View Sessions'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicurrentsessions.list_sessions');
        }
-       
+
        if (! $GLOBALS['phpgw']->acl->check('access_log_access',1,'admin'))
        {
                $file['View Access Log'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccess_history.list_history');
@@ -65,12 +62,7 @@
 
        if (! $GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
        {
-               $file['View Error Log']  = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uilog.list_log');
-       }
-
-       if (! $GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
-       {
-               $file['Edit Log Levels']  = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiloglevels.edit_log_levels');
+               $file['View Error Log'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uilog.list_log');
        }
 
        if (! $GLOBALS['phpgw']->acl->check('applications_access',16,'admin'))
@@ -85,9 +77,10 @@
 
        if (! $GLOBALS['phpgw']->acl->check('info_access',1,'admin'))
        {
-               $file['phpInfo']         = "javascript:openwindow('" . 
$GLOBALS['phpgw']->link('/admin/phpinfo.php') . "')"; 
//$GLOBALS['phpgw']->link('/admin/phpinfo.php');
+               $file['phpInfo'] = "javascript:openwindow('" . 
$GLOBALS['phpgw']->link('/admin/phpinfo.php') . "','700','600')";
        }
  
        /* Do not modify below this line */
-       display_section('admin',$file);
+
+       $GLOBALS['phpgw']->common->display_mainscreen('admin',$file);
 ?>
Index: admin/inc/hook_after_navbar.inc.php
diff -u admin/inc/hook_after_navbar.inc.php:1.8 
admin/inc/hook_after_navbar.inc.php:1.9
--- admin/inc/hook_after_navbar.inc.php:1.8     Wed May 11 06:59:37 2005
+++ admin/inc/hook_after_navbar.inc.php Tue Feb 14 08:48:21 2006
@@ -1,16 +1,18 @@
 <?php
-       /**
-       * Administration - After navigationbar hook
-       *
-       * @author Miles Lott <address@hidden>
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage hooks
-       * @version $Id: hook_after_navbar.inc.php,v 1.8 2005/05/11 06:59:37 
powerstat Exp $
-       */
+       
/**************************************************************************\
+       * phpGroupWare - Admin                                                  
   *
+       * http://www.phpgroupware.org                                           
   *
+       * This application written by Miles Lott <address@hidden>        *
+       * --------------------------------------------                          
   *
+       *  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.                                           
   *
+       
\**************************************************************************/
 
-       // Check currentapp and API upgrade status
+       /* $Id: hook_after_navbar.inc.php,v 1.9 2006/02/14 08:48:21 skwashd Exp 
$ */
+
+       /* Check currentapp and API upgrade status */
 
        if ($GLOBALS['phpgw_info']['flags']['currentapp'] != 'home' &&
                $GLOBALS['phpgw_info']['flags']['currentapp'] != 'welcome' &&
@@ -21,7 +23,7 @@
                        $GLOBALS['phpgw_info']['user']['apps']['admin']) ||
                        $GLOBALS['phpgw_info']['server']['checkappversions'] == 
'All')
                {
-                       $_current = False;
+                       $_current = array();
                        $app_name = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
                        $GLOBALS['phpgw']->db->query("SELECT 
app_name,app_version FROM phpgw_applications WHERE app_name='$app_name' OR 
app_name='phpgwapi'",__LINE__,__FILE__);
                        while($GLOBALS['phpgw']->db->next_record())
@@ -31,36 +33,37 @@
                                $_versionfile = 
$GLOBALS['phpgw']->common->get_app_dir($app_name) . '/setup/setup.inc.php';
                                if(file_exists($_versionfile))
                                {
-                               
-                                       /**
-                                       * Include admins setup
-                                       */
                                        include($_versionfile);
                                        /* echo '<br>' . $_versionfile . ','; */
                                        $_file_version = 
$setup_info[$app_name]['version'];
-                                       $_app_title    = 
$setup_info[$app_name]['title'];
+                                       $_app_title    = str_replace('- 
','-',ucwords(str_replace('_','- ',$setup_info[$app_name]['name'])));
                                        unset($setup_info);
 
-                                       if($app_name == 'phpgwapi')
+                                       /* echo '<br>' . $app_name . ',' . 
$_db_version . ',' . $_file_version; */
+                                       $test = 
$GLOBALS['phpgw']->common->cmp_version_long($_db_version,$_file_version);
+                                       if($test == '')
                                        {
-                                               $api_str = '<br>' . lang('The 
API requires an upgrade');
+                                               $_current[$app_name] = True;
+                                               if($app_name == 'phpgwapi')
+                                               {
+                                                       $api_str = '<br>' . 
lang('The API is current');
+                                               }
                                        }
-                                       /* echo $app_name . ',' . $_db_version 
. ',' . $_file_version; */
-                                       
if(!$GLOBALS['phpgw']->common->cmp_version_long($_db_version,$_file_version))
+                                       else
                                        {
-                                               $_current = True;
                                                if($app_name == 'phpgwapi')
                                                {
-                                                       $api_str = '<br>' . 
lang('The API is current');
+                                                       $api_str = '<br>' . 
lang('The API requires an upgrade');
                                                }
                                        }
+                                       unset($test);
                                        unset($_file_version);
                                        unset($_app_title);
                                }
                                unset($_db_version);
                                unset($_versionfile);
                        }
-                       if(!$_current)
+                       
if(address@hidden($_current[$GLOBALS['phpgw_info']['flags']['currentapp']]))
                        {
                                echo '<center>';
                                echo $api_str;
Index: admin/inc/hook_deleteaccount.inc.php
diff -u admin/inc/hook_deleteaccount.inc.php:1.5 
admin/inc/hook_deleteaccount.inc.php:1.6
--- admin/inc/hook_deleteaccount.inc.php:1.5    Wed May 11 06:59:37 2005
+++ admin/inc/hook_deleteaccount.inc.php        Tue Feb 14 08:48:21 2006
@@ -1,14 +1,16 @@
 <?php
-       /**
-       * Administration - Delete account hook
-       *
-       * @author Mark Peters <address@hidden>
-       * @copyright Copyright (C) 2001,2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage hooks
-       * @version $Id: hook_deleteaccount.inc.php,v 1.5 2005/05/11 06:59:37 
powerstat Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare                                                             *
+  * http://www.phpgroupware.org                                              *
+  * Written by Mark Peters <address@hidden>                        *
+  * --------------------------------------------                             *
+  *  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: hook_deleteaccount.inc.php,v 1.6 2006/02/14 08:48:21 skwashd 
Exp $ */
 
        if($GLOBALS['HTTP_POST_VARS']['account_id'])
        {
Index: admin/inc/hook_manual.inc.php
diff -u admin/inc/hook_manual.inc.php:1.6 admin/inc/hook_manual.inc.php:1.7
--- admin/inc/hook_manual.inc.php:1.6   Wed May 11 06:59:37 2005
+++ admin/inc/hook_manual.inc.php       Tue Feb 14 08:48:21 2006
@@ -1,13 +1,16 @@
 <?php
-       /**
-       * Administration - User manual hook
-       *
-       * @copyright Copyright (C) 2001,2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage hooks
-       * @version $Id: hook_manual.inc.php,v 1.6 2005/05/11 06:59:37 powerstat 
Exp $
-       */
+  /**************************************************************************\
+  * phpGroupWare - Calendar Holidays                                         *
+  * http://www.phpgroupware.org                                              *
+  * Written by Mark Peters <address@hidden>                        *
+  * --------------------------------------------                             *
+  *  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: hook_manual.inc.php,v 1.7 2006/02/14 08:48:21 skwashd Exp $ */
 
 // Only Modify the $file variable.....
        $file = Array(
@@ -15,6 +18,6 @@
                'Session Management'    => 'session.php',
                'Other' => 'other.php'
        );
-// Do not modify below this line
+//Do not modify below this line
        display_manual_section($appname,$file);
 ?>
Index: admin/inc/hook_view_user.inc.php
diff -u admin/inc/hook_view_user.inc.php:1.3 
admin/inc/hook_view_user.inc.php:1.4
--- admin/inc/hook_view_user.inc.php:1.3        Wed May 11 06:59:37 2005
+++ admin/inc/hook_view_user.inc.php    Tue Feb 14 08:48:21 2006
@@ -1,13 +1,15 @@
 <?php
-       /**
-       * Administration - View user hook
-       *
-       * @copyright Copyright (C) 2001,2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage hooks
-       * @version $Id: hook_view_user.inc.php,v 1.3 2005/05/11 06:59:37 
powerstat Exp $
-       */
+       
/**************************************************************************\
+       * 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: hook_view_user.inc.php,v 1.4 2006/02/14 08:48:21 skwashd Exp $ 
*/
 
        $GLOBALS['menuData'][] = array(
                'description' => 'Login History',
Index: admin/index.php
diff -u admin/index.php:1.38 admin/index.php:1.39
--- admin/index.php:1.38        Wed May 11 06:59:37 2005
+++ admin/index.php     Tue Feb 14 08:48:21 2006
@@ -1,98 +1,24 @@
 <?php
-       /**
-       * Administration
-       *
-       * Distribute administration across the applications
-       * @author Joseph Engo <address@hidden>
-       * @author Stephen Brown <address@hidden>
-       * @copyright Copyright (C) 2000-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: index.php,v 1.38 2005/05/11 06:59:37 powerstat Exp $
-       */
-
-       $GLOBALS['phpgw_info'] = array();
-       $GLOBALS['phpgw_info']['flags']['currentapp'] = 'admin';
-       
-       /**
-       * Include phpgroupware header
-       */
-       include('../header.inc.php');
-
-       $GLOBALS['admin_tpl'] = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
-       $GLOBALS['admin_tpl']->set_file(
-               Array(
-                       'admin' => 'index.tpl'
-               )
+       
/**************************************************************************\
+       * phpGroupWare - administration                                         
   *
+       * http://www.phpgroupware.org                                           
   *
+       * Written by coreteam <address@hidden>                    *
+       *               & Stephen Brown <address@hidden>                    *
+       * to distribute admin across the application directories                
   *
+       * ------------------------------------------------------                
   *
+       * 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: index.php,v 1.39 2006/02/14 08:48:21 skwashd Exp $ */
+
+       $GLOBALS['phpgw_info']['flags'] = array
+       (
+               'noheader'      => True,
+               'currentapp'    => 'admin'
        );
+       include('../header.inc.php');
 
-       $GLOBALS['admin_tpl']->set_block('admin','list');
-       $GLOBALS['admin_tpl']->set_block('admin','app_row');
-       $GLOBALS['admin_tpl']->set_block('admin','app_row_noicon');
-       $GLOBALS['admin_tpl']->set_block('admin','link_row');
-       $GLOBALS['admin_tpl']->set_block('admin','spacer_row');
-
-       $GLOBALS['admin_tpl']->set_var('title',lang('Administration'));
-
-       // This func called by the includes to dump a row header
-       function section_start($appname='',$icon='')
-       {
-               
$GLOBALS['admin_tpl']->set_var('icon_backcolor',$GLOBALS['phpgw_info']['theme']['row_off']);
-               
$GLOBALS['admin_tpl']->set_var('link_backcolor',$GLOBALS['phpgw_info']['theme']['row_off']);
-               
$GLOBALS['admin_tpl']->set_var('app_name',$GLOBALS['phpgw_info']['apps'][$appname]['title']);
-               $GLOBALS['admin_tpl']->set_var('a_name',$appname);
-               $GLOBALS['admin_tpl']->set_var('app_icon',$icon);
-               if ($icon)
-               {
-                       $GLOBALS['admin_tpl']->parse('rows','app_row',True);
-               }
-               else
-               {
-                       
$GLOBALS['admin_tpl']->parse('rows','app_row_noicon',True);
-               }
-       }
-
-       function section_item($pref_link='',$pref_text='')
-       {
-               $GLOBALS['admin_tpl']->set_var('pref_link',$pref_link);
-               $GLOBALS['admin_tpl']->set_var('pref_text',$pref_text);
-               $GLOBALS['admin_tpl']->parse('rows','link_row',True);
-       }
-
-       function section_end()
-       {
-               $GLOBALS['admin_tpl']->parse('rows','spacer_row',True);
-       }
-
-       function display_section($appname,$file,$file2=False)
-       {
-               if ($file2)
-               {
-                       $file = $file2;
-               }
-               if(is_array($file))
-               {
-                       section_start($appname,
-                               $GLOBALS['phpgw']->common->image(
-                                       $appname,
-                                       Array(
-                                               'navbar',
-                                               $appname,
-                                               'nonav'
-                                       )
-                               )
-                       );
-
-                       while(list($text,$url) = each($file))
-                       {
-                               section_item($url,lang($text));
-                       }
-                       section_end();
-               }
-       }
-
-       $GLOBALS['phpgw']->hooks->process('admin');
-       $GLOBALS['admin_tpl']->pparse('out','list');
-
-       $GLOBALS['phpgw']->common->phpgw_footer();
+       $GLOBALS['phpgw']->redirect_link( '/index.php', array('menuaction' => 
'admin.uimainscreen.mainscreen') );
 ?>
Index: admin/navbar-create.php
diff -u admin/navbar-create.php:1.10 admin/navbar-create.php:1.11
--- admin/navbar-create.php:1.10        Wed May 11 06:59:37 2005
+++ admin/navbar-create.php     Tue Feb 14 08:48:21 2006
@@ -1,26 +1,12 @@
 <?php
-       /**
-       * Administration
-       *
-       * @copyright Copyright (C) 2000-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: navbar-create.php,v 1.10 2005/05/11 06:59:37 powerstat 
Exp $
-       */
-
   $phpgw_info = array();
   $phpgw_info["flags"]["currentapp"] = "admin";
   $phpgw_info["server"]["site_title"] = "Create a selected navbar image";
-  
-  
-  /**
-  * Include phpgroupware header
-  */
   include("../header.inc.php");
 ?>
 
 This is a utility that will help developers automatically create "selected" 
navigation bar images.  Currently, it just adds a 1 pixel border around the 
image in a style that suggests a depressed button.  
-<p style="text-align: left;">
+<p>
 The instructions are as follows:
 <ol>
 <li>Select an app from the list below.</li>
@@ -37,18 +23,8 @@
 <b>Applications</b>
 <p>
 <?php
-       //echo '<pre>'; print_r($GLOBALS['phpgw_info']['apps']); echo '</pre>';
-       @ksort($GLOBALS['phpgw_info']['apps']);
-       foreach($GLOBALS['phpgw_info']['apps'] as $key => $null) 
-       {
-               
-               echo '<a href="' . 
$GLOBALS['phpgw']->link('/admin/navbar-sel.php',
-                       array('filename'        => 
$GLOBALS['phpgw_info']['server']['server_root']
-                                                       . '/' . $key . 
'/images/navbar.gif'
-                               )
-                       )."\">";
-               echo lang($key) . "</a><br />\n";
-       }
-
-  $phpgw->common->phpgw_footer();
+  while (list($key, $val) = each($phpgw_info["apps"])) {
+    echo "\n<A 
HREF=\"".$phpgw->link("/admin/navbar-sel.php","filename=".$phpgw_info["server"]["server_root"]."/".$key."/images/navbar.gif")."\">";
+    echo $phpgw_info["apps"][$key]["title"]."</A><BR>";
+  }
 ?>
Index: admin/navbar-sel.php
diff -u admin/navbar-sel.php:1.4 admin/navbar-sel.php:1.5
--- admin/navbar-sel.php:1.4    Wed May 11 06:59:37 2005
+++ admin/navbar-sel.php        Tue Feb 14 08:48:21 2006
@@ -1,23 +1,17 @@
 <?php
-       /**
-       * Administration
-       *
-       * SourceForge Knowledge Base Module v.1.0.0
-       * @author Patrick Walsh <address@hidden>
-       * @copyright Copyright (C) xxxx Patrick Walsh
-       * @copyright Copyright (C) 2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: navbar-sel.php,v 1.4 2005/05/11 06:59:37 powerstat Exp $
-       * @internal This code was adapted from Rasmus Lerdorf's article on 
PHPBuilder http://www.phpbuilder.com/columns/rasmus19990124.php3
-       */
-
-/**
-* Open gif file
-*
-* @param string $filename Filename of gif file
-* @return object Image
+//
+// SourceForge Knowledge Base Module v.1.0.0
+// 
+// Created by Patrick Walsh (address@hidden) 6/00
+// Copyright (c) ... aw, hell, copy all the code you want
+//
+// $Id: navbar-sel.php,v 1.5 2006/02/14 08:48:21 skwashd Exp $
+
+/*
+       This code was adapted from Rasmus Lerdorf's article on PHPBuilder
+       http://www.phpbuilder.com/columns/rasmus19990124.php3
 */
+
 function openGif($filename) {
 
        if (!$filename) { $filename = "navbar.gif"; }
@@ -48,12 +42,13 @@
   $phpgw_info["flags"]["noheader"] = True;
   include("../header.inc.php");
 
+       
   Header( "Content-type: image/gif");
 
   $border = 1;
 
 //echo $filename;
-  $im = openGif($_GET['filename']); /* Open the provided file */
+  $im = openGif($filename); /* Open the provided file */
   $bg = getRGB($phpgw_info["theme"]["navbar_bg"]); /* get navbar theme */
   $fg = getRGB($phpgw_info["theme"]["navbar_text"]);
   $navbar_bg = ImageColorAllocate($im, $bg["r"], $bg["g"], $bg["b"]);
Index: admin/phpinfo.php
diff -u admin/phpinfo.php:1.7 admin/phpinfo.php:1.8
--- admin/phpinfo.php:1.7       Wed May 11 06:59:37 2005
+++ admin/phpinfo.php   Tue Feb 14 08:48:21 2006
@@ -1,28 +1,21 @@
 <?php
-       /**
-       * Administration
-       *
-       * @copyright Copyright (C) 2000-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: phpinfo.php,v 1.7 2005/05/11 06:59:37 powerstat Exp $
-       */
+       
/**************************************************************************\
+       * 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: phpinfo.php,v 1.8 2006/02/14 08:48:21 skwashd Exp $ */
 
-       $phpgw_info['flags'] = array(
-               'noheader'   => True,
-               'nonavbar'   => True,
-               'currentapp' => 'admin'
+       $GLOBALS['phpgw_info']['flags'] = array
+       (
+               'noframework'   => True,
+               'currentapp'    => 'admin'
        );
-       
-       /**
-       * Include phpgroupware header
-       */
        include('../header.inc.php');
-       
-       if ($GLOBALS['phpgw']->acl->check('info_access',1,'admin'))
-       {
-               $GLOBALS['phpgw']->redirect_link('/index.php');
-       }
 
 // Throw a little notice out if PHPaccelerator is enabled.
        if($GLOBALS['_PHPA']['ENABLED'])
@@ -30,8 +23,6 @@
                echo 'PHPaccelerator enabled:</br>'."\n";
                echo 'PHPaccelerator Version: 
'.$GLOBALS['_PHPA']['VERSION'].'</br></p>'."\n";
        }
-       
-       phpinfo();
 
-//     $phpgw->common->phpgw_footer();
+       phpinfo();
 ?>
Index: admin/setup/phpgw_cs.lang
diff -u admin/setup/phpgw_cs.lang:1.4 admin/setup/phpgw_cs.lang:1.5
--- admin/setup/phpgw_cs.lang:1.4       Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_cs.lang   Tue Feb 14 08:48:21 2006
@@ -25,7 +25,7 @@
 re-enter password      admin   cs      Opakuj heslo
 select users for inclusion     admin   cs      Vyberte u¾ivatele, kteøí budou 
pøidáni
 site   admin   cs      Sí»
-sorry, the follow users are still a member of the group x      admin   cs      
Je mi líto, tito u¾ivatelé jsou stále èleny skupiny 
+sorry, the follow users are still a member of the group %1     admin   cs      
Je mi líto, tito u¾ivatelé jsou stále èleny skupiny %1
 that loginid has already been taken    admin   cs      Toto u¾ivatelské jméno 
ji¾ bylo pou¾ito
 the login and password can not be the same     admin   cs      Heslo a 
u¾ivatelské jméno nemù¾e být stejné
 the two passwords are not the same     admin   cs      Zadaná hesla nejsou 
stejná
Index: admin/setup/phpgw_de.lang
diff -u admin/setup/phpgw_de.lang:1.30 admin/setup/phpgw_de.lang:1.31
--- admin/setup/phpgw_de.lang:1.30      Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_de.lang   Tue Feb 14 08:48:21 2006
@@ -14,7 +14,6 @@
 acl manager    admin   de      ACL Manager
 acl rights     admin   de      ACL Rechte
 action admin   de      Aktion
-addressmasters admin   de      Adressen Verwalter
 add a new account.     admin   de      Neues Benutzerkonto anlegen
 add account    admin   de      Benutzerkonto anlegen
 add application        admin   de      Anwendung anlegen
@@ -69,24 +68,17 @@
 change main screen message     admin   de      Nachricht der Startseite ändern
 check ip address of all sessions       admin   de      IP-Adresse für alle 
Sessions überprüfen
 check items to <b>%1</b> to %2 for %3  admin   de      Durch Abhaken %3 in %2 
<b>%1</b>
-communication descriptions manager     admin   de      Verwaltung der 
Kommunikationsbeschreibung
-communication types manager    admin   de      Verwaltung der Kommunikationsart
-configure access permissions   admin   de      Konfiguration der 
Zugangserlaubnis
-configure rss exports  admin   de      Konfiguration des rss Exports
 country selection      admin   de      Länderauswahl
 create group   admin   de      Erstelle Gruppe
 crontab only (recomended)      admin   de      nur Crontab (empfohlen)
 data   admin   de      Daten
 day    admin   de      Tag
 day of week<br>(0-6, 0=sun)    admin   de      Wochentag<br>(0-6, 0=Sonntag)
-debug  admin   de      austesten
 default        admin   de      Vorgabe
 default file system space per user     admin   de      Vorgabewert für 
Dateisystemplatz pro Benutzer
 default file system space per user/group ?     admin   de      Vorgabewert für 
Dateisystemplatz pro Benutzer/Gruppe verwenden?
 delete account admin   de      Benutzerkonto löschen
 delete all records     admin   de      Alle Einträge löschen
-Delete all log records admin   de      Alle Einträge löschen
-Delete all log records for     admin   de      Alle Einträge löschen für  
 delete application     admin   de      Anwendung löschen
 delete category        admin   de      Kategorie löschen
 delete group   admin   de      Gruppe löschen
@@ -111,18 +103,15 @@
 display        admin   de      Anzeigen
 do you also want to delete all global subcategories ?  admin   de      wollen 
Sie auch alle globalen Unterkategorien l&ouml;schen ?
 edit account   admin   de      Benutzerkonto bearbeiten
-edit addressmaster list        admin   de      Adress Verwalter Liste editieren
 edit application       admin   de      Anwendung bearbeiten
 edit global category   admin   de      Globale Kategorie bearbeiten
 edit global category for %1    admin   de      Globale Kategorie für %1 
bearbeiten
 edit group     admin   de      Gruppe bearbeiten
 edit login screen message      admin   de      Nachricht der Login Seite 
bearbeiten
-edit log levels        admin   de      Log Level bearbeiten
 edit main screen message       admin   de      Nachricht der Startseite 
bearbeiten
 edit peer server       admin   de      Server in Serververbund bearbeiten
 edit table format      admin   de      Tabellenformat bearbeiten
 edit user account      admin   de      Benutzerkonto bearbeiten
-edit quota     admin   de      Quota bearbeiten
 enable debug-messages  admin   de      Debug-Meldungen einschalten
 enabled - hidden from navbar   admin   de      Verfügbar, aber nicht in der 
Navigationsleiste
 enter some random text for app_session <br>encryption (requires mcrypt)        
admin   de      Zufälligen Text für app_session<br>Verschlüsselung (braucht 
mcrypt)
@@ -142,20 +131,15 @@
 enter your http proxy server   admin   de      HTTP Proxy Server
 enter your http proxy server port      admin   de      HTTP Proxy Server Port
 error canceling timer, maybe there's none set !!!      admin   de      Fehler 
beim Abbrechen des TestJob's, evtl. läuft gar keiner !!!
-error log      admin   de      Fehler Log
 error setting timer, wrong syntax or maybe there's one already running !!!     
admin   de      Fehler beim Starten des TestJobs, falsche Syntax oder es läuft 
schon einer !!!
 error: %1 not found or other error !!! admin   de      Fehler: %1 nicht 
gefunden oder anderer Fehler !!!
 expires        admin   de      abgelaufen
 fallback (after each pageview) admin   de      Ausweichmöglichkeit (nach jedem 
Seitenaufbau)
-fatal  admin   de      fatal
-file   admin   de      Datei
 file space     admin   de      Dateiraum
 file space must be an integer  admin   de      Speicherplatz muss eine Zahl 
sein
 find and register all application hooks        admin   de      Suchen und 
registrieren der "hooks" aller Anwendungen
-for    admin   de      für
 for the times above    admin   de      für die darüber angegebenen Zeiten
 for the times below (empty values count as '*', all empty = every minute)      
admin   de      für die darunter angegebenen Zeiten (leere Felder zählen als 
'*', alles leer = jede Minute)
-force  admin   de      erzwungen
 force selectbox        admin   de      Auswahl erzwingen
 global categories      admin   de      Globale Kategorien
 group ?        admin   de      Gruppe ?
@@ -175,7 +159,6 @@
 if no acl records for user or any group the user is a member of        admin   
de      Wenn es keinen ACL Eintrag für einen Benutzer oder oder eine Gruppe der 
er angehört gibt
 if using ldap, do you want to manage homedirectory and loginshell attributes?  
admin   de      Wenn sie LDAP verwenden, wollen Sie Benutzerverzeichnisse und 
Komandointerpreter verwalten ?
 inbound        admin   de      eingehend
-info   admin   de      Info
 install crontab        admin   de      Crontab installieren
 installed applications common  de      Installierte Anwendungen
 installed crontab      admin   de      Installierte Crontab
@@ -198,13 +181,9 @@
 ldap host      admin   de      LDAP Host
 ldap root password     admin   de      LDAP Root Passwort
 ldap rootdn    admin   de      LDAP rootdn
-line   admin   de      Zeile
-list addressmasters    admin   de      Liste der Adress Verwalter
 list config settings   admin   de      Konfigurationseinstellungen auflisten
 list current sessions  admin   de      aktive Sitzungen anzeigen
 list of current users  admin   de      Liste der gegenwärtigen Benutzer
-location manager       admin   de      Standort Verwaltung
-log message    admin   de      Log Nachrichten
 login history  admin   de      Login Kontrolle
 login message  admin   de      Meldung der Login Seite
 login screen   admin   de      Login Seite
@@ -220,7 +199,6 @@
 minimum account id (e.g. 500 or 100, etc.)     admin   de      Minimum für 
Benutzer Id (zB.
 minute admin   de      Minute
 mode   admin   de      Modus
-module admin   de      Modul
 month  admin   de      Monat
 never  admin   de      Nie
 new group name admin   de      Neuer Gruppenname
@@ -233,7 +211,6 @@
 no matches found       admin   de      Keine Übereinstimmungen gefunden
 no modes available     admin   de      Kein Modus verfügbar
 note: ssl available only if php is compiled with curl support  admin   de      
Notiz: SSL ist nur verfügbar, wenn PHP mit CURL-Unterstützung erzeugt wurde
-notes types manager    admin   de      Notizart Verwaltung
 outbound       admin   de      ausgehend
 passthrough    admin   de      durchgehend
 path information       admin   de      Pfad-Information
@@ -243,7 +220,6 @@
 percent this user has logged out       admin   de      Prozentsatz wieoft sich 
dieser Benutzer abgemeldet hat
 permissions    admin   de      Zugriffsrechte
 permissions this group has     admin   de      Zugriffsrechte für diese Gruppe
-permissions this user has      admin   de      Zugriffsrechte für diesen 
Benutzer
 phpinfo        admin   de      PHP Informationen
 please enter a name    admin   de      Bitte einen Namen eingeben
 please enter a name for that server !  admin   de      Bitte einen Namen für 
diesen Server eingeben !
@@ -253,7 +229,6 @@
 re-enter password      admin   de      Passwort wiederholen
 read this list of methods.     admin   de      Diese Liste der Methoden lesen
 register application hooks     admin   de      Registrieren der "hooks" der 
Anwendungen
-remove admin   de      entfernen
 remove all users from this group       admin   de      Entferne alle Benutzer 
aus dieser Gruppe
 return to view account admin   de      Zurück zum Anzeigen des Benutzerkontos
 run asynchronous services      admin   de      Asynchrone Dienste ausführen
@@ -263,11 +238,8 @@
 search peer servers    admin   de      Serververbund durchsuchen
 section        admin   de      Abschnitt
 security       admin   de      Sicherheit
-Select addressmasters  admin   de      Adress Verwalter aussuchen
-Select groups  admin   de      Gruppe wählen
 select group managers  admin   de      Gruppenmanager auswählen
 select permissions this group will have        admin   de      Wählen Sie die 
Zugriffsrechte für diese Gruppe.
-Select users   admin   de      Benutzer auswählen
 select users for inclusion     admin   de      Benutzer für diese Gruppe 
auswählen
 select where you want to store/retrieve filesystem information admin   de      
Wo wollen Sie Datei Informationen ablegen / lesen
 select where you want to store/retrieve user accounts  admin   de      Wo 
wollen Sie die Benutzerkonten speichern
@@ -280,7 +252,6 @@
 server url     admin   de      Server URL
 server username        admin   de      Server Benutzername
 set preference values. admin   de      Einstellungswert wurde geändert
-severity       admin   de      Gewichtung
 show 'powered by' logo on      admin   de      Zeige 'powered by' Logo
 show access log        admin   de      Zugangsprotokoll anzeigen
 show current action    admin   de      aktuelle Aktion anzeigen
@@ -297,7 +268,6 @@
 standard       admin   de      standard
 start testjob! admin   de      TestJob starten!
 submit changes admin   de      Änderungen speichern
-sync account-contact   admin   de      Synchronisation Konten-Kontakte
 template selection     admin   de      Auswahl der Benutzeroberfläche
 text entry     admin   de      Texteingabe
 that application name already exists.  admin   de      Diesen Anwendungsname 
gibt es bereits.
@@ -337,10 +307,9 @@
 view error log admin   de      Fehler-Protokoll anzeigen
 view sessions  admin   de      Sitzungen anzeigen
 view user account      admin   de      Benutzerkonto anzeigen
-warn   admin   de      warnen
 who would you like to transfer all records owned by the deleted user to?       
admin   de      Wem sollen alle Datensätze, die dem zu löschenden Benutzer 
gehören, übertragen werden?
 would you like phpgroupware to cache the phpgw info array ?    admin   de      
Soll phpGroupWare das phpgw info Array cachen ?
-would you like phpgroupware to check for a new version<br>when admins login ?  
admin   de      Soll phpGroupWare nach neuen Versionen suchen,<br> wenn sich 
ein Administrator anmeldet ?
+would you like phpgroupware to check for new application versions when admins 
login ?  admin   de      Soll phpGroupWare auf neue Programm-Versionen 
pr&uuml;fen, wenn sich ein Administrator anmeldet ?
 would you like to automaticaly load new langfiles (at login-time) ?    admin   
de      Sollen neue Sprachdateien automatisch gelanden werden (beim Login) ?
 would you like to show each application's upgrade status ?     admin   de      
Soll der Upgrade-Status aller Anwendungen angezeigt werden ?
 xml-rpc        admin   de      XML-RPC
Index: admin/setup/phpgw_en.lang
diff -u admin/setup/phpgw_en.lang:1.45 admin/setup/phpgw_en.lang:1.46
--- admin/setup/phpgw_en.lang:1.45      Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_en.lang   Tue Feb 14 08:48:21 2006
@@ -13,7 +13,11 @@
 acl manager    admin   en      ACL Manager
 acl rights     admin   en      ACL Rights
 action admin   en      Action
+add a category admin   en      add a category
+add a group    admin   en      add a group
 add a new account.     admin   en      Add a new account.
+add a subcategory      admin   en      add a subcategory
+add a user     admin   en      add a user
 add account    admin   en      Add account
 add application        admin   en      Add application
 add auto-created users to this group ('default' will be attempted if this is 
empty.)   admin   en      Add auto-created users to this group ('Default' will 
be attempted if this is empty.)
@@ -24,8 +28,6 @@
 add new application    admin   en      Add new application
 add peer server        admin   en      Add Peer Server
 add sub-category       admin   en      Add sub-category
-add to addressbook     admin   en      Add to addressbook
-addressbook entry      admin   en      Addressbook Entry
 admin email    admin   en      Admin Email
 admin email addresses (comma-separated) to be notified about the blocking 
(empty for no notify)        admin   en      Admin email addresses 
(comma-separated) to be notified about the blocking (empty for no notify)
 admin name     admin   en      Admin Name
@@ -43,10 +45,13 @@
 application name       admin   en      Application name
 application title      admin   en      Application title
 applications   admin   en      Applications
+apply  admin   en      apply
 applications list      admin   en      Applications list
 are you sure you want to delete the application %1 ?   admin   en      Are you 
sure you want to delete the application %1 ?
 are you sure you want to delete this account ? admin   en      Are you sure 
you want to delete this account ?
+are you sure you want to delete this application ?     admin   en      Are you 
sure you want to delete this application ?
 are you sure you want to delete this category ?        common  en      Are you 
sure you want to delete this category ?
+are you sure you want to delete this global category ? admin   en      Are you 
sure you want to delete this global category ?
 are you sure you want to delete this group ?   admin   en      Are you sure 
you want to delete this group ?
 are you sure you want to delete this server?   admin   en      Are you sure 
you want to delete this server?
 are you sure you want to kill this session ?   admin   en      Are you sure 
you want to kill this session ?
@@ -56,9 +61,11 @@
 attempt to use correct mimetype for ftp instead of default 
'application/octet-stream'  admin   en      Attempt to use correct mimetype for 
FTP instead of default 'application/octet-stream'
 authentication / accounts      admin   en      Authentication / Accounts
 auto create account records for authenticated users    admin   en      Auto 
create account records for authenticated users
+back to the list       admin   en      back to the list
 bi-dir passthrough     admin   en      bi-dir passthrough
 bi-directional admin   en      bi-directional
 bottom admin   en      bottom
+category %1 has been saved !   admin   en      Category %1 has been saved !
 calculate next run     admin   en      Calculate next run
 can change password    admin   en      Can change password
 cancel testjob!        admin   en      Cancel TestJob!
@@ -75,14 +82,16 @@
 data   admin   en      Data
 day    admin   en      Day
 day of week<br>(0-6, 0=sun)    admin   en      Day of week<br>(0-6, 0=Sun)
-debug  admin   en      debug
 default        admin   en      Default
 default file system space per user     admin   en      Default file system 
space per user
 default file system space per user/group ?     admin   en      Default file 
system space per user/group ?
 delete account admin   en      Delete account
-delete all log records admin   en      Delete all log records
-delete all log records for     admin   en      Delete all log records for 
 delete all records     admin   en      Delete All Records
+delete the category    admin   en      delete the category
+delete the group       admin   en      delete the group
+delete this category   admin   en      delete this category
+delete this group      admin   en      delete this group
+delete this user       admin   en      delete this user
 delete application     admin   en      Delete application
 delete category        admin   en      Delete category
 delete group   admin   en      Delete group
@@ -105,21 +114,27 @@
 disable "auto completion" of the login form    admin   en      Disable "auto 
completion" of the login form
 disabled (not recomended)      admin   en      disabled (not recomended)
 display        admin   en      Display
+do not delete the category and return back to the list admin   en      do NOT 
delete the category and return back to the list
 do you also want to delete all global subcategories ?  admin   en      Do you 
also want to delete all global subcategories ?
+do you want to delete all global subcategories ?       admin   en      Do you 
want to delete all global subcategories ?
+do you want to move all global subcategories one level down ?  admin   en      
Do you want to move all global subcategories one level down ?
 edit account   admin   en      Edit account
 edit application       admin   en      Edit application
-edit entry     admin   en      Edit entry
 edit global category   admin   en      Edit global category
 edit global category for %1    admin   en      Edit global category for %1
 edit group     admin   en      Edit Group
 edit login screen message      admin   en      Edit login screen message
 edit main screen message       admin   en      Edit main screen message
 edit peer server       admin   en      Edit Peer Server
-edit quota     admin   en      Edit Quota
 edit table format      admin   en      Edit Table format
+edit this category     admin   en      edit this category
+edit this group        admin   en      edit this group
+edit this user admin   en      edit this user
+edit user      admin   en      edit user
 edit user account      admin   en      Edit user account
 enable debug-messages  admin   en      Enable debug-messages
 enabled - hidden from navbar   admin   en      Enabled - Hidden from navbar
+enter a description for the category   admin   en      enter a description for 
the category
 enter some random text for app_session <br>encryption (requires mcrypt)        
admin   en      Enter some random text for app_session <br>encryption (requires 
mcrypt)
 enter the background color for the login page  admin   en      Enter the 
background color for the login page
 enter the background color for the site title  admin   en      Enter the 
background color for the site title
@@ -128,6 +143,7 @@
 enter the full path for users and group files.<br>examples: /files, e:\files   
admin   en      Enter the full path for users and group files.<br>Examples: 
/files, E:\FILES
 enter the hostname of the machine on which this server is running      admin   
en      Enter the hostname of the machine on which this server is running
 enter the location of phpgroupware's url.<br>example: 
http://www.domain.com/phpgroupware &nbsp; or &nbsp; /phpgroupware<br><b>no 
trailing slash</b>    admin   en      Enter the location of phpGroupWare's 
URL.<br>Example: http://www.domain.com/phpgroupware &nbsp; or &nbsp; 
/phpgroupware<br><b>No trailing slash</b>
+enter the search string. to show all entries, empty this field and press the 
submit button again       admin   en      Enter the search string. To show all 
entries, empty this field and press the SUBMIT button again
 enter the site password for peer servers       admin   en      Enter the site 
password for peer servers
 enter the site username for peer servers       admin   en      Enter the site 
username for peer servers
 enter the title for your site  admin   en      Enter the title for your site
@@ -141,12 +157,9 @@
 error: %1 not found or other error !!! admin   en      Error: %1 not found or 
other error !!!
 expires        admin   en      Expires
 fallback (after each pageview) admin   en      fallback (after each pageview)
-fatal  admin   en      fatal
-file   admin   en      File
 file space     admin   en      File space
 file space must be an integer  admin   en      File space must be an integer
 find and register all application hooks        admin   en      Find and 
Register all Application Hooks
-for    admin   en      for
 for the times above    admin   en      for the times above
 for the times below (empty values count as '*', all empty = every minute)      
admin   en      for the times below (empty values count as '*', all empty = 
every minute)
 force selectbox        admin   en      Force Selectbox
@@ -168,7 +181,6 @@
 if no acl records for user or any group the user is a member of        admin   
en      If no ACL records for user or any group the user is a member of
 if using ldap, do you want to manage homedirectory and loginshell attributes?  
admin   en      If using LDAP, do you want to manage homedirectory and 
loginshell attributes?
 inbound        admin   en      inbound
-info   admin   en      info
 install crontab        admin   en      Install crontab
 installed applications common  en      Installed applications
 installed crontab      admin   en      Installed crontab
@@ -190,11 +202,11 @@
 ldap host      admin   en      LDAP host
 ldap root password     admin   en      LDAP root password
 ldap rootdn    admin   en      LDAP rootdn
-line   admin   en      Line
+leave the category untouched and return back to the list       admin   en      
leave the category untouched and return back to the list
+leave the group untouched and return back to the list  admin   en      Leave 
the group untouched and return back to the list
 list config settings   admin   en      List config settings
 list current sessions  admin   en      List current sessions
 list of current users  admin   en      list of current users
-log message    admin   en      Log Message
 login history  admin   en      Login History
 login message  admin   en      Login message
 login screen   admin   en      Login screen
@@ -210,17 +222,18 @@
 minimum account id (e.g. 500 or 100, etc.)     admin   en      Minimum account 
id (e.g. 500 or 100, etc.)
 minute admin   en      Minute
 mode   admin   en      Mode
-module admin   en      Module
 month  admin   en      Month
 new group name admin   en      New group name
 new password [ leave blank for no change ]     admin   en      New password [ 
Leave blank for no change ]
 next run       admin   en      Next run
 no algorithms available        admin   en      no algorithms available
-no error log records exist for this user       admin   en      No error log 
records exist for this user
 no jobs in the database !!!    admin   en      No jobs in the database !!!
 no login history exists for this user  admin   en      No login history exists 
for this user
 no matches found       admin   en      No matches found
 no modes available     admin   en      no modes available
+no permission to add groups    admin   en      no permission to add groups
+no permission to add users     admin   en      no permission to add users
+no permission to create groups admin   en      no permission to create groups
 note: ssl available only if php is compiled with curl support  admin   en      
Note: SSL available only if PHP is compiled with curl support
 outbound       admin   en      outbound
 passthrough    admin   en      passthrough
@@ -231,9 +244,7 @@
 percent this user has logged out       admin   en      Percent this user has 
logged out
 permissions    admin   en      Permissions
 permissions this group has     admin   en      Permissions this group has
-permissions this user has      admin   en      Permissions this user has
 phpinfo        admin   en      PHP information
-please choose at least one addressmaster       admin   en      please choose 
at least one addressmaster
 please enter a name    admin   en      Please enter a name
 please enter a name for that server !  admin   en      Please enter a name for 
that server !
 please run setup to become current     admin   en      Please run setup to 
become current
@@ -242,20 +253,21 @@
 re-enter password      admin   en      Re-enter password
 read this list of methods.     admin   en      Read this list of methods.
 register application hooks     admin   en      Register application hooks
-remove admin   en      remove
 remove all users from this group       admin   en      Remove all users from 
this group
+remove all users from this group ?     admin   en      Remove all users from 
this group ?
+return to admin mainscreen     admin   en      return to admin mainscreen
 return to view account admin   en      Return to view account
+save the category      admin   en      save the category
+save the category and return back to the list  admin   en      save the 
category and return back to the list
 run asynchronous services      admin   en      Run Asynchronous services
 search accounts        admin   en      Search accounts
 search categories      admin   en      Search categories
 search groups  admin   en      Search groups
 search peer servers    admin   en      Search peer servers
 security       admin   en      Security
-select addressmasters  admin   en      Select addressmasters
 select group managers  admin   en      Select Group Managers
-select groups  admin   en      Select groups
 select permissions this group will have        admin   en      Select 
permissions this group will have
-select users   admin   en      Select users
+select the parent category. if this is a main category select no category      
admin   en      Select the parent category. If this is a main category select 
NO CATEGORY
 select users for inclusion     admin   en      Select users for inclusion
 select where you want to store/retrieve filesystem information admin   en      
Select where you want to store/retrieve filesystem information
 select where you want to store/retrieve user accounts  admin   en      Select 
where you want to store/retrieve user accounts
@@ -268,7 +280,6 @@
 server url     admin   en      Server URL
 server username        admin   en      Server Username
 set preference values. admin   en      Set preference values.
-severity       admin   en      Severity
 show 'powered by' logo on      admin   en      Show 'powered by' logo on
 show access log        admin   en      Show access log
 show current action    admin   en      Show current action
@@ -279,11 +290,13 @@
 site configuration     admin   en      Site configuration
 soap   admin   en      SOAP
 sorry, that group name has already been taken. admin   en      Sorry, that 
group name has already been taken.
-sorry, the above users are still a member of the group %1      admin   en      
Sorry, the above users are still a member of the group %1
+sorry, the follow users are still a member of the group %1     admin   en      
Sorry, the follow users are still a member of the group %1
+sort the entries       admin   en      sort the entries
 ssl    admin   en      ssl
 standard       admin   en      standard
 start testjob! admin   en      Start TestJob!
 submit changes admin   en      Submit Changes
+submit the search string       admin   en      Submit the search string
 template selection     admin   en      Template Selection
 text entry     admin   en      Text Entry
 that application name already exists.  admin   en      That application name 
already exists.
@@ -297,13 +310,11 @@
 the loginid can not be more then 8 characters  admin   en      The loginid can 
not be more then 8 characters
 the testjob sends you a mail everytime it is called.   admin   en      The 
TestJob sends you a mail everytime it is called.
 the two passwords are not the same     admin   en      The two passwords are 
not the same
+the users bellow are still members of group %1 admin   en      the users 
bellow are still members of group %1
 they must be removed before you can continue   admin   en      They must be 
removed before you can continue
-this account has no contact entry yet  admin   en      This account has no 
contact entry yet
-this account have not contact  admin   en      This account have not contact
 this application is current    admin   en      This application is current
 this application requires an upgrade   admin   en      This application 
requires an upgrade
 this category is currently being used by applications as a parent category     
admin   en      This category is currently being used by applications as a 
parent category.
-time   admin   en      Time
 timeout for application session data in seconds (default 86400 = 1 day)        
admin   en      Timeout for application session data in seconds (default 86400 
= 1 day)
 timeout for sessions in seconds (default 14400 = 4 hours)      admin   en      
Timeout for sessions in seconds (default 14400 = 4 hours)
 times  admin   en      Times
@@ -312,7 +323,6 @@
 trust level    admin   en      Trust Level
 trust relationship     admin   en      Trust Relationship
 under windows you can only use the fallback mode at the moment. fallback means 
the jobs get only checked after each page-view !!!      admin   en      Under 
windows you can only use the fallback mode at the moment. Fallback means the 
jobs get only checked after each page-view !!!
-unlimited      admin   en      unlimited
 use cookies to pass sessionid  admin   en      Use cookies to pass sessionid
 use pure html compliant code (not fully working yet)   admin   en      Use 
pure HTML compliant code (not fully working yet)
 use theme      admin   en      Use theme
@@ -326,17 +336,15 @@
 view category  admin   en      View category
 view error log admin   en      View error log
 view sessions  admin   en      View sessions
+view this user admin   en      view this user
 view user account      admin   en      View user account
-warn   admin   en      warn
 who would you like to transfer all records owned by the deleted user to?       
admin   en      Who would you like to transfer ALL records owned by the deleted 
user to?
 would you like phpgroupware to cache the phpgw info array ?    admin   en      
Would you like phpGroupWare to cache the phpgw info array ?
-would you like phpgroupware to check for a new version<br>when admins login ?  
admin   en      Would you like phpGroupWare to check for a new version<br>when 
admins login ?
+would you like phpgroupware to check for new application versions when admins 
login ?  admin   en      Would you like phpGroupWare to check for new 
application versions when admins login ?
 would you like to automaticaly load new langfiles (at login-time) ?    admin   
en      Would you like to automaticaly load new langfiles (at login-time) ?
 would you like to show each application's upgrade status ?     admin   en      
Would you like to show each application's upgrade status ?
 xml-rpc        admin   en      XML-RPC
 you have entered an invalid expiration date    admin   en      You have 
entered an invalid expiration date
-you have not edit access to addressmaster records      admin   en      You 
have not edit access to addressmaster records
-you have not the addressmaster record  admin   en      You have not the 
addressmaster record
 you must add at least 1 permission or group to this account    admin   en      
You must add at least 1 permission or group to this account
 you must enter a group name.   admin   en      You must enter a group name.
 you must enter a loginid       admin   en      You must enter a loginid
Index: admin/setup/phpgw_es.lang
diff -u admin/setup/phpgw_es.lang:1.10 admin/setup/phpgw_es.lang:1.11
--- admin/setup/phpgw_es.lang:1.10      Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_es.lang   Tue Feb 14 08:48:21 2006
@@ -1,62 +1,224 @@
-account active admin   es      Cuenta activa
-active admin   es      Activo
-add new account        admin   es      Agregar una nueva cuenta
-add new application    admin   es      Agregar nueva aplicación
-all records and account information will be lost!      admin   es      Se 
perderan todos los registros e informacion de cuentas!
-anonymous user admin   es      Usuario anonimo
-application name       admin   es      Nombre de la aplicación
-application title      admin   es      Titulo de la aplicación
-applications   admin   es      Aplicaciones
-are you sure you want to delete this account ? admin   es      Esta seguro de 
querer borrar esta cuenta ?
-are you sure you want to delete this application ?     admin   es      Seguro 
de querer borrar esta aplicación ?
-are you sure you want to delete this group ?   admin   es      Esta seguro de 
querer borrar este grupo ?
-are you sure you want to kill this session ?   admin   es      Esta seguro de 
querer matar esta sesion ?
-create group   admin   es      Crear Grupo
-disabled       admin   es      Deshabilitado
-display        admin   es      Mostrar
-edit application       admin   es      Editar aplicatión
-edit group     admin   es      Editar Grupo
-enabled        admin   es      Habilitado
-enabled - hidden from navbar   admin   es      Habilitado - Esconder es la 
Barra
-group name     admin   es      Nombre Grupo
-idle   admin   es      idle
-installed applications common  es      Aplicaciones Instaladas
-ip     admin   es      IP
-kill   admin   es      Matar
-last time read admin   es      Ultima lectura
-last %1 logins admin   es      Ultimos %1 logins
-list of current users  admin   es      Lista de usuarios presentes
-login time     admin   es      Hora de LogOn
-loginid        admin   es      LoginID
-manager        admin   es      Manager
-new group name admin   es      Nuevo nombre de grupo
-new password [ leave blank for no change ]     admin   es      Nueva 
contraseña [ Deje es blanco para NO cambiar ]
-percent of users that logged out       admin   es      Porcentaje de usuarios 
que se desloguearon
-permissions    admin   es      Permisos
-permissions this group has     admin   es      Permisos que tiene este grupo
-re-enter password      admin   es      Re-Ingresar contraseña
-remove all users from this group       admin   es      Borrar todos los 
usuarios de este grupo
-select permissions this group will have        admin   es      Selecciones los 
permisos que tendra este grupo
-select users for inclusion     admin   es      Seleccionar usuarios para 
inclución
-site   admin   es      Sitios
-sorry, that group name has already been taking.        admin   es      Este 
nombre de grupo ya esta siendo utilizado.
-sorry, the follow users are still a member of the group %1     admin   es      
Los siguientes usuarios aun son miembros del grupo %1
-status admin   es      Estatus
-submit changes admin   es      Enviar Cambios
-that loginid has already been taken    admin   es      Ese login ID ya esta 
siendo utilizado
-the login and password can not be the same     admin   es      El login y la 
contraseña NO pueden ser iguales
-the two passwords are not the same     admin   es      Las dos contraseñas no 
son iguales
-they must be removed before you can continue   admin   es      Estos deben ser 
removidos para poder continuar
-title  admin   es      Titulo
-total records  admin   es      Total de registros
-user accounts  admin   es      Cuentas de usuario
-user groups    admin   es      Grupos de usuarios
-view access log        admin   es      Ver log de acceso
-view sessions  admin   es      Ver sesiones
-you must add at least 1 permission to this account     admin   es      Debe 
agregar por lo menos 1 permiso para esta cuenta.
-you must enter a password      admin   es      Debe entrar una contraseña
-you must enter an application name and title.  admin   es      Debe entrar un 
nombre y titulo para la aplicación.
-you must select a file type    admin   es      Debe seleccionar un tipo de 
archivo
-change main screen message     admin   es      Cambiar mensaje de la pantalla 
principal
-notes  admin   es      Notas
-manual admin   es      Manual
+account active admin   es      Cuenta activa
+account has been created       admin   es      La cuenta ha sido creada
+account has been deleted       admin   es      La cuenta ha sido eliminada
+account has been updated       admin   es      La cuenta ha sido actualizada
+account permissions    admin   es      Permisos de la cuenta
+account preferences    admin   es      Preferencias de la cuenta
+acl manager    admin   es      Manejo de LCA
+acl rights     admin   es      Permisos de LCA
+action admin   es      Acción
+active admin   es      Activo
+add a new account.     admin   es      Añadir una nueva cuenta.
+add auto-created users to this group ('Default' will be attempted if this is 
empty.)   admin   es      Añadir usuarios creados automaticamente al siguiente 
grupo (se usara 'Default' si no especifica ninguno.)
+add global category    admin   es      Añadir Categoria Global
+add new account        admin   es      Añadir una nueva cuenta
+add new application    admin   es      Añadir nueva aplicación
+add peer server        admin   es      Añadir Servidor Par
+admin email    admin   es      Administrador E-mail
+administration admin   es      Administración
+admin name     admin   es      Nombre del Administrador
+admin options  admin   es      Opciones de Administración
+admins admin   es      Administradores
+allow anonymous access to this app     admin   es      Permitir acceso anónimo 
a esta aplicación
+all records and account information will be lost!      admin   es      ¡ Se 
perderan todos los registros e información de las cuentas!
+all users      admin   es      Todos los usuarios
+anonymous user admin   es      Usuario anónimo
+application name       admin   es      Nombre de la aplicación
+applications   admin   es      Aplicaciones
+application title      admin   es      Titulo de la aplicación
+are you sure you want to delete this account ? admin   es      ¿ Está seguro 
de querer borrar esta cuenta ?
+are you sure you want to delete this application ?     admin   es      ¿ Está 
seguro de querer borrar esta aplicación ?
+are you sure you want to delete this category ?        admin   es      ¿ Está 
seguro de querer borrar esta categoria ?
+are you sure you want to delete this group ?   admin   es      ¿ Está seguro 
de querer borrar este grupo ?
+are you sure you want to delete this server ?  admin   es      ¿ Está seguro 
de querer borrar este servidor ?
+are you sure you want to kill this session ?   admin   es      ¿ Está seguro 
de querer matar esta sesión ?
+attempt to use correct mimetype for FTP instead of default 
'application/octet-stream'  admin   es      Intentar usar el tipo MIME correcto 
para FTP en vez de 'application/octet-stream'
+authentication / accounts      admin   es      Autenticación / Cuentas
+auto create account records for authenticated users    admin   es      Crear 
cuentas automáticamente para usuarios autenticados
+bi-directional admin   es      bidireccional
+bi-dir passthrough     admin   es      bidireccional pasante
+bookeeping admins      admin   es      Administradores de Contabilidad
+bottom admin   es      Debajo
+change main screen message     admin   es      Cambiar mensaje de la pantalla 
principal
+check ip address of all sesions        admin   es      Verificar la direccion 
IP de todas las sesiones
+configuration  admin   es      Configuración
+country selection      admin   es      Seleccion del Pais
+create group   admin   es      Crear Grupo
+default file system space per user     admin   es      Espacio por defecto en 
el sistema de archivos por usuario
+default file system space per user/group ?     admin   es      Espacio por 
defecto en el sistema de archivos por usuario/grupo
+deny access to applications    admin   es      Denegar acceso a aplicaciones
+deny access to current sessions        admin   es      Denegar acceso a las 
sesiones actuales
+deny access to global categories       admin   es      Denegar acceso a las 
categorias globales
+deny access to groups  admin   es      Denegar acceso a grupos
+deny access to mainscreen message      admin   es      Denegar acceso al 
mensaje de la pantalla principal
+deny access to peer servers    admin   es      Denegar acceso a servidores 
pares
+deny access to user accounts   admin   es      Denegar acceso a las cuentas de 
usuario
+deny all users access to grant other users access to their entries ?   admin   
es      ¿ Prohibirle a los usuarios ceder acceso a otros usuarios para sus 
registros ?
+disabled       admin   es      Deshabilitado
+do you also want to delete all global subcategories ?  admin   es      ¿ Desea 
tambien eliminar todas las subcategorias globales?
+display        admin   es      Mostrar
+edit application       admin   es      Editar aplicación
+edit cvs repository list       admin   es      Editar Lista de Sitios CVS
+edit global category   admin   es      Editar categoria global
+edit group     admin   es      Editar Grupo
+edit login screen message      admin   es      Editar mensaje de la pantalla 
de ingreso
+edit main screen message       admin   es      Editar mensaje de la pantalla 
principal
+edit job status id table       admin   es      Editar Tabla de ID de Estados 
de Trabajos
+edit location table    admin   es      Editar Tabla de Ubicaciones
+edit peer server       admin   es      Editar servidores pares
+edit table format      admin   es      Editar formato de tabla
+edit user account      admin   es      Editar cuenta del usuario
+edit work catagory table       admin   es      Editar Tabla de Categorias de 
Trabajos
+enabled        admin   es      Habilitado
+enabled - hidden from navbar   admin   es      Habilitado - Esconder de la 
Barra
+enter some random text for app_session <br>encryption (requires mcrypt)        
admin   es      Introduzca texto aleatorio para la encriptación <br> de la 
sesion (requiere mcrypt)
+enter the full path for temporary files.<br>Examples: /tmp, C:\TEMP    admin   
es      Introduzca el camino completo para los archivos temporales.<br> 
Ejemplos: /files , E:\FILES
+enter the full path for users and group files.<br>Examples: /files, E:\FILES   
admin   es      Introduzca el camino completo para los archivos de 
usuarios<br>y de grupo. Ejemplos: /files , E:\FILES
+enter the hostname of the machine on which this server is running      admin   
es      Introduzca el nombre completo de la maquina sobre la cual corre este 
servidor
+enter the location of phpGroupWare's URL.<br>Example: 
http://www.domain.com/phpgroupware &nbsp; or &nbsp; /phpgroupware<br><b>No 
trailing slash</b>    admin   es      Introduzca la direccion URL de 
phpGroupWare.<br>Ejemplo: http://www.dominio.com/phpgroupware o 
/phpgroupware.<br><b>Sin barra al final</b>
+enter the site password for peer servers       admin   es      Introduzca la 
clave del sitio para servidores pares
+enter the site username for peer servers       admin   es      Introduzca el 
usuario del sitio para servidores pares
+enter the title for your site  admin   es      Introduzca el titulo para su 
sitio
+enter your default FTP server  admin   es      Introduzca su servidor FTP por 
defecto
+enter your HTTP proxy server   admin   es      Introduzca su servidor proxy 
HTTP
+enter your HTTP proxy server port      admin   es      Introduzca el puerto de 
su servidor proxy HTTP
+expires        admin   es      Expira
+find and register all aplication hooks admin   es      Encontrar y registrar 
todos los enlaces a aplicaciones
+force selectbox        admin   es      Forzar Caja de Seleccion
+forum administration   admin   es      Administracion de Foros
+global categories      admin   es      Categorias Globales
+global options admin   es      Opciones Globales
+group ?        admin   es      ¿Grupo?
+group has been added   common  es      El grupo ha sido agregado
+group has been deleted common  es      El grupo ha sido eliminado
+group has been updated common  es      El grupo ha sido actualizado
+group name     admin   es      Nombre del Grupo
+hide php information   admin   es      Ocultar informacion de PHP
+home directory admin   es      Directorio principal
+host information       admin   es      Informacion del servidor
+idle   admin   es      idle
+if no acl records for user or any group the user is a member of        admin   
es      Si no se encuentran registros LCA del usuario y grupo, entonces el 
usuario es miembro del grupo administradores
+if using ldap, do you want to manage homedirectory and loginshell attributes?  
admin   es      Si utiliza LDAP, ¿ desea manejar el directorio de inicio y 
attributos del shell?
+inbound        admin   es      entrantes
+interface      admin   es      Interfaz
+installed applications common  es      Aplicaciones Instaladas
+ip     admin   es      IP
+kill   admin   es      Matar
+last login     admin   es      Ultimo ingreso
+last login from        admin   es      Ultimo ingreso desde
+last time read admin   es      Ultima lectura
+last %1 logins admin   es      Ultimos %1 ingresos
+last %1 logins for %2  admin   es      Ultimos %1 ingresos de %2
+ldap accounts context  admin   es      Contexto de las cuentas LDAP
+ldap default homedirectory prefix (e.g. /home for /home/username)      admin   
es      Prefijo del directorio de inicio LDAP por defecto (ejemplo 
/directorio/usuario)
+ldap default shell (e.g. /bin/bash)    admin   es      Shell LDAP por defecto 
(ej. /bin/bash)
+ldap encryption type   admin   es      Tipo de encriptacion LDAP
+ldap groups context    admin   es      Contexto de Grupos LDAP
+ldap host      admin   es      Servidor LDAP
+ldap rootdn    admin   es      LDAP rootdn
+ldap root password     admin   es      Clave de superusuario LDAP
+list of current users  admin   es      Lista de usuarios presentes
+loginid        admin   es      LoginID
+login history  admin   es      Historial de Accesos
+login screen   admin   es      Pantalla de Ingreso
+login shell    admin   es      Shell de Ingreso
+login time     admin   es      Hora de Acceso
+main screen message    admin   es      Mensaje de la Pantalla Principal
+manage fields  admin   es      Manejar Campos
+manager        admin   es      Manager
+maximum account id (e.g. 65535 or 1000000)     admin   es      Maximo id de 
cuenta (ej. 65535 o 1000000)
+minimum account id (e.g. 500 or 100, etc.)     admin   es      Minimo id de 
cuenta (ej. 500 o 100, etc.)
+mode   admin   es      Modo
+never  admin   es      Nunca
+new group name admin   es      Nuevo nombre de grupo
+new password [ leave blank for no change ]     admin   es      Nueva 
contraseña [ Deje es blanco para NO cambiar ]
+news   admin   es      Noticias
+no login history exists for this user  admin   es      No existen registros de 
acceso para este usuario
+no matches found       admin   es      No se encontraron resultados
+outbound       admin   es      Notas
+passthough     admin   es      Pasante
+path information       admin   es      Informacion de Rutas
+peer servers   admin   es      Servidores Pares
+percent of users that logged out       admin   es      Porcentaje de usuarios 
que salieron
+percent this user has logged out       admin   es      Porcentaje que este 
usuario ha salido
+permissions    admin   es      Permisos
+permissions this group has     admin   es      Permisos que tiene este grupo
+phpinfo        admin   es      Informacion de PHP
+phpsysinfo     admin   es      SysInfo
+please enter a name    admin   es      Por favor ingrese un nombre
+please enter a name for that server !  admin   es      Por favor ingrese un 
nombre para  ese sevidor!
+please run setup to become current     admin   es      Por favor ejecute Setup 
para actualizar
+preferences    admin   es      Preferencias
+re-enter password      admin   es      Re-Ingresar contraseña
+remove all users from this group       admin   es      Borrar todos los 
usuarios de este grupo
+security       admin   es      Seguridad
+selectbox      admin   es      Caja de Seleccion
+select permissions this group will have        admin   es      Selecciones los 
permisos que tendra este grupo
+select users for inclusion     admin   es      Seleccionar usuarios para 
inclución
+select where you want to store/retrieve filesystem information admin   es      
Seleccione donde desea almacenar informacion del sistema de archivos
+select where you want to store/retrieve user accounts  admin   es      
Seleccione donde desea almacenar informacion de las cuentas de usuario
+select which location this app should appear on the navbar, lowest (left) to 
highest (right)   admin   es      Seleccione el lugar que desea que la 
aplicacion ocupe en la barra, de abajo (izquiera) a arriba (derecha)
+server list    admin   es      Listado de servidores
+server name    admin   es      Nombre del servidor
+server password        admin   es      Clave del servidor
+server type(mode)      admin   es      Tipo (modo) del servidor
+server url     admin   es      Direccion URL
+server username        admin   es      Usuario del servidor
+set preferences value  admin   es      Establecer valores de las preferencias
+show 'powered by' logo on      admin   es      Mostrar logo de 'potenciado 
por' en
+site   admin   es      Sitios
+site configuration     admin   es      Configuracion del Sitio
+site links     admin   es      Enlaces a Sitios
+sorry, that group name has already been taken. admin   es      Este nombre de 
grupo ya esta siendo utilizado.
+sorry, the follow users are still a member of the group %1     admin   es      
Los siguientes usuarios aun son miembros del grupo %1
+status admin   es      Estado
+(stored password will not be shown here)       admin   es      (claves 
guardadas no seran mostradas aqui)
+submit changes admin   es      Enviar Cambios
+template selection     admin   es      Seleccion de Plantilla
+text entry     admin   es      Ingreso de Texto
+that application name has already been taken   admin   es      Ese nombre de 
aplicacion ya esta siendo utilizado
+that application order must be a number        admin   es      Ese orden debe 
ser numerico
+that loginid has already been taken    admin   es      Ese login ID ya esta 
siendo utilizado
+that name has been used already        admin   es      Ese nombre ya ha sido 
usado
+that server name has been used already !       admin   es      Ese nombre de 
servidor ya ha sido usado!
+the api is current     admin   es      La API esta actualizada
+the api requires an upgrade    admin   es      La API requiere ser actualizada
+the login and password can not be the same     admin   es      El login y la 
contraseña NO pueden ser iguales
+the loginid can not be more then 8 characters  admin   es      El loginid no 
puede ser mayor a 8 caracteres
+the two passwords are not the same     admin   es      Las dos contraseñas no 
son iguales
+they must be removed before you can continue   admin   es      Estos deben ser 
removidos para poder continuar
+this application is current    admin   es      Esta aplicacion esta actualizada
+this application requires an upgrade   admin   es      Esta aplicacion 
requiere ser actualizada
+this category is currently being used by applications as a parent category     
admin   es      Esta categoria esta siendo usada por las aplicaciones como 
categoria padre.
+timetrack      admin   es      Seguimiento del Tiempo
+title  admin   es      Titulo
+total records  admin   es      Total de Registros
+top    admin   es      Superior
+trust level    admin   es      Nivel de confianza
+trust relationship     admin   es      Relaciones de confianza
+use cookies to pass sessionid  admin   es      Usar cookies para almacenar 
sesiones
+use pure html compliant code (not fully working yet)   admin   es      Usar 
codigo HTML puro (no completado)
+user accounts  admin   es      Cuentas de usuario
+user data      admin   es      Datos del Usuario
+userdata       admin   es      Datos del Usuario
+user groups    admin   es      Grupos de usuarios
+users choice   admin   es      A eleccion del Usuario
+use theme      admin   es      Usar tema
+view access log        admin   es      Ver registro de acceso
+view error log admin   es      Ver registro de errores
+view sessions  admin   es      Ver sesiones
+view system informations       admin   es      Ver Informacion del Sistema
+who would you like to transfer all records owned by the deleted user to?       
admin   es      A quien desea transferirle todos los registros del usuario 
eliminado?
+would you like phpgroupWare to cache the phpgw info array ?    admin   es      
 Desea que phpGroupWare almacene en memoria el array phpgw info?
+would you like phpgroupWare to check for a new version<br>when admins login ?  
admin   es      Desea que phpGroupWare revise si hay versiones nuevas<br>cuando 
ingrese un administrador?
+would you like to show each application's upgrade status ?     admin   es      
Desea mostrar el estado de actualizacion de cada aplicacion?
+you have entered an invalid expiration date    admin   es      Ha ingresado 
una fecha de expiracion invalida
+you must add at least 1 permission to this account     admin   es      Debe 
agregar por lo menos 1 permiso para esta cuenta.
+you must enter an application name and title.  admin   es      Debe entrar un 
nombre y titulo para la aplicación.
+you must enter an application name     admin   es      Debe entrar un nombre 
para la aplicación.
+you must enter an application title    admin   es      Debe entrar un titulo 
para la aplicación.
+you must enter a loginid       admin   es      Debe entrar un loginid
+you must enter a group name    admin   es      Debe entrar un grupo de usuario
+you must enter a password      admin   es      Debe entrar una contraseña
+you must select a file type    admin   es      Debe seleccionar un tipo de 
archivo
+you will need to remove the subcategories before you can delete this category  
admin   es      Debera eliminar las subcategorias antes de poder borrar esta 
categoria
Index: admin/setup/phpgw_fi.lang
diff -u admin/setup/phpgw_fi.lang:1.5 admin/setup/phpgw_fi.lang:1.6
--- admin/setup/phpgw_fi.lang:1.5       Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_fi.lang   Tue Feb 14 08:48:21 2006
@@ -149,6 +149,7 @@
 server password        admin   fi      Palvelimen salasana
 server type(mode)      admin   fi      Palvelimen tyyppi(moodi)
 server url     admin   fi      Palvelimen URL
+server %1 has been added       admin   fi      Palvelin %1 lisätty
 server %1 has been updated     admin   fi      Palvelin %1 päivitetty
 server username        admin   fi      Palvelimen käyttäjätunnus
 set preference values. admin   fi      Tee asetukset.
Index: admin/setup/phpgw_fr.lang
diff -u admin/setup/phpgw_fr.lang:1.16 admin/setup/phpgw_fr.lang:1.17
--- admin/setup/phpgw_fr.lang:1.16      Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_fr.lang   Tue Feb 14 08:48:21 2006
@@ -1,7 +1,7 @@
 %1 - %2 of %3 user accounts    admin   fr      %1 - %2 de %3 comptes 
utilisateurs
 %1 not found or not executable !!!     admin   fr      %1 non trouvé ou non 
exécutable !!!
 (stored password will not be shown here)       admin   fr      (Le mot de 
passe enregistré ne sera pas montré ici)
-(to install new applications use<br><a href="setup/" target="setup">setup</a> 
[manage applications] !!!)       admin   fr      (Pour installer de nouvelles 
applications utilisez<br><a href="setup/" target="setup">Setup</a> [Gérer les 
Applications] !!!)
+(to install new applications use<br><a href="setup/" target="setup">setup</a> 
[manage applications] !!!)       admin   fr      (Pour installer de nouvelles 
applications utilisez<br><a href="setup/" target="setup">Setup</a> [Gérer Les 
Applications] !!!)
 accesslog and bruteforce defense       admin   fr      Protection contre les 
attaques accès aux logs et attaque systématique
 account active admin   fr      Compte actif
 account has been created       common  fr      Le compte a été crée
@@ -13,7 +13,11 @@
 acl manager    admin   fr      Gestionnaire des droits d'accès
 acl rights     admin   fr      Droits d'accès
 action admin   fr      Action
+add a category admin   fr      Ajouter une catégorie
+add a group    admin   fr      Ajouter un groupe
 add a new account.     admin   fr      Ajouter un nouveau compte.
+add a subcategory      admin   fr      Ajouter une sous-catégorie
+add a user     admin   fr      Ajouter un utilisateur
 add account    admin   fr      Ajouter un compte
 add application        admin   fr      Ajouter une application
 add auto-created users to this group ('default' will be attempted if this is 
empty.)   admin   fr      Ajouter les utilisateurs crées automatiquement à ce 
groupe ('Défaut' sera tenté si ce champ est laissé vide.)
@@ -24,8 +28,6 @@
 add new application    admin   fr      Ajouter une nouvelle application
 add peer server        admin   fr      Ajouter un serveur pair
 add sub-category       admin   fr      Ajouter une sous-catégorie
-add to addressbook     admin   fr      Ajouter au carnet d'adresses
-addressbook entry      admin   fr      Entrée du carnet d'adresses
 admin email    admin   fr      Email de l'administrateur
 admin email addresses (comma-separated) to be notified about the blocking 
(empty for no notify)        admin   fr      Adresses EMail (séparées par des 
virgules) des administrateurs à prévenir à propos du blocage (vide pour aucune 
notification)
 admin name     admin   fr      Nom de l'administrateur
@@ -43,54 +45,61 @@
 application name       admin   fr      Nom d'application
 application title      admin   fr      Titre d'application
 applications   admin   fr      Applications
-applications list      admin   fr      Liste d'applications
+apply  admin   fr      Appliquer
+applications list      admin   fr      Liste des applications
 are you sure you want to delete the application %1 ?   admin   fr      
Etes-vous sûr de vouloir effacer l'application %1 ?
 are you sure you want to delete this account ? admin   fr      Etes-vous sûr 
de vouloir effacer ce compte ?
+are you sure you want to delete this application ?     admin   fr      
Etes-vous sûr de vouloir effacer cette application ?
 are you sure you want to delete this category ?        common  fr      
Etes-vous sûr de vouloir effacer cette catégorie ?
+are you sure you want to delete this global category ? admin   fr      
Etes-vous sûr de vouloir effacer cette catégorie globale ?
 are you sure you want to delete this group ?   admin   fr      Etes-vous sûr 
de vouloir effacer ce groupe ?
 are you sure you want to delete this server?   admin   fr      Etes-vous sûr 
de vouloir effacer ce serveur ?
 are you sure you want to kill this session ?   admin   fr      Etes-vous sûr 
de vouloir tuer cette session ?
 async services last executed   admin   fr      Dernière exécution des services 
Async
-asynchronous timed services    admin   fr      Services planifiés asynchrones
-asyncservices not yet installed or other error (%1) !!!        admin   fr      
Asyncservices pas encore installé ou autre erreur (%1) !!!
+asynchronous timed services    admin   fr      Service temporisés Asynchrones
+asyncservices not yet installed or other error (%1) !!!        admin   fr      
Services Async pas encore installés ou autre erreur (%1) !!!
 attempt to use correct mimetype for ftp instead of default 
'application/octet-stream'  admin   fr      Tentative d'utiliser la type MIME 
correct pour ftp à la place de celui par défaut 'application/octet-stream'
 authentication / accounts      admin   fr      Authentification / Comptes
 auto create account records for authenticated users    admin   fr      Créer 
automatiquement les enregistrements de comptes pour les utilisateurs 
authentifiés
+back to the list       admin   fr      retour à la liste
 bi-dir passthrough     admin   fr      passage bi-dir
 bi-directional admin   fr      bi-directionnel
 bottom admin   fr      bas
-calculate next run     admin   fr      Calculer la prochain exécution
+category %1 has been saved !   admin   fr      La catégorie %1 a été 
enregistrée !
+calculate next run     admin   fr      Calculer la prochaine exécution
 can change password    admin   fr      Peut modifier le mot de passe
-cancel testjob!        admin   fr      Annuler la tâche de test!
+cancel testjob!        admin   fr      Annuler le job de test !
 categories list        admin   fr      Liste de catégories
 category list  admin   fr      Liste de catégories
 change acl rights      admin   fr      Modifier les droits ACL
 change config settings admin   fr      Modifier les réglages de configuration
 change main screen message     admin   fr      Changer le message de l'écran 
principal
 check ip address of all sessions       admin   fr      Vérifier l'adresse IP 
de toutes les sessions
-check items to <b>%1</b> to %2 for %3  admin   fr      Vérifier les objets 
pour <b>%1</b> vers %2 pour %3
+check items to <b>%1</b> to %2 for %3  admin   fr      Vérifier les objets 
vers <b>%1</b> à %2 pour %3
 country selection      admin   fr      Sélection du pays
 create group   admin   fr      Créer un groupe
 crontab only (recomended)      admin   fr      Crontab seulement (recommandé)
 data   admin   fr      Données
 day    admin   fr      Jour
 day of week<br>(0-6, 0=sun)    admin   fr      Jour de la semaine<br>(0-6, 
0=Dim)
-debug  admin   fr      Debug
 default        admin   fr      Défaut
 default file system space per user     admin   fr      Espace disque par 
utilisateur (par défaut)
 default file system space per user/group ?     admin   fr      Espace disque 
par utilisateur/groupe (par défaut) ?
-delete account admin   fr      Supprimer le compte
-delete all log records admin   fr      Effacer tous les enregistrements de log
-delete all log records for     admin   fr      Effacer tous les 
enregistrements de log pour
+delete account admin   fr      Effacer le compte
 delete all records     admin   fr      Effacer tous les enregistrements
-delete application     admin   fr      Supprimer l'application
-delete category        admin   fr      Supprimer la catégorie
-delete group   admin   fr      Supprimer le groupe
-delete peer server     admin   fr      Supprimer le serveur pair
-deny access to access log      admin   fr      Refuser l'accès à la log d'accès
+delete the category    admin   fr      Effacer la catégorie
+delete the group       admin   fr      Effacer le groupe
+delete this category   admin   fr      Effacer cette catégorie
+delete this group      admin   fr      Effacer ce groupe
+delete this user       admin   fr      Effacer cet utilisateur
+delete application     admin   fr      Effacer l'application
+delete category        admin   fr      Effacer la catégorie
+delete group   admin   fr      Effacer le groupe
+delete peer server     admin   fr      Effacer le serveur pair
+deny access to access log      admin   fr      Dénier l'accès à la log d'accès
 deny access to application registery   admin   fr      Refuser l'accès à 
l'enregistrement d'applications
 deny access to applications    admin   fr      Refuser l'accès aux applications
-deny access to asynchronous timed services     admin   fr      Refuser l'accès 
aux services planifiés asynchrones
+deny access to asynchronous timed services     admin   fr      Dénier l'accès 
aux services temporisés asynchrones
 deny access to current sessions        admin   fr      Refuser l'accès aux 
sessions en cours
 deny access to error log       admin   fr      Refuser l'accès à la log 
d'erreurs
 deny access to global categories       admin   fr      Refuser l'accès aux 
catégories globales
@@ -101,25 +110,31 @@
 deny access to site configuration      admin   fr      Refuser  l'accès à la 
configuration du site
 deny access to user accounts   admin   fr      Refuser l'accès aux comptes 
utilisateurs
 deny all users access to grant other users access to their entries ?   admin   
fr      Les utilisateurs ne peuvent permettre aux autres l'accès à leurs 
données ?
-description can not exceed 255 characters in length !  admin   fr      La 
description ne peut pas dépasser 255 caractères de long !
-disable "auto completion" of the login form    admin   fr      Désactiver la 
"complétion automatique" du formulaire de connexion
-disabled (not recomended)      admin   fr      Désactivé (pas recommandé)
+description can not exceed 255 characters in length !  admin   fr      La 
description ne peut dépasser 255 caractères de long !
+disable "auto completion" of the login form    admin   fr      Désactiver 
l'"auto-complétion" du formulaire de connexion
+disabled (not recomended)      admin   fr      Désactivé (non recommandé)
 display        admin   fr      Afficher
+do not delete the category and return back to the list admin   fr      Ne PAS 
effacer la catégorie et retourner à la liste
 do you also want to delete all global subcategories ?  admin   fr      
Voulez-vous aussi effacer toutes les sous-catégories globales ?
+do you want to delete all global subcategories ?       admin   fr      
Voulez-vous effacer toutes les sous-catégories globales ?
+do you want to move all global subcategories one level down ?  admin   fr      
Voulez-vous déplacer toutes les sous-catégories globales un niveau plus bas ?
 edit account   admin   fr      Modifier le compte
 edit application       admin   fr      Modifier l'application
-edit entry     admin   fr      Modifier l'entrée
 edit global category   admin   fr      Modifier la catégorie globale
 edit global category for %1    admin   fr      Modifier la catégorie globale 
pour %1
 edit group     admin   fr      Modifier le groupe
 edit login screen message      admin   fr      Modifier le message de l'écran 
de connexion
 edit main screen message       admin   fr      Modifier le message de l'écran 
principal
 edit peer server       admin   fr      Modifier le serveur pair
-edit quota     admin   fr      Modifier le Quota
 edit table format      admin   fr      Modifier le format de la table
+edit this category     admin   fr      Modifier cette catégorie
+edit this group        admin   fr      Modifier ce groupe
+edit this user admin   fr      Modifier cet utilisateur
+edit user      admin   fr      Modifier l'utilisateur
 edit user account      admin   fr      Modifier le compte de l'utilisateur
-enable debug-messages  admin   fr      Activer les messages debug
+enable debug-messages  admin   fr      Activer les messages de Debug
 enabled - hidden from navbar   admin   fr      Activé - caché de la barre de 
navigation
+enter a description for the category   admin   fr      Entrez une description 
pour la catégorie
 enter some random text for app_session <br>encryption (requires mcrypt)        
admin   fr      Entrez un texte au hasard pour le <br>chiffrement de 
l'app_session (nécessite mcrypt)
 enter the background color for the login page  admin   fr      Entrez la 
couleur de fond pour la page de connexion
 enter the background color for the site title  admin   fr      Entrez la 
couleur de fond pour le titre du site
@@ -128,6 +143,7 @@
 enter the full path for users and group files.<br>examples: /files, e:\files   
admin   fr      Entrez le chemin complet pour les fichiers de utilisateurs et 
groupes.<br>Exemples: /files, e:\files
 enter the hostname of the machine on which this server is running      admin   
fr      Entrez le nom de la machine sur laquelle ce serveur s'exécute
 enter the location of phpgroupware's url.<br>example: 
http://www.domain.com/phpgroupware &nbsp; or &nbsp; /phpgroupware<br><b>no 
trailing slash</b>    admin   fr      Entrez l'emplacement de l'URL 
phpGroupWare.<br>Exemple: http://www.domaine.com/phpgroupware &nbsp; ou &nbsp; 
/phpgroupware<br><b>Pas de division (/) à la fin</b>
+enter the search string. to show all entries, empty this field and press the 
submit button again       admin   fr      Entrez la chaîne de recherche. Pour 
montrer toutes les entrées, videz ce champ et recliquez sur le bouton SOUMETTRE
 enter the site password for peer servers       admin   fr      Entrez le mot 
de passe du site pour les serveurs pairs
 enter the site username for peer servers       admin   fr      Entrez le nom 
d'utilisateur du site pour les serveurs pairs
 enter the title for your site  admin   fr      Entrez le titre pour votre site
@@ -136,19 +152,16 @@
 enter your default ftp server  admin   fr      Entrez votre serveur FTP par 
défaut
 enter your http proxy server   admin   fr      Entrez votre serveur proxy HTTP
 enter your http proxy server port      admin   fr      Entrez le port de votre 
serveur proxy HTTP
-error canceling timer, maybe there's none set !!!      admin   fr      Erreur 
à l'annulation du planificateur de temps, il n'y en a peut-être pas de 
configuré !!!
-error setting timer, wrong syntax or maybe there's one already running !!!     
admin   fr      Erreur au réglage du planificateur de temps, syntaxe incorrecte 
ou peut-être il y en a un qui tourne déjà !!!
+error canceling timer, maybe there's none set !!!      admin   fr      Erreur 
à l'annulation du timer, peut-être n'y en a-t'il aucun de défini !!!
+error setting timer, wrong syntax or maybe there's one already running !!!     
admin   fr      Erreur au réglage du timer, mauvaise syntaxe ou peut-être y en 
a-t'il un en train de s'exécuter !!!
 error: %1 not found or other error !!! admin   fr      Erreur: %1 non trouvé 
ou autre erreur !!!
 expires        admin   fr      Expire
-fallback (after each pageview) admin   fr      Alternatif (après chaque 
visualisation de la page)
-fatal  admin   fr      Fatal
-file   admin   fr      Fichier
-file space     admin   fr      Espace disque
-file space must be an integer  admin   fr      La valeur espace disque doit 
être un entier
-find and register all application hooks        admin   fr      Trouver et 
enregistrer tous les crochets d'applications
-for    admin   fr      Pour
-for the times above    admin   fr      Pour les heures ci-dessus
-for the times below (empty values count as '*', all empty = every minute)      
admin   fr      Pour les heures ci-dessous (les valeurs vides comptent comme 
'*', tout vide = toutes les minutes)
+fallback (after each pageview) admin   fr      Mode dégradé (après chaque 
visualisation de page)
+file space     admin   fr      Espace fichiers
+file space must be an integer  admin   fr      La valeur Espace fichiers doit 
être un entier
+find and register all application hooks        admin   fr      Trouver et 
enregistrer tous les "application hooks"
+for the times above    admin   fr      Pour les temps ci-dessus
+for the times below (empty values count as '*', all empty = every minute)      
admin   fr      Pour les temps ci-dessous (les valeurs vides comptent comme 
'*', tous vides = chaque minute)
 force selectbox        admin   fr      Forcer la boite de sélection
 global categories      admin   fr      Catégories globales
 group ?        admin   fr      Groupe ?
@@ -168,13 +181,12 @@
 if no acl records for user or any group the user is a member of        admin   
fr      Si pas d'enregistrements dans les droits d'accès pour l'utilisateur ou 
n'importe quel groupe, l'utilisateur est membre de
 if using ldap, do you want to manage homedirectory and loginshell attributes?  
admin   fr      Si vous utilisez LDAP, voulez-vous gérer les attributs 
répertoire maison et shell de connexion?
 inbound        admin   fr      Entrant
-info   admin   fr      Info
 install crontab        admin   fr      Installer la crontab
 installed applications common  fr      Applications installées
 installed crontab      admin   fr      Crontab installée
 interface      admin   fr      Interface
 ip     admin   fr      IP
-jobs   admin   fr      Tâches
+jobs   admin   fr      Jobs
 kill   admin   fr      Tuer
 kill session   admin   fr      Tuer la session
 last %1 logins admin   fr      Dernières %1 connexions
@@ -190,11 +202,11 @@
 ldap host      admin   fr      Hôte LDAP
 ldap root password     admin   fr      Mot de passe root LDAP
 ldap rootdn    admin   fr      Rootdn LDAP
-line   admin   fr      Ligne
-list config settings   admin   fr      Liste de réglages de configuration
-list current sessions  admin   fr      Listie des sessions actuelles
+leave the category untouched and return back to the list       admin   fr      
Laisser la catégorie telle quelle et retourner à la liste
+leave the group untouched and return back to the list  admin   fr      Laisser 
le groupe tel quel et retouner à la liste
+list config settings   admin   fr      Lister les réglages de configuration
+list current sessions  admin   fr      Lister les sessions actuelles
 list of current users  admin   fr      Liste des utilisateurs actuels
-log message    admin   fr      Message de Log
 login history  admin   fr      Historique de connexion
 login message  admin   fr      Message de connexion
 login screen   admin   fr      Ecran de connexion
@@ -204,24 +216,25 @@
 main screen message    admin   fr      Message de l'écran principal
 manager        admin   fr      Gestionnaire
 maximum account id (e.g. 65535 or 1000000)     admin   fr      Numéro de 
compte maximum (p.e. 65535 ou 1000000)
-maximum entries in click path history  admin   fr      Nombre d'entrées 
maximum dans l'historique des clics de souris
+maximum entries in click path history  admin   fr      Nombre d'entrées 
maximum dans l'historique des chemins de click
 message has been updated       admin   fr      le message a été mis à jour
 method admin   fr      Méthode
 minimum account id (e.g. 500 or 100, etc.)     admin   fr      Numéro de 
compte minimum (p.e. 500 ou 100, etc.)
 minute admin   fr      Minute
 mode   admin   fr      Mode
-module admin   fr      Module
 month  admin   fr      Mois
 new group name admin   fr      Nouveau nom de groupe
 new password [ leave blank for no change ]     admin   fr      Nouveau mot de 
passe [ Laisser vide pour aucun changement ]
 next run       admin   fr      Prochaine exécution
-no algorithms available        admin   fr      Aucun algorithme disponible
-no error log records exist for this user       admin   fr      Aucun 
enregistrement de log d'erreur n'existe pour cet utilisateur
-no jobs in the database !!!    admin   fr      Aucune tâche dans la base de 
données !!!
+no algorithms available        admin   fr      Pas d'algorithme disponible
+no jobs in the database !!!    admin   fr      Aucun job dans la base de 
données !!!
 no login history exists for this user  admin   fr      Aucun historique de 
connexion n'existe pour cet utilisateur
 no matches found       admin   fr      Aucune occurrence trouvée
-no modes available     admin   fr      Aucun mode disponible
-note: ssl available only if php is compiled with curl support  admin   fr      
Note: SSL n'est disponible que si PHP a été compilé avec le support de curl
+no modes available     admin   fr      Pas de modes disponibles
+no permission to add groups    admin   fr      Aucune permission pour ajouter 
des groupes
+no permission to add users     admin   fr      Aucune permission pour ajouter 
des utilisateurs
+no permission to create groups admin   fr      Aucune permission pour créer 
des groupes
+note: ssl available only if php is compiled with curl support  admin   fr      
Note: SSL disponible si PHP est compilé avec le support de CURL
 outbound       admin   fr      sortant
 passthrough    admin   fr      passage
 path information       admin   fr      Information sur le chemin
@@ -231,9 +244,7 @@
 percent this user has logged out       admin   fr      Pourcentage de 
déconnexion de cet utilisateur
 permissions    admin   fr      Permissions
 permissions this group has     admin   fr      Permissions attribuées à ce 
groupe
-permissions this user has      admin   fr      Permissions attribuées à cet 
utilisateur
 phpinfo        admin   fr      Informations PHP
-please choose at least one addressmaster       admin   fr      SVP choisissez 
au moins un maître d'adresses
 please enter a name    admin   fr      SVP entrez un nom
 please enter a name for that server !  admin   fr      SVP entrez un nom pour 
ce serveur !
 please run setup to become current     admin   fr      SVP exécutez setup pour 
vous mettre à jour
@@ -241,21 +252,22 @@
 preferences    admin   fr      Préférences
 re-enter password      admin   fr      Ré-entrez le mot de passe
 read this list of methods.     admin   fr      Lisez cette liste de méthodes.
-register application hooks     admin   fr      Enregistrer les crochets 
d'applications
-remove admin   fr      Enlever
+register application hooks     admin   fr      Enregistrer les crochets 
d'application
 remove all users from this group       admin   fr      Retirer tous les 
utilisateurs de ce groupe
-return to view account admin   fr      Retourner à la visualisation des comptes
+remove all users from this group ?     admin   fr      Retirer tous les 
utilisateurs de ce groupe ?
+return to admin mainscreen     admin   fr      Retourner à l'écran principal 
de l'administration
+return to view account admin   fr      Retourner à la vue du compte
+save the category      admin   fr      Enregistrer la catégorie
+save the category and return back to the list  admin   fr      Enregistrer la 
catégorie et retourner à la liste
 run asynchronous services      admin   fr      Exécuter les services 
asynchrones
-search accounts        admin   fr      Rechercher les comptes
-search categories      admin   fr      Rechercher les catégories
-search groups  admin   fr      Rechercher les groupes
-search peer servers    admin   fr      Rechercher les serveurs pairs
+search accounts        admin   fr      Rechercher des comptes
+search categories      admin   fr      Catégories de recherche
+search groups  admin   fr      Rechercher des groupes
+search peer servers    admin   fr      Rechercher des serveurs pairs
 security       admin   fr      Sécurité
-select addressmasters  admin   fr      Sélectionner les Maîtres d'adresses
 select group managers  admin   fr      Sélectionner les gestionnaires de groupe
-select groups  admin   fr      Sélectionner les groupes
 select permissions this group will have        admin   fr      Choisissez les 
permissions que ce groupe va avoir
-select users   admin   fr      Sélectionner les utilisateurs
+select the parent category. if this is a main category select no category      
admin   fr      Choisissez la catégorie parente. Si ceci est une catégorie 
principale choisissez PAS DE CATEGORIE
 select users for inclusion     admin   fr      Choisissez les utilisateurs à 
inclure
 select where you want to store/retrieve filesystem information admin   fr      
Choisissez où vous voulez stocker/récupérer les informations sur les systèmes 
de fichiers
 select where you want to store/retrieve user accounts  admin   fr      
Choisissez où vous voulez stocker/récupérer les comptes utilisateurs
@@ -268,22 +280,23 @@
 server url     admin   fr      URL du serveur
 server username        admin   fr      Nom d'utilisateur du serveur
 set preference values. admin   fr      Régler les valeurs des préférences.
-severity       admin   fr      Sévérité
 show 'powered by' logo on      admin   fr      Montrer le logo 'exécuté par' 
sur
 show access log        admin   fr      Montrer la log d'accès
 show current action    admin   fr      Montrer l'action actuelle
-show error log admin   fr      Montrer la log d'erreurs
-show phpinfo() admin   fr      Montter les infos php -> phpinfo()
-show session ip address        admin   fr      Montrer l'adresse IP de la 
session
+show error log admin   fr      Montrer la log d'erreur
+show phpinfo() admin   fr      Montrer phpinfo()
+show session ip address        admin   fr      Montrer l'adresse IP de session
 site   admin   fr      Site
 site configuration     admin   fr      Configuration du site
 soap   admin   fr      SOAP
 sorry, that group name has already been taken. admin   fr      Désolé, ce nom 
de groupe a déjà été pris.
-sorry, the above users are still a member of the group %1      admin   fr      
Désolé, les utilisateurs ci-dessus sont encore membres du groupe %1
+sorry, the follow users are still a member of the group %1     admin   fr      
Désolé, les utilisateurs suivants sont encore membres de ce groupe %1
+sort the entries       admin   fr      Trier les entrées
 ssl    admin   fr      ssl
 standard       admin   fr      standard
-start testjob! admin   fr      Demarrer la tâche de test!
+start testjob! admin   fr      Démarrer le job de test!
 submit changes admin   fr      Soumettre les changements
+submit the search string       admin   fr      Soumettre la chaîne de recherche
 template selection     admin   fr      Sélection du style
 text entry     admin   fr      Entrée de texte
 that application name already exists.  admin   fr      Ce nom d'application 
existe déjà.
@@ -295,24 +308,21 @@
 the api requires an upgrade    admin   fr      L'API nécessite une mise à jour
 the login and password can not be the same     admin   fr      Le login et le 
mot de passe ne peuvent être identiques
 the loginid can not be more then 8 characters  admin   fr      Le loginid ne 
peut pas être composé de plus de 8 caractères
-the testjob sends you a mail everytime it is called.   admin   fr      La 
tâche de test vous envoie un EMail à chaque fois qu'elle est appelée.
+the testjob sends you a mail everytime it is called.   admin   fr      Le job 
de test vous envoie un EMail à chaque fois qu'il est appelé.
 the two passwords are not the same     admin   fr      Les deux mots de passe 
ne sont pas identiques
+the users bellow are still members of group %1 admin   fr      Les 
utilisateurs ci-dessous sont encore membres du groupe %1
 they must be removed before you can continue   admin   fr      Ils doivent 
être enlevés avant que vous puissiez continuer
-this account has no contact entry yet  admin   fr      Ce compte n'a pas 
encore d'entrée contact
-this account have not contact  admin   fr      Ce compte n'a aucun contact
 this application is current    admin   fr      Cette application est à jour
 this application requires an upgrade   admin   fr      Cette application 
nécessite une mise à jour
 this category is currently being used by applications as a parent category     
admin   fr      Cette catégorie est actuellement utilisée par des applications 
comme une catégorie parente
-time   admin   fr      Temps
 timeout for application session data in seconds (default 86400 = 1 day)        
admin   fr      Expiration pour les données session de l'application en 
secondes (par défaut 86400 = 1 jour)
 timeout for sessions in seconds (default 14400 = 4 hours)      admin   fr      
Expiration pour les sessions en secondes (par défaut 14400 = 4 heures)
-times  admin   fr      Heures
+times  admin   fr      Temps
 top    admin   fr      Haut
 total records  admin   fr      Enregistrements totaux
 trust level    admin   fr      Niveau de confiance
 trust relationship     admin   fr      Relation de confiance
-under windows you can only use the fallback mode at the moment. fallback means 
the jobs get only checked after each page-view !!!      admin   fr      Sous 
windows vous pouvez uniquement utiliser le mode alternatif pour le moment. 
Alternatif signifie que les tâches sont vérifiées uniquement après chaque 
visualisation de la page !!!
-unlimited      admin   fr      Illimité
+under windows you can only use the fallback mode at the moment. fallback means 
the jobs get only checked after each page-view !!!      admin   fr      Sous 
windows vous pouvez uniquement utiliser le mode dégradé. Ce mode signifie que 
les jobs sont vérifiés uniquement après chaque visualisation de page !!!
 use cookies to pass sessionid  admin   fr      Utiliser les cookies pour 
passer l'ID de session
 use pure html compliant code (not fully working yet)   admin   fr      
Utiliser du code HTML standard (ne fonctionne pas encore complètement)
 use theme      admin   fr      Utiliser le thème
@@ -326,17 +336,15 @@
 view category  admin   fr      Voir la catégorie
 view error log admin   fr      Voir le journal d'erreurs
 view sessions  admin   fr      Voir les sessions
+view this user admin   fr      Voir cet utilisateur
 view user account      admin   fr      Voir le compte utilisateur
-warn   admin   fr      Attention
 who would you like to transfer all records owned by the deleted user to?       
admin   fr      A qui voudriez-vous tranférer tous les enregistrements 
appartenant à l'utilisateur effacé?
-would you like phpgroupware to cache the phpgw info array ?    admin   fr      
Désirez-vous que phpGroupWare cache le champ phpgw info ?
-would you like phpgroupware to check for a new version<br>when admins login ?  
admin   fr      Désirez-vous que phpGroupWare vérifie la disponibilité d'une 
nouvelle version<br>quand les administrateurs se connectent ?
-would you like to automaticaly load new langfiles (at login-time) ?    admin   
fr      Voudriez-vous automatiquement charger les nouvelles traductions depuis 
les fichiers de langue (à la connexion) ?
+would you like phpgroupware to cache the phpgw info array ?    admin   fr      
Voudriez-vous que phpGroupWare cache le champ phpgw info ?
+would you like phpgroupware to check for new application versions when admins 
login ?  admin   fr      Voudriez-vous que phpGroupWare vérifie s'il y a de 
nouvelles versions d'applications quand les administrateurs se connectent ?
+would you like to automaticaly load new langfiles (at login-time) ?    admin   
fr      Voudriez-vous charger automatiquement les nouveaux fichiers de 
traduction (à la connexion) ?
 would you like to show each application's upgrade status ?     admin   fr      
Voudriez-vous montrer l'état de mise à jour de chaque application ?
 xml-rpc        admin   fr      XML-RPC
 you have entered an invalid expiration date    admin   fr      Vous avez entré 
une date d'expiration invalide
-you have not edit access to addressmaster records      admin   fr      Vous 
n'avez pas l'accès en modification aux enregistrements maîtres d'adresses
-you have not the addressmaster record  admin   fr      Vous n'avez pas 
l'enregistrement maître d'adresse
 you must add at least 1 permission or group to this account    admin   fr      
Vous devez ajouter au moins 1 permission ou groupe à ce compte
 you must enter a group name.   admin   fr      Vous devez entrer un nom de 
groupe
 you must enter a loginid       admin   fr      Vous devez entrer un loginid
Index: admin/setup/phpgw_ja.lang
diff -u admin/setup/phpgw_ja.lang:1.11 admin/setup/phpgw_ja.lang:1.12
--- admin/setup/phpgw_ja.lang:1.11      Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_ja.lang   Tue Feb 14 08:48:21 2006
@@ -1,220 +1,103 @@
-%1 - %2 of %3 user accounts    admin   ja      ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È %1 - %2 of %3
-%1 not found or not executable !!!     admin   ja      
%1¤Ï¸«¤Ä¤«¤é¤Ê¤¤¤«°¿¤¤¤Ï¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó
-(stored password will not be shown here)       admin   ja      
(ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹¥ï¡¼¥É¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)
-(to install new applications use<br><a href="setup/" target="setup">setup</a> 
[manage applications] !!!)       admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¿·µ¬¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ï¡¢<br><a href="setup/" 
target="setup">¥»¥Ã¥È¥¢¥Ã¥×</a>[¥¢¥×¥ê¥±¡¼¥·¥ç¥ó´ÉÍý]¤òÍøÍÑ
-accesslog and bruteforce defense       admin   ja      
¥¢¥¯¥»¥¹¥í¥°¡õ¥Ö¥ë¡¼¥È¥Õ¥©¡¼¥¹Ëɸæ
-account active admin   ja      ¥¢¥«¥¦¥ó¥È¾õÂÖ
-account has been created       common  ja      ¥¢¥«¥¦¥ó¥È¤òºîÀ®¤·¤Þ¤·¤¿
-account has been deleted       common  ja      ¥¢¥«¥¦¥ó¥È¤òºï½ü¤·¤Þ¤·¤¿
-account has been updated       common  ja      ¥¢¥«¥¦¥ó¥È¤ò¹¹¿·¤·¤Þ¤·¤¿
-account list   admin   ja      ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È°ìÍ÷
-account permissions    admin   ja      ¥¢¥«¥¦¥ó¥È¸¢¸Â
-account preferences    admin   ja      ¥¢¥«¥¦¥ó¥ÈÀßÄê
+account active admin   ja      ¥¢¥«¥¦¥ó¥È¥¢¥¯¥Æ¥£¥Ö
+account list   admin   ja      ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¹àÌÜÁ´ÂÎ
+account permissions    admin   ja      ÍøÍѲÄǽ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
 acl manager    admin   ja      ÍøÍѵö²ÄÀßÄê
 acl rights     admin   ja      ÍøÍѵö²ÄÀßÄê
 action admin   ja      ¥¢¥¯¥·¥ç¥ó
-add a new account.     admin   ja      ¥¢¥«¥¦¥ó¥ÈÄɲÃ
 add account    admin   ja      ¥¢¥«¥¦¥ó¥È¤ÎÄɲÃ
 add application        admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÄɲÃ
-add auto-created users to this group ('default' will be attempted if this is 
empty.)   admin   ja      
¼«Æ°¤ÇºîÀ®¤µ¤ì¤ë¥æ¡¼¥¶¡¼¤Ï¤³¤Î¥°¥ë¡¼¥×¤ËÄɲ䵤ì¤Þ¤¹¡Ê¶õÍó¤Î¾ì¹ç¤Ï'Default'¥°¥ë¡¼¥×¤Ë¤Ê¤ê¤Þ¤¹¡Ë
 add global category    admin   ja      ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥êÄɲÃ
-add global category for %1     admin   ja      %1ÍÑ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥êÄɲÃ
 add group      admin   ja      ¥°¥ë¡¼¥×ÄɲÃ
 add new account        admin   ja      ¥¢¥«¥¦¥ó¥ÈÄɲÃ
 add new application    admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÄɲÃ
-add peer server        admin   ja      ÂÐÅù¥µ¡¼¥Ð¡¼ÄɲÃ
+add peer server        admin   ja      ÂÐÅù¥µ¡¼¥ÐÄɲÃ
 add sub        admin   ja      ¥µ¥ÖÄɲÃ
-add sub-category       admin   ja      ¥µ¥Ö¥«¥Æ¥´¥êÄɲÃ
-add to addressbook     admin   ja      ¥¢¥É¥ì¥¹Ä¢¤ËÄɲÃ
-addressbook entry      admin   ja      ¥¢¥É¥ì¥¹Ä¢¥¨¥ó¥È¥ê¡¼
-addressmasters admin   ja      ¥¢¥É¥ì¥¹´ÉÍý¼Ô
+admins admin   ja      ´ÉÍý¼Ô
 admin email    admin   ja      ´ÉÍý¼Ô¥á¡¼¥ë¥¢¥É¥ì¥¹
-admin email addresses (comma-separated) to be notified about the blocking 
(empty for no notify)        admin   ja      
¥Ö¥í¥Ã¥­¥ó¥°ÄÌÃΤò¹Ô¤¦´ÉÍý¼Ô¥á¡¼¥ë¥¢¥É¥ì¥¹¡ÊÊ£¿ô»ØÄê¤Ï¥«¥ó¥Þ¶èÀڤꡢ¶õÍó¤ÏÈóÄÌÃΡË
 admin name     admin   ja      ´ÉÍý¼Ô̾
-administration common  ja      ´Ä¶­ÀßÄê
-admins admin   ja      ´ÉÍý¼Ô
-after how many unsuccessful attempts to login, an account should be blocked 
(default 3) ?      admin   ja      
¥¢¥«¥¦¥ó¥ÈÉÔÀµ¤È¤ß¤Ê¤µ¤ì¤ë¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¡Ê¥Ç¥Õ¥©¥ë¥È3²ó¡Ë
-after how many unsuccessful attempts to login, an ip should be blocked 
(default 3) ?   admin   ja      
IP¥¢¥É¥ì¥¹ÉÔÀµ¤È¤ß¤Ê¤µ¤ì¤ë¥í¥°¥¤¥ó¼ºÇÔ²ó¿ô¡Ê¥Ç¥Õ¥©¥ë¥È3²ó¡Ë
 all records and account information will be lost!      admin   ja      
¤¹¤Ù¤Æ¤Î¥ì¥³¡¼¥É¤È¥¢¥«¥¦¥ó¥È¾ðÊ󤬼º¤ï¤ì¤Þ¤¹¡£
-all users      admin   ja      Á´¤Æ¤Î¥æ¡¼¥¶¡¼
-allow anonymous access to this app     admin   ja      ƿ̾¥æ¡¼¥¶¡¼¤Ø¤Îµö²Ä
-anonymous user admin   ja      ƿ̾¥æ¡¼¥¶¡¼
-anonymous user (not shown in list sessions)    admin   ja      
ƿ̾¥æ¡¼¥¶¡¼<br>¡Ê¥»¥Ã¥·¥ç¥ó°ìÍ÷¤Ëɽ¼¨¤·¤Ê¤¤¡Ë
-appearance     admin   ja      ³°´Ñ
-application    admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
+all users      admin   ja      Á´¤Æ¤Î¥æ¡¼¥¶
+allow anonymous access to this app     admin   ja      ƿ̾¥æ¡¼¥¶¤Ø¤Îµö²Ä
+anonymous user admin   ja      ƿ̾¥æ¡¼¥¶
+applications list      admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¹àÌÜÁ´ÂÎ
 application name       admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾
 application title      admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¿¥¤¥È¥ë
 applications   admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-applications list      admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó°ìÍ÷
-apps   admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-are you sure you want to delete the application %1 ?   admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó%1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
-are you sure you want to delete this account ? admin   ja      
¤³¤Î¥¢¥«¥¦¥ó¥È¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
+are you sure you want to delete this account ? admin   ja      
¤³¤Î¥¢¥«¥¦¥ó¥È¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡£
 are you sure you want to delete this application ?     admin   ja      
¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡£
-are you sure you want to delete this category ?        common  ja      
¤³¤Î¥«¥Æ¥´¥ê¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
-are you sure you want to delete this group ?   admin   ja      
¤³¤Î¥°¥ë¡¼¥×¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
-are you sure you want to delete this server?   admin   ja      
¤³¤Î¥µ¡¼¥Ð¡¼¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
-are you sure you want to kill this session ?   admin   ja      
¤³¤Î¥»¥Ã¥·¥ç¥ó¤òÀÚÃǤ·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
-async services last executed   admin   ja      ÈóƱ´ü¥µ¡¼¥Ó¥¹ºÇ½ª¼Â¹ÔÆü»þ
-asynchronous timed services    admin   ja      ÈóƱ´ü¥µ¡¼¥Ó¥¹
-asyncservices not yet installed or other error (%1) !!!        admin   ja      
ÈóƱ´ü¥µ¡¼¥Ó¥¹¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«°¿¤¤¤Ï¤½¤Î¾¡Ê%1¡Ë¤Î¥¨¥é¡¼¤Ç¤¹¡£
-attempt to use correct mimetype for ftp instead of default 
'application/octet-stream'  admin   ja      
¥Ç¥Õ¥©¥ë¥È¤Î'application/octet-stream'¤ÎÂå¤ï¤ê¤ËFTPÍѤÎÀµ¤·¤¤MIME¥¿¥¤¥×¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»î¤·¤Æ¤¯¤À¤µ¤¤
-authentication / accounts      admin   ja      ǧ¾Ú / ¥¢¥«¥¦¥ó¥È
-auto create account records for authenticated users    admin   ja      
ǧ¾ÚºÑ¥æ¡¼¥¶¡¼¤Î¥¢¥«¥¦¥ó¥È¥ì¥³¡¼¥É¤ò¼«Æ°ºîÀ®
+are you sure you want to delete this group ?   admin   ja      
¤³¤Î¥°¥ë¡¼¥×¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡£
+are you sure you want to delete this server?   admin   ja      
¤³¤Î¥µ¡¼¥Ð¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡£
+are you sure you want to kill this session ?   admin   ja      
¤³¤Î¥»¥Ã¥·¥ç¥ó¤òÀÚÃǤ·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡£
 back   admin   ja      Ìá¤ë
-bi-dir passthrough     admin   ja      ÁÐÊý¸þ¥Ñ¥¹¥¹¥ë¡¼
 bi-directional admin   ja      ÁÐÊý¸þ
-bottom admin   ja      ²¼Éô
-calculate next run     admin   ja      ¼¡²ó¼Â¹ÔÆü»þ¤ò¼èÆÀ
-can change password    admin   ja      ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹²Äǽ
-cancel testjob!        admin   ja      ¥Æ¥¹¥È¥¸¥ç¥ÖÃæÃÇ
-categories list        admin   ja      ¥«¥Æ¥´¥ê°ìÍ÷
-category list  admin   ja      ¥«¥Æ¥´¥ê°ìÍ÷
-change acl rights      admin   ja      ÍøÍѵö²Ä(ACL)Êѹ¹
-change config settings admin   ja      ´Ä¶­ÀßÄêÊѹ¹
+bi-dir passthrough     admin   ja      ÁÐÊý¸þ¥Ñ¥¹¥¹¥ë¡¼
+categories list        admin   ja      ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥ê¹àÌÜÁ´ÂÎ
 change main screen message     admin   ja      ¥á¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸Êѹ¹
+change config settings admin   ja      ´Ä¶­ÀßÄêÊѹ¹
 check ip address of all sessions       admin   ja      Á´¤Æ¤Î¥»¥Ã¥·¥ç¥ó¤Ç IP 
¥¢¥É¥ì¥¹¤Î¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
-check items to <b>%1</b> to %2 for %3  admin   ja      %3(%2)¤ËÂФ¹¤ë 
<b>%1</b> ¤Î¹àÌܤò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤
+check items to <b>%1</b> to %2 for %3  admin   ja      %3(%2)¤ËÂФ¹¤ë 
<b>%1</b> ¤Î¹àÌܤò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡¥
 city   admin   ja      »Ô¶èĮ¼
 country selection      admin   ja      ¹ñ¤ÎÁªÂò
 create group   admin   ja      ¥°¥ë¡¼¥×ºîÀ®
-crontab only (recomended)      admin   ja      crontab¤Î¤ß¡Ê¿ä¾©¡Ë
-data   admin   ja      ¥Ç¡¼¥¿
-day    admin   ja      Æü
-day of week<br>(0-6, 0=sun)    admin   ja      ÍËÆü<br>¡Ê0¡Ý6, 0=ÆüÍË¡Ë
-debug  admin   ja      ¥Ç¥Ð¥Ã¥°
-default        admin   ja      ¥Ç¥Õ¥©¥ë¥È
 default category       admin   ja      ´ûÄê¤Î¥«¥Æ¥´¥ê
-default file system space per user     admin   ja      
¥æ¡¼¥¶¡¼Ëè¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÎΰè¡Ê¥Ç¥Õ¥©¥ë¥È¡Ë
-default file system space per user/group ?     admin   ja      
¥æ¡¼¥¶¡¼/¥°¥ë¡¼¥×Ëè¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÎΰè¡Ê¥Ç¥Õ¥©¥ë¥È¡Ë
 delete account admin   ja      ¥¢¥«¥¦¥ó¥Èºï½ü
-delete all log records admin   ja      Á´¥ì¥³¡¼¥Éºï½ü
-delete all log records for     admin   ja      Á´¥ì¥³¡¼¥Éºï½ü¡Ý
-delete all records     admin   ja      Á´¥ì¥³¡¼¥Éºï½ü
+delete all records     admin   ja      ºï½ü¤¹¤ë
 delete application     admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥óºï½ü
 delete category        admin   ja      ¥«¥Æ¥´¥êºï½ü
 delete group   admin   ja      ¥°¥ë¡¼¥×ºï½ü
-delete peer server     admin   ja      ÂÐÅù¥µ¡¼¥Ð¡¼ºï½ü
-deny access to access log      admin   ja      
<b>¥¢¥¯¥»¥¹¡¦¥í¥°</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to application registery   admin   ja      
<b>Á´¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Õ¥Ã¥¯µ¡Ç½¤Î¸¡º÷µÚ¤ÓÅÐÏ¿</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to applications    admin   ja      
<b>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to asynchronous timed services     admin   ja      
<b>ÈóƱ´ü¥µ¡¼¥Ó¥¹</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to current sessions        admin   ja      
<b>¥»¥Ã¥·¥ç¥ó»²¾È</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to error log       admin   ja      
<b>¥¨¥é¡¼¥í¥°»²¾È</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to global categories       admin   ja      
<b>¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥ê</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to groups  admin   ja      <b>¥æ¡¼¥¶¡¼¥°¥ë¡¼¥×</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to mainscreen message      admin   ja      
<b>¥á¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸Êѹ¹</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to peer servers    admin   ja      
<b>ÂÐÅù¥µ¡¼¥Ð¡¼</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to phpinfo admin   ja      
<b>PHP¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to session log     admin   ja      
<b>¥¢¥¯¥»¥¹¥í¥°»²¾È</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to site configuration      admin   ja      
<b>¥µ¥¤¥È´Ä¶­ÀßÄê</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny access to user accounts   admin   ja      
<b>¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È</b>¤Î¥¢¥¯¥»¥¹À©¸Â
-deny all users access to grant other users access to their entries ?   admin   
ja      ¾¤Î¥æ¡¼¥¶¡¼¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤òÁ´¤Æ¤Î¥æ¡¼¥¶¡¼¤Ëµö²Ä¤·¤Ê¤¤
-description can not exceed 255 characters in length !  admin   ja      
£²£µ£µÊ¸»ú¤òĶ¤¨¤ëµ­½Ò¤Ï¤Ç¤­¤Þ¤»¤ó
-disable "auto completion" of the login form    admin   ja      
¥í¥°¥¤¥ó²èÌ̤μ«Æ°Êä´°µ¡Ç½¤ò̵¸ú
+delete peer server     admin   ja      ÂÐÅù¥µ¡¼¥Ðºï½ü
+deny all users access to grant other users access to their entries ?   admin   
ja      ¾¤Î¥æ¡¼¥¶¾ðÊó¤Ø¤Î¥¢¥¯¥»¥¹¤òÁ´¤Æ¤Î¥æ¡¼¥¶¤Ëµö²Ä¤·¤Ê¤¤
+deny access to user accounts   admin   ja      ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤ÎÀ©¸Â
+deny access to groups  admin   ja      ¥æ¡¼¥¶¥°¥ë¡¼¥×¤ÎÀ©¸Â
+deny access to peer servers    admin   ja      ÂÐÅù¥µ¡¼¥Ð¤ÎÀ©¸Â
+deny access to applications    admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÀ©¸Â
+deny access to global categories       admin   ja      ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥ê¤ÎÀ©¸Â
+deny access to mainscreen message      admin   ja      
¥á¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸Êѹ¹¤ÎÀ©¸Â
+deny access to current sessions        admin   ja      ¥»¥Ã¥·¥ç¥ó¤ÎÀ©¸Â
+deny access to site configuration      admin   ja      ¥µ¥¤¥È´Ä¶­ÀßÄê¤ÎÀ©¸Â
 disabled       admin   ja      ÉÔ²Ä
-disabled (not recomended)      admin   ja      ̵¸ú¡ÊÈó¿ä¾©¡Ë
 display        admin   ja      ɽ¼¨
-do you also want to delete all global subcategories ?  admin   ja      
Á´¤Æ¤Î¥°¥í¡¼¥Ð¥ë¡¦¥µ¥Ö¥«¥Æ¥´¥ê¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
-edit account   admin   ja      ¥¢¥«¥¦¥ó¥ÈÊÔ½¸
-edit addressmaster list        admin   ja      ¥¢¥É¥ì¥¹´ÉÍý¼Ô¥ê¥¹¥ÈÊÔ½¸
-edit application       admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÊÔ½¸
-edit entry     admin   ja      ¥¨¥ó¥È¥ê¡¼ÊÔ½¸
-edit global category   admin   ja      ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥êÊÔ½¸
-edit global category for %1    admin   ja      %1ÍÑ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥êÊÔ½¸
-edit group     admin   ja      ¥°¥ë¡¼¥×ÊÔ½¸
-edit log levels        admin   ja      ¥í¥°¥ì¥Ù¥ëÊÔ½¸
-edit login screen message      admin   ja      ¥í¥°¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸ÊÔ½¸
-edit main screen message       admin   ja      ¥á¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸ÊÔ½¸
-edit peer server       admin   ja      ÂÐÅù¥µ¡¼¥Ð¡¼ÊÔ½¸
-edit quota     admin   ja      ¥¯¥©¡¼¥¿ÊÔ½¸
-edit table format      admin   ja      ¥Æ¡¼¥Ö¥ë¥Õ¥©¡¼¥Þ¥Ã¥ÈÊÔ½¸
-edit user account      admin   ja      ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥ÈÊÔ½¸
-email settings admin   ja      ÅŻҥ᡼¥ëÀßÄê
-enable debug-messages  admin   ja      ¥Ç¥Ð¥Ã¥°¡¦¥á¥Ã¥»¡¼¥¸Í­¸ú
-enabled        admin   ja      Í­¸ú
-enabled - hidden from navbar   admin   ja      Í­¸ú - ¥Ê¥Ó¥²¡¼¥·¥ç¥óÈóɽ¼¨
-enter some random text for app_session <br>encryption (requires mcrypt)        
admin   ja      
app_session°Å¹æÍѤ˥é¥ó¥À¥à¤Ê¥Æ¥­¥¹¥È¤òŬÅö¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡ÊÍ× mcrypt³ÈÄ¥¡Ë
-enter the background color for the login page  admin   ja      
¥í¥°¥¤¥ó²èÌ̤ÎÇØ·Ê¿§
-enter the background color for the site title  admin   ja      
¥µ¥¤¥È¡¦¥¿¥¤¥È¥ëÎΰè¤ÎÇØ·Ê¿§
-enter the file name of your logo       admin   ja      ¥í¥´¤Î¥Õ¥¡¥¤¥ë̾
-enter the full path for temporary files.<br>examples: /tmp, c:\temp    admin   
ja      
°ì»þ¥Õ¥¡¥¤¥ëÍѥǥ£¥ì¥¯¥È¥ê¤ò¥Õ¥ë¥Ñ¥¹¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤<br>¡ÊÎã¡Ë¡§/tmp,C:\TEMP
-enter the full path for users and group files.<br>examples: /files, e:\files   
admin   ja      
¥æ¡¼¥¶¡¼¥Õ¥¡¥¤¥ëµÚ¤Ó¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ëÍѥǥ£¥ì¥¯¥È¥ê¤ò¥Õ¥ë¥Ñ¥¹¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤<br>¡ÊÎã¡Ë¡§/files,E:\FILES
-enter the hostname of the machine on which this server is running      admin   
ja      phpGroupWare¤¬²ÔÆ°¤·¤Æ¤¤¤ë¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
-enter the location of phpgroupware's url.<br>example: 
http://www.domain.com/phpgroupware &nbsp; or &nbsp; /phpgroupware<br><b>no 
trailing slash</b>    admin   ja      
phpGroupWare¤ÎURL¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤<br>(Îã¡Ë¡§http://www.domain.com/phpgroupware
 &nbsp; or /phpgroupware<br><b>ËöÈø¤Ë¥¹¥é¥Ã¥·¥å(/)¤ò¤Ä¤±¤Ê¤¤¤³¤È</b>
-enter the site password for peer servers       admin   ja      
ƱÅù¥µ¡¼¥Ð¡¼¤Î¥Ñ¥¹¥ï¡¼¥É
-enter the site username for peer servers       admin   ja      
ƱÅù¥µ¡¼¥Ð¡¼¤Î¥æ¡¼¥¶¡¼Ì¾
+edit account   admin   ja      ¥¢¥«¥¦¥ó¥ÈÄûÀµ
+edit application       admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÄûÀµ
+edit global category   admin   ja      ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥êÄûÀµ
+edit group     admin   ja      ¥°¥ë¡¼¥×ÄûÀµ
+edit login screen message      admin   ja      ¥í¥°¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸ÄûÀµ
+edit main screen message       admin   ja      ¥á¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸ÄûÀµ
+edit peer server       admin   ja      ÂÐÅù¥µ¡¼¥ÐÄûÀµ
+edit table format      admin   ja      ¥Æ¡¼¥Ö¥ë¥Õ¥©¡¼¥Þ¥Ã¥ÈÄûÀµ
+edit user account      admin   ja      ¥¢¥«¥¦¥ó¥ÈÄûÀµ
+enabled        admin   ja      ²Äǽ
+enabled - hidden from navbar   admin   ja      ²Äǽ - ¥Ê¥Ó¥²¡¼¥·¥ç¥óÈóɽ¼¨
+enter the site username for peer servers       admin   ja      
ƱÅù¥µ¡¼¥Ð¤Î¥æ¡¼¥¶Ì¾
+enter the site password for peer servers       admin   ja      
ƱÅù¥µ¡¼¥Ð¤Î¥Ñ¥¹¥ï¡¼¥É
 enter the title for your site  admin   ja      ¥¿¥¤¥È¥ë̾
-enter the title of your logo   admin   ja      ¥í¥´¤Î¥¿¥¤¥È¥ë
-enter the url where your logo should link to   admin   ja      
¥í¥´¤Î¥ê¥ó¥¯ÀèURL
-enter your default ftp server  admin   ja      ¥Ç¥Õ¥©¥ë¥ÈFTP¥µ¡¼¥Ð¡¼Ì¾
-enter your http proxy server   admin   ja      HTTP¥×¥í¥­¥·¥µ¡¼¥Ð¡¼Ì¾
-enter your http proxy server port      admin   ja      
HTTP¥×¥í¥­¥·¥µ¡¼¥Ð¡¼¤Î¥Ý¡¼¥ÈÈÖ¹æ
-error canceling timer, maybe there's none set !!!      admin   ja      
¥¿¥¤¥Þ¡¼ÃæÃÇ¥¨¥é¡¼¤Ç¤¹¡ÊÃͤ¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤°Ù¤È»×¤ï¤ì¤Þ¤¹¡Ë¡£
-error log      admin   ja      ¥¨¥é¡¼¥í¥°
-error setting timer, wrong syntax or maybe there's one already running !!!     
admin   ja      ¥¿¥¤¥Þ¡¼ÀßÄꥨ¥é¡¼¡¢¥·¥ó¥¿¥Ã¥¯¥¹ÉÔÀµ¤¢¤ë¤¤¤Ï´û¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤¹
-error: %1 not found or other error !!! admin   ja      
¥¨¥é¡¼¡§%1¤¬Â¸ºß¤·¤Ê¤¤¤«¤Þ¤¿¤Ï¾¤Î¥¨¥é¡¼¤Ç¤¹
+email settings admin   ja      ÅŻҥ᡼¥ëÀßÄê
 expires        admin   ja      Í­¸ú´ü¸Â
-fallback (after each pageview) admin   ja      fallback¡Ê³Æ¥Ú¡¼¥¸É½¼¨¸å¡Ë
-fatal  admin   ja      Ã×̿Ū
-file   admin   ja      ¥Õ¥¡¥¤¥ë
-file space     admin   ja      ¥Õ¥¡¥¤¥ëÎΰè
-file space must be an integer  admin   ja      
¥Õ¥¡¥¤¥ëÎΰè¤ÏÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
-find and register all application hooks        admin   ja      
Á´¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Õ¥Ã¥¯µ¡Ç½¤Î¸¡º÷µÚ¤ÓÅÐÏ¿
-for    admin   ja      
-for the times above    admin   ja      ¾åµ­crontabÀßÄêÃͤǡ¢¥¸¥ç¥Ö¤ò¼Â¹Ô¤·¤Þ¤¹
-for the times below (empty values count as '*', all empty = every minute)      
admin   ja      
²¼µ­»þ¹ï¤Çcrontab¤ò¥»¥Ã¥È¤·¤Þ¤¹¡Ê¶õÍó¤Î¾ì¹ç¤Ï'*'¤Ç¡¢Á´¤Æ¶õÍó¤Î¾ì¹ç¤ÏËèʬ¤ò°ÕÌ£¤·¤Þ¤¹¡Ë
 force selectbox        admin   ja      ¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹
 forecast       admin   ja      Å·µ¤Í½Êó
 forecast zone  admin   ja      Å·µ¤Í½Êó
 fzone  admin   ja      fzone
 global categories      admin   ja      ¥°¥í¡¼¥Ð¥ë¥«¥Æ¥´¥ê
-global logging level   admin   ja      °ìÈÌ¥í¥°¥ì¥Ù¥ë
-group has been added   common  ja      ¥°¥ë¡¼¥×¤òÄɲä·¤Þ¤·¤¿
-group has been deleted common  ja      ¥°¥ë¡¼¥×¤òºï½ü¤·¤Þ¤·¤¿
-group has been updated common  ja      ¥°¥ë¡¼¥×¤ò¹¹¿·¤·¤Þ¤·¤¿
-group list     admin   ja      ¥æ¡¼¥¶¡¼¥°¥ë¡¼¥×°ìÍ÷
-group manager  admin   ja      ¥°¥ë¡¼¥×´ÉÍý¼Ô
+group list     admin   ja      ¥æ¡¼¥¶¥°¥ë¡¼¥×¹àÌÜÁ´ÂÎ
 group name     admin   ja      ¥°¥ë¡¼¥×̾
 hide php information   admin   ja      PHP¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó¤òÊĤ¸¤ë
-home directory admin   ja      ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê
-host information       admin   ja      ¥Û¥¹¥È¾ðÊó
-hour<br>(0-23) admin   ja      »þ´Ö<br>¡Ê0¡Ý23¡Ë
-how many days should entries stay in the access log, before they get deleted 
(default 90) ?    admin   ja      
¥¢¥¯¥»¥¹¥í¥°Í­¸úÂںߴü´Ö¡Ê¥Ç¥Õ¥©¥ë¥È90Æü¡Ë<br>»ØÄꤷ¤¿Æü¿ô°ÊÁ°¤Î¥í¥°¤Ïºï½ü¤µ¤ì¤Þ¤¹
-how many minutes should an account or ip be blocked (default 30) ?     admin   
ja      
ÉÔÀµ¤È¤ß¤Ê¤µ¤ì¤¿¥¢¥«¥¦¥ó¥È¤Þ¤¿¤ÏIP¥¢¥É¥ì¥¹¤Î¥Ö¥í¥Ã¥¯·Ñ³»þ´Ö¡Ê¥Ç¥Õ¥©¥ë¥È30ʬ¡Ë
+home directory admin   ja      home directory  
 id     admin   ja      ID
 idle   admin   ja      ¥¢¥¤¥É¥ë
-if using ldap, do you want to manage homedirectory and loginshell attributes?  
admin   ja      
LDAP»ÈÍÑ»þ¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤È¥í¥°¥¤¥ó¥·¥§¥ë°À­¤ò´ÉÍý¤·¤Þ¤¹¤«¡©
 inbound        admin   ja      Æâ¸þ¤­
-info   admin   ja      ¾ðÊó
-install crontab        admin   ja      crontab¥¤¥ó¥¹¥È¡¼¥ë
-installed applications common  ja      ¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-installed crontab      admin   ja      ¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ßcrontab
+installed applications common  ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó°ìÍ÷
 interface      admin   ja      ¥¤¥ó¥¿¥Õ¥§¡¼¥¹
 ip     admin   ja      IP
-jobs   admin   ja      ¥¸¥ç¥Ö
 kill   admin   ja      ÀÚÃÇ
 kill session   admin   ja      ¥»¥Ã¥·¥ç¥óÀÚÃÇ
 language       admin   ja      ¸À¸ì
-last %1 logins admin   ja      ºÇ¶á %1 ²ó¤Î¥í¥°¥¤¥ó¾ðÊó
-last %1 logins for %2  admin   ja      %2 ¤ÎºÇ¶á  %1 ²ó¤Î¥í¥°¥¤¥ó¾ðÊó
 last login     admin   ja      ºÇ½ª¥í¥°¥¤¥ó
 last login from        admin   ja      ºÇ½ª¥í¥°¥¤¥óIP
-last time read admin   ja      ºÇ½ª±ÜÍ÷»þ´Ö
-ldap accounts context  admin   ja      LDAP¥¢¥«¥¦¥ó¥È¡¦¥³¥ó¥Æ¥­¥¹¥È
-ldap default homedirectory prefix (e.g. /home for /home/username)      admin   
ja      LDAP¥Ç¥Õ¥©¥ë¥È¡¦¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡ÊÎã /home/username¤Î¾ì¹ç¡¢/home¡Ë
-ldap default shell (e.g. /bin/bash)    admin   ja      
LDAP¥Ç¥Õ¥©¥ë¥È¡¦¥·¥§¥ë¡ÊÎã /bin/bash¡Ë
-ldap encryption type   admin   ja      LDAP°Å¹æ¥¿¥¤¥×
-ldap groups context    admin   ja      LDAP¥°¥ë¡¼¥×¡¦¥³¥ó¥Æ¥­¥¹¥È
-ldap host      admin   ja      LDAP¥Û¥¹¥È̾
-ldap root password     admin   ja      LDAP root¥Ñ¥¹¥ï¡¼¥É
-ldap rootdn    admin   ja      LDAP rootdn
-line   admin   ja      ¹ÔÈÖ¹æ
-list addressmasters    admin   ja      ¥¢¥É¥ì¥¹´ÉÍý¼Ô¥ê¥¹¥È
+last time read admin   ja      Last Time Read
+last %1 logins admin   ja      ²áµî %1 ¤Î¥í¥°¥¤¥ó
 list config settings   admin   ja      ´Ä¶­ÀßÄê¹àÌܤÎɽ¼¨
 list current sessions  admin   ja      ¥»¥Ã¥·¥ç¥ó»²¾È¹àÌÜÁ´ÂÎ
-list of current users  admin   ja      ¥í¥°¥¤¥óÃæ¥æ¡¼¥¶¡¼°ìÍ÷
-log message    admin   ja      ¥í¥°¡¦¥á¥Ã¥»¡¼¥¸
-login  admin   ja      ¥í¥°¥¤¥ó
+list of current users  admin   ja      ¥í¥°¥¤¥óÃæ¥æ¡¼¥¶°ìÍ÷
 login history  admin   ja      ¥í¥°¥¤¥óÍúÎò
 login message  admin   ja      ¥í¥°¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸
 login screen   admin   ja      ¥í¥°¥¤¥ó²èÌÌ
@@ -223,171 +106,96 @@
 loginid        admin   ja      ¥í¥°¥¤¥óID
 main screen message    admin   ja      ¥á¥¤¥ó²èÌÌ¥á¥Ã¥»¡¼¥¸
 manager        admin   ja      ´ÉÍý¼Ô
-maximum account id (e.g. 65535 or 1000000)     admin   ja      
ºÇÂ祢¥«¥¦¥ó¥ÈID ¡ÊÎã 65535 ¤¢¤ë¤¤¤Ï 1000000¡Ë
-maximum entries in click path history  admin   ja      
¥¯¥ê¥Ã¥¯¤·¤¿URL¥Ñ¥¹ÍúÎò¤ÎºÇÂçÊÝ»ý¿ô
 message has been updated       admin   ja      ¥á¥Ã¥»¡¼¥¸¤òÊѹ¹¤·¤Þ¤·¤¿¡£
 metar  admin   ja      M
-method admin   ja      ¥á¥½¥Ã¥É
-minimum account id (e.g. 500 or 100, etc.)     admin   ja      
ºÇ¾®¥¢¥«¥¦¥ó¥ÈID ¡ÊÎã 500 ¤¢¤ë¤¤¤Ï 100¡Ë
-minute admin   ja      ʬ
 mode   admin   ja      ¥â¡¼¥É
-module admin   ja      ¥â¥¸¥å¡¼¥ë
-module logging levels  admin   ja      ¥â¥¸¥å¡¼¥ëÊÌ¥í¥°¥ì¥Ù¥ë
-month  admin   ja      ·î
 never  admin   ja      ̤
 new group name admin   ja      ¿·¥°¥ë¡¼¥×̾
-new password [ leave blank for no change ]     admin   ja      ¿·¥Ñ¥¹¥ï¡¼¥É [ 
Êѹ¹¤·¤Ê¤¤¾ì¹ç¤Ï¶õÍó]
-next run       admin   ja      ¼¡²ó¼Â¹Ô
-no algorithms available        admin   ja      Í­¸ú¤Ê¥¢¥ë¥´¥ê¥º¥à¤Ï¤¢¤ê¤Þ¤»¤ó
-no error log records exist for this user       admin   ja      
¤³¤Î¥æ¡¼¥¶¡¼¤Î¥¨¥é¡¼¥í¥°Ž¥¥Ç¡¼¥¿¤Ï¸ºß¤·¤Þ¤»¤ó
-no jobs in the database !!!    admin   ja      ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¸¥ç¥Ö¤¬¤¢¤ê¤Þ¤»¤ó
-no login history exists for this user  admin   ja      
¤³¤Î¥æ¡¼¥¶¡¼¤Î¥í¥°¥¤¥óÍúÎò¤Ï¸ºß¤·¤Þ¤»¤ó
+new password [ leave blank for no change ]     admin   ja      ¿·¥Ñ¥¹¥ï¡¼¥É [ 
Leave blank for no change ]
 no matches found       admin   ja      ¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£
-no modes available     admin   ja      Í­¸ú¤Ê¥â¡¼¥É¤Ï¤¢¤ê¤Þ¤»¤ó
-note: ssl available only if php is compiled with curl support  admin   ja      
È÷¹Í:PHP¤¬curl¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¸Â¤êSSLÍøÍѲÄ
+note: ssl available only if php is compiled with curl support  admin   ja      
È÷¹Í:PHP¤¬curl¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËSSLÍøÍѲÄ
 outbound       admin   ja      ³°¸þ¤­
 passthrough    admin   ja      ¥Ñ¥¹¥¹¥ë¡¼
-path information       admin   ja      ¥Ñ¥¹¾ðÊó
-peer server list       admin   ja      ÂÐÅù¥µ¡¼¥Ð¡¼°ìÍ÷
-peer servers   admin   ja      ÂÐÅù¥µ¡¼¥Ð¡¼
-percent of users that logged out       admin   ja      ¥æ¡¼¥¶¡¼¤Î¥í¥°¥¢¥¦¥ÈΨ
-percent this user has logged out       admin   ja      
¤³¤Î¥æ¡¼¥¶¡¼¤Î¥í¥°¥¢¥¦¥ÈΨ
+peer servers   admin   ja      ÂÐÅù¥µ¡¼¥Ð
+peer server list       admin   ja      ÂÐÅù¥µ¡¼¥Ð¹àÌÜÁ´ÂÎ
+percent of users that logged out       admin   ja      ¥æ¡¼¥¶¤Î¥í¥°¥¢¥¦¥ÈΨ
 permissions    admin   ja      ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó
 permissions this group has     admin   ja      ÍøÍѲÄǽ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-permissions this user has      admin   ja      ÍøÍѲÄǽ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
 php information        admin   ja      PHP¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó
-phpgroupware administration application        about   ja      
phpGroupWare´ÉÍýÍÑ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
 phpinfo        admin   ja      PHP¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó
-please choose at least one addressmaster       admin   ja      
¾¯¤Ê¤¯¤È¤â£±¤Ä¤Ï¥¢¥É¥ì¥¹´ÉÍý¼Ô¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤
 please enter a name    admin   ja      ̾Á°¤òÆþÎϤ·¤Æ²¼¤µ¤¤
-please enter a name for that server !  admin   ja      
¥µ¡¼¥Ð¡¼Ì¾¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
-please run setup to become current     admin   ja      
ºÇ¿·¤Ë¤Ê¤ë¤è¤¦¤Ë¥»¥Ã¥È¥¢¥Ã¥×¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤
 please select  admin   ja      ÁªÂò¤·¤Æ²¼¤µ¤¤
-preferences    admin   ja      ¥æ¡¼¥¶¡¼ÀßÄê
 re-enter password      admin   ja      ¥Ñ¥¹¥ï¡¼¥ÉºÆÆþÎÏ
-read this list of methods.     admin   ja      ¥á¥½¥Ã¥É°ìÍ÷¤ò±ÜÍ÷
 region admin   ja      ÃÏ°è
 regions        admin   ja      ÃÏ°è
-register application hooks     admin   ja      ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥Õ¥Ã¥¯ÅÐÏ¿
-register applications  admin   ja      
Á´¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Õ¥Ã¥¯µ¡Ç½¤Î¸¡º÷µÚ¤ÓÅÐÏ¿¤Îɽ¼¨
-remove admin   ja      ºï½ü
-remove all users from this group       admin   ja      
¤³¤Î¥°¥ë¡¼¥×¤«¤éÁ´¥æ¡¼¥¶¡¼¤òºï½ü¤·¤Þ¤¹¡£
-return to view account admin   ja      ¥¢¥«¥¦¥ó¥Èɽ¼¨¤ËÌá¤ë
-run asynchronous services      admin   ja      ÈóƱ´ü¥µ¡¼¥Ó¥¹¼Â¹Ô
+remove all users from this group       admin   ja      
¤³¤Î¥°¥ë¡¼¥×¤ÎÁ´¤Æ¤Î¥æ¡¼¥¶¤òºï½ü¤·¤Þ¤¹¡£
 search accounts        admin   ja      ¥¢¥«¥¦¥ó¥È¸¡º÷
 search categories      admin   ja      ¥«¥Æ¥´¥ê¸¡º÷
 search groups  admin   ja      ¥°¥ë¡¼¥×¸¡º÷
-search peer servers    admin   ja      ÂÐÅù¥µ¡¼¥Ð¡¼¸¡º÷
+search peer servers    admin   ja      ÂÐÅù¥µ¡¼¥Ð¸¡º÷
 section        admin   ja      ɽ¼¨¾ì½ê
 security       admin   ja      ¥»¥­¥å¥ê¥Æ¥£
-select addressmasters  admin   ja      ¥¢¥É¥ì¥¹´ÉÍý¼Ô¤ÎÁªÂò
-select group managers  admin   ja      ¥°¥ë¡¼¥×´ÉÍý¼Ô¤ÎÁªÂò
-select groups  admin   ja      ¥°¥ë¡¼¥×ÁªÂò
+selectbox      admin   ja      ¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹
 select permissions this group will have        admin   ja      
ÍøÍѲÄǽ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-select users   admin   ja      ¥æ¡¼¥¶¡¼ÁªÂò
-select users for inclusion     admin   ja      ½ê°¥æ¡¼¥¶¡¼
-select where you want to store/retrieve filesystem information admin   ja      
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾ðÊó¤ÎÊÝ»ý / ¸¡º÷¤ËÍøÍѤ¹¤ë¥¹¥È¥ì¡¼¥¸¤òÁªÂò
-select where you want to store/retrieve user accounts  admin   ja      
¥¢¥«¥¦¥ó¥È¾ðÊó¤ÎÊÝ»ý / ¸¡º÷¤ËÍøÍѤ¹¤ë¥¹¥È¥ì¡¼¥¸¤òÁªÂò
+select users for inclusion     admin   ja      ½ê°¤¹¤ë¥æ¡¼¥¶
 select which location this app should appear on the navbar, lowest (left) to 
highest (right)   admin   ja      
¥Ê¥Ó¥²¡¼¥·¥ç¥ó¥Ð¡¼¤Î°ÌÃÖ¡Ê¿ô¤¬¾®¤µ¤¤¤Èº¸¤ËÇÛÃÖ¡Ë
-selectbox      admin   ja      ¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹
-server %1 has been updated     admin   ja      ¥µ¡¼¥Ð¡¼¡Ê%1¡Ë¤ò¹¹¿·¤·¤Þ¤·¤¿
-server list    admin   ja      ¥µ¡¼¥Ð¡¼°ìÍ÷
 server name    admin   ja      ¥µ¡¼¥Ð̾
-server password        admin   ja      ¥µ¡¼¥Ð¡¼¥Ñ¥¹¥ï¡¼¥É
-server type(mode)      admin   ja      ¥µ¡¼¥Ð¡¼¥¿¥¤¥×(¥â¡¼¥É)
-server url     admin   ja      ¥µ¡¼¥Ð¡¼URL
-server username        admin   ja      ¥µ¡¼¥Ð¡¼¥æ¡¼¥¶¡¼Ì¾
-set logging levels     admin   ja      ¥í¥°¥ì¥Ù¥ëÀßÄê
-set preference values. admin   ja      ¥×¥ì¥Õ¥¡¥ì¥ó¥¹ÃͤòÀßÄê
-severity       admin   ja      ´Æ»ë¥ì¥Ù¥ë
-show 'powered by' logo on      admin   ja      powered by ¥í¥´É½¼¨°ÌÃÖ
-show access log        admin   ja      ¥¢¥¯¥»¥¹¥í¥°É½¼¨
+server password        admin   ja      ¥µ¡¼¥Ð¥Ñ¥¹¥ï¡¼¥É
+server type(mode)      admin   ja      ¥µ¡¼¥Ð¥¿¥¤¥×(¥â¡¼¥É)
+server url     admin   ja      ¥µ¡¼¥ÐURL
+server username        admin   ja      ¥µ¡¼¥Ð¥æ¡¼¥¶Ì¾
 show current action    admin   ja      ¥¢¥¯¥·¥ç¥ó¹àÌÜɽ¼¨
-show error log admin   ja      ¥¨¥é¡¼¥í¥°»²¾È¤Îɽ¼¨
-show phpinfo() admin   ja      PHP¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó¤Îɽ¼¨
+show 'powered by' logo on      admin   ja      powered by ¥í¥´É½¼¨°ÌÃÖ
 show session ip address        admin   ja      IP¥¢¥É¥ì¥¹É½¼¨
-show session log       admin   ja      ¥¢¥¯¥»¥¹¥í¥°»²¾È¤Îɽ¼¨
-site   admin   ja      ¥µ¥¤¥È
+site   admin   ja      Site
 site configuration     admin   ja      ¥µ¥¤¥È´Ä¶­ÀßÄê
 soap   admin   ja      SOAP
-sorry, that group name has already been taken. admin   ja      
¤½¤Î¥°¥ë¡¼¥×̾¤Ï´û¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹
 sorry, that group name has already been taking.        admin   ja      
¥°¥ë¡¼¥×̾¤Ï´û¤Ë¸ºß¤·¤Þ¤¹¡£
-sorry, the above users are still a member of the group %1      admin   ja      
¾åµ­¥æ¡¼¥¶¡¼¤Ï¡¢´û¤Ë¥°¥ë¡¼¥×¡Ê%1¡Ë¤Î¥á¥ó¥Ð¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹
 sorry, the follow users are still a member of the group %1     admin   ja      
%1 ¤¬¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
 ssl    admin   ja      SSL
-standard       admin   ja      ɸ½à
-start testjob! admin   ja      ¥Æ¥¹¥È¥¸¥ç¥Ö³«»Ï
 station        admin   ja      °ÌÃÖ
 stations       admin   ja      °ÌÃÖ
 status admin   ja      ¾õÂÖ
+standard       admin   ja      ɸ½à
 submit changes admin   ja      Êѹ¹
-sync account-contact   admin   ja      Ʊ´ü½èÍý¡Ê¥¢¥«¥¦¥ó¥È¡ÝÏ¢ÍíÀè¡Ë
 table  admin   ja      ¥Æ¡¼¥Ö¥ë
 template selection     admin   ja      ¥Æ¥ó¥×¥ì¡¼¥ÈÁªÂò
 text entry     admin   ja      ¥Æ¥­¥¹¥ÈÆþÎÏ
-that application name already exists.  admin   ja      
¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤Ï´û¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹
-that application order must be a number.       admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î½ç½ø¤Ï¿ôÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
-that loginid has already been taken    admin   ja      
¥í¥°¥¤¥óID¤Ï´û¤ËÅÐÏ¿ºÑ¤ß¤Ç¤¹
+that loginid has already been taken    admin   ja      
¥í¥°¥¤¥óID¤Ï´û¤ËÅÐÏ¿ºÑ¤ß¤Ç¤¹¡£
+the login and password can not be the same     admin   ja      
¥í¥°¥¤¥óID¤È¥Ñ¥¹¥ï¡¼¥É¤¬Æ±¤¸¤Ç¤¹¡£
+they must be removed before you can continue   admin   ja      ºï½ü¤Ç¤­¤Þ¤»¤ó¡£
 that name has been used already        admin   ja      
¤³¤Î̾Á°¤Ï´û¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹
-that server name has been used already !       admin   ja      
¤½¤Î¥µ¡¼¥Ð¡¼Ì¾¤Ï´û¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹
-the api is current     admin   ja      API¤ÏºÇ¿·¤Ç¤¹
-the api requires an upgrade    admin   ja      
API¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É¤ÎɬÍפ¬¤¢¤ê¤Þ¤¹
-the login and password can not be the same     admin   ja      
¥í¥°¥¤¥óID¤È¥Ñ¥¹¥ï¡¼¥É¤¬Æ±¤¸¤Ç¤¹
-the loginid can not be more then 8 characters  admin   ja      
¥í¥°¥¤¥óID¤Ï£¸Ê¸»ú°ÊÆâ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
-the testjob sends you a mail everytime it is called.   admin   ja      
¥Æ¥¹¥È¥¸¥ç¥Ö¤Ï¡¢¥³¡¼¥ë¤µ¤ì¤ëÅ٤˥桼¥¶¡¼¤Ë¥á¡¼¥ë¤òÁ÷¤ê¤Þ¤¹
-the two passwords are not the same     admin   ja      
Ʊ¤¸¥Ñ¥¹¥ï¡¼¥É¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó
-they must be removed before you can continue   admin   ja      ºï½ü¤Ç¤­¤Þ¤»¤ó
-this account has no contact entry yet  admin   ja      
¤³¤Î¥¢¥«¥¦¥ó¥È¤Ë¤Ï¡¢¤Þ¤ÀÏ¢ÍíÀ襨¥ó¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó
-this account have not contact  admin   ja      
¤³¤Î¥¢¥«¥¦¥ó¥È¤Ë¤ÏÏ¢ÍíÀè¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó
-this application is current    admin   ja      ¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏºÇ¿·¤Ç¤¹
-this application requires an upgrade   admin   ja      
¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹
-this category is currently being used by applications as a parent category     
admin   ja      
¤³¤Î¥«¥Æ¥´¥ê¤Ï¡¢¿Æ¥«¥Æ¥´¥ê¤È¤·¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹
-time   admin   ja      
-timeout for application session data in seconds (default 86400 = 1 day)        
admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥»¥Ã¥·¥ç¥ó¥Ç¡¼¥¿¤Î¥¿¥¤¥à¥¢¥¦¥È»þ´Ö¡Ê¥Ç¥Õ¥©¥ë¥È86400Éà = 1Æü¡Ë
-timeout for sessions in seconds (default 14400 = 4 hours)      admin   ja      
¥»¥Ã¥·¥ç¥ó¤Î¥¿¥¤¥à¥¢¥¦¥È»þ´Ö¡Ê¥Ç¥Õ¥©¥ë¥È14400Éà = 4»þ´Ö¡Ë
-times  admin   ja      Æü»þ
-top    admin   ja      ¾åÉô
 total records  admin   ja      ¹ç·×
 trust level    admin   ja      ¿®Íê¥ì¥Ù¥ë
 trust relationship     admin   ja      ¿®Íê´Ø·¸
-under windows you can only use the fallback mode at the moment. fallback means 
the jobs get only checked after each page-view !!!      admin   ja      
Windows´Ä¶­²½¤Ë¤ª¤¤¤Æ¤Ï¡¢fallback¥â¡¼¥É¤Î¤ßÍøÍѲÄǽ¤Ç¤¹¡£fallback¡Ê¥Õ¥©¡¼¥ë¥Ð¥Ã¥¯¡Ë¤È¤Ï¡¢³Æ¥Ú¡¼¥¸É½¼¨¸å¤Ë¡¢¥¸¥ç¥Ö¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
 update admin   ja      ¹¹¿·
 url    admin   ja      URL
-use cookies to pass sessionid  admin   ja      ¥¯¥Ã¥­¡¼¤Î¥»¥Ã¥·¥ç¥óID¤ò»ÈÍÑ
 use pure html compliant code (not fully working yet)   admin   ja      
½ã¿è¤ÊHTML¤òÍøÍÑ¡Ê´°Á´¤ËÆ°ºî¤·¤Þ¤»¤ó¡Ë
+use cookies to pass sessionid  admin   ja      cookie¤Î¥»¥Ã¥·¥ç¥óid¤ò»ÈÍÑ
 use theme      admin   ja      ¥Æ¡¼¥ÞÁªÂò
-user accounts  admin   ja      ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥È
-user data      admin   ja      ¥æ¡¼¥¶¡¼¥Ç¡¼¥¿
-user groups    admin   ja      ¥æ¡¼¥¶¡¼¥°¥ë¡¼¥×
-user logging levels    admin   ja      ¥æ¡¼¥¶¡¼ÊÌ¥í¥°¥ì¥Ù¥ë
-userdata       admin   ja      ¥æ¡¼¥¶¡¼¥Ç¡¼¥¿
-users choice   admin   ja      ¥æ¡¼¥¶¡¼ÁªÂò
+user accounts  admin   ja      ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È
+users choice   admin   ja      ¥æ¡¼¥¶ÁªÂò
+user data      admin   ja      ¥æ¡¼¥¶¥Ç¡¼¥¿
+user groups    admin   ja      ¥æ¡¼¥¶¥°¥ë¡¼¥×
 view access log        admin   ja      ¥¢¥¯¥»¥¹¥í¥°»²¾È
 view account   admin   ja      ¥¢¥«¥¦¥ó¥Èɽ¼¨
 view category  admin   ja      ¥«¥Æ¥´¥êɽ¼¨
 view error log admin   ja      ¥¨¥é¡¼¥í¥°»²¾È
 view peer server       admin   ja      ÂÐÅù¥µ¡¼¥Ðɽ¼¨
 view sessions  admin   ja      ¥»¥Ã¥·¥ç¥ó»²¾È
-view user account      admin   ja      ¥æ¡¼¥¶¡¼¥¢¥«¥¦¥ó¥Èɽ¼¨
-warn   admin   ja      ·Ù¹ð
-who would you like to transfer all records owned by the deleted user to?       
admin   ja      ºï½ü¥æ¡¼¥¶¡¼¤Îµ­Ï¿¤òžÁ÷¤¹¤ë¥æ¡¼¥¶¡¼¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
-would you like phpgroupware to cache the phpgw info array ?    admin   ja      
phpGroupWare ¤Î¥­¥ã¥Ã¥·¥å¤Ëphpgw info ÇÛÎó¤òÍøÍѤ¹¤ë
+view user account      admin   ja      ¥æ¡¼¥¶¥¢¥«¥¦¥ó¥Èɽ¼¨
+who would you like to transfer all records owned by the deleted user to?       
admin   ja      ºï½ü¥æ¡¼¥¶¤Îµ­Ï¿¤òžÁ÷¤¹¤ë¥æ¡¼¥¶¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
 would you like phpgroupware to check for a new version<br>when admins login ?  
admin   ja      ´ÉÍý¼Ô¤Ç¥í¥°¥¤¥ó»þ¡¢phpGroupWare¤Î¥Ð¡¼¥¸¥ç¥ó¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
-would you like to automaticaly load new langfiles (at login-time) ?    admin   
ja      ¥í¥°¥¤¥ó»þ¤Ë¹¹¿·¤µ¤ì¤¿¸À¸ì¥Õ¥¡¥¤¥ë¤ò¼«Æ°¤Ç¥í¡¼¥É¤¹¤ë
+would you like phpgroupware to cache the phpgw info array ?    admin   ja      
phpGroupWare ¤Î¥­¥ã¥Ã¥·¥å¤Ëphpgw info ÇÛÎó¤òÍøÍѤ¹¤ë
 would you like to show each application's upgrade status ?     admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¾õ¶·É½¼¨
 xml-rpc        admin   ja      XML-RPC
 yes    admin   ja      ¤Ï¤¤
-you do not have edit access to addressmaster contacts  admin   ja      
¥¢¥É¥ì¥¹´ÉÍý¼Ô¤Ç¤Ï¤Ê¤¤°Ù¡¢Ï¢ÍíÀè¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
-you have entered an invalid expiration date    admin   ja      
ÉÔÀµ¤ÊÍ­¸ú´ü´Ö¤òÆþÎϤ·¤Æ¤¤¤Þ¤¹
-you have not edit access to addressmaster records      admin   ja      
¥¢¥É¥ì¥¹´ÉÍý¼Ô¥ì¥³¡¼¥É¤òÊÔ½¸¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó
-you have not the addressmaster record  admin   ja      
¥¢¥É¥ì¥¹´ÉÍý¼Ô¥ì¥³¡¼¥É¤¬¤¢¤ê¤Þ¤»¤ó
 you must add at least 1 permission or group to this account    admin   ja      
¾¯¤Ê¤¯¤È¤â£±¤Ä¤Î¸¢¸Â¤«¥°¥ë¡¼¥×¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
 you must add at least 1 permission to this account     admin   ja      
ÍøÍѲÄǽ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
 you must enter a group name.   admin   ja      ¥°¥ë¡¼¥×̾¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£
-you must enter a loginid       admin   ja      ¥í¥°¥¤¥óID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
+You must enter an application name.    admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£
 you must enter an application name and title.  admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤È¥¿¥¤¥È¥ë¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£
-you must enter an application name.    admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£
-you must enter an application title.   admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¿¥¤¥È¥ë¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£
+You must enter an application title.   admin   ja      
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¿¥¤¥È¥ë¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£
 you must select a file type    admin   ja      
¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
-you will need to remove the subcategories before you can delete this category  
admin   ja      ¤³¤Î¥«¥Æ¥´¥ê¤òºï½ü¤¹¤ëÁ°¤Ë¡¢¥µ¥Ö¥«¥Æ¥´¥ê¤òºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹
 zone   admin   ja      ÃÏ°è
+(Stored password will not be shown here)       admin   ja      
(ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹¥ï¡¼¥É¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó)
Index: admin/setup/phpgw_pl.lang
diff -u admin/setup/phpgw_pl.lang:1.5 admin/setup/phpgw_pl.lang:1.6
--- admin/setup/phpgw_pl.lang:1.5       Thu Dec 30 07:38:14 2004
+++ admin/setup/phpgw_pl.lang   Tue Feb 14 08:48:21 2006
@@ -163,6 +163,7 @@
 never  admin   pl      Nigdy
 new group name admin   pl      Nowa nazwa grupy
 new password [ leave blank for no change       admin   pl      Nowe has³o 
(Pozostaw puste je¶li bez zmian)
+new password [ leave blank for no change       admin   pl      
 new password [ leave blank for no change ]     admin   pl      Nowe has³o 
(Pozostaw puste je¶li bez zmian)
 news file      admin   pl      Plik wiadomo¶ci
 news type      admin   pl      Typ wiadomo¶ci
@@ -211,6 +212,7 @@
 server type(mode)      admin   pl      Typ serwera (tryb)
 server url     admin   pl      Adres URL serwera
 server username        admin   pl      Nazwa u¿ytkownika na serwerze
+server %1 has been added       admin   pl      Dodano serwer %1
 server %1 has been updated     admin   pl      Zaktualizowano serwer %1
 set preference values. admin   pl      Wprowad¼ warto¶ci ustawieñ
 show 'powered by' logo on      admin   pl      Wy¶wietl logo 'powered by'
Index: admin/setup/phpgw_pt.lang
diff -u admin/setup/phpgw_pt.lang:1.7 admin/setup/phpgw_pt.lang:1.8
--- admin/setup/phpgw_pt.lang:1.7       Sat Oct  1 14:17:17 2005
+++ admin/setup/phpgw_pt.lang   Tue Feb 14 08:48:21 2006
@@ -1,301 +1,171 @@
-%1 - %2 of %3 user accounts    admin   pt      %1 - %2 de %3 contas de usuários
-%1 not found or not executable !!!     admin   pt      %1 não encontrado ou 
não excutável !!!
-(stored password will not be shown here)       admin   pt      (Senha salva 
não será exibida aqui)
-(to install new applications use<br /><a href="setup/" 
target="setup">setup</a> [manage applications] !!!)     admin   pt      (Para 
instalar novas aplicações use <br /><a href="setup/" target="setup">Setup</a> 
[Manage Applications] !!!)
-accesslog and bruteforce defense       admin   pt      Log de acesso e defesa 
de BruteForce
 account active admin   pt      Conta ativa
 account has been created       common  pt      Conta foi criada
 account has been deleted       common  pt      Conta foi apagada
 account has been updated       common  pt      Conta foi atualizada
-account list   admin   pt      Lista de contas
 account permissions    admin   pt      Permissões da conta
 account preferences    admin   pt      Preferências da conta
 acl manager    admin   pt      Administração de regras de acesso
 acl rights     admin   pt      Permissões de acesso
 action admin   pt      Ação
 add a new account.     admin   pt      Adicionar nova conta.
-add account    admin   pt      Adicionar conta
-add application        admin   pt      Adicionar aplicação
-add auto-created users to this group ('default' will be attempted if this is 
empty.)   admin   pt      Adicionar usuários criados automaticamente para este 
grupo ('Default' será tentado se este campo estiver vazio.)
+add auto-created users to this group ('Default' will be attempted if this is 
empty.)   admin   pt      Adicionar usuários criados automaticamente para este 
grupo ('Default' será tentado se este campo estiver vazio.)
 add global category    admin   pt      Adicionar categoria global
 add global category for %1     admin   pt      Adicionar categoria global para 
%1
-add group      admin   pt      Adicionar grupo
 add new account        admin   pt      Adicionar nova conta
 add new application    admin   pt      Adicionar nova aplicação
 add peer server        admin   pt      Adicionar servidor remoto
-add sub-category       admin   pt      Adicionar sub-categoria
-add to addressbook     admin   pt      Adicionar ao catálogo de endereços
-addressbook entry      admin   pt      Entrada no catálogo de endereços
-addressmasters admin   pt      Endereços master
 admin email    admin   pt      Email do Administrador
-admin email addresses (comma-separated) to be notified about the blocking 
(empty for no notify)        admin   pt      Endereços de email do 
administrador (separados por vírgula) para ser notificado sobre os bloqueios 
(vazio para não notificar)
-admin name     admin   pt      Nome do Administrador
 administration admin   pt      Administração
+admin name     admin   pt      Nome do Administrador
 admins admin   pt      Administradores
-after how many unsuccessful attempts to login, an account should be blocked 
(default 3) ?      admin   pt      Quantos tentativas de login sem sucesso para 
uma conta ser bloqueada (padrão 3) ?
-after how many unsuccessful attempts to login, an ip should be blocked 
(default 3) ?   admin   pt      Quantos tentativas de login sem sucesso para um 
IP ser bloqueada (padrão 3) ?
+allow anonymous access to this app     admin   pt      Permitir acesso anônimo 
a esta aplicação
 all records and account information will be lost!      admin   pt      Todos 
registros e informações de contas serão perdidos!
 all users      admin   pt      Todos usuários
-allow anonymous access to this app     admin   pt      Permitir acesso anônimo 
a esta aplicação
 anonymous user admin   pt      Usuário Anônimo
-anonymous user (not shown in list sessions)    admin   pt      Usuário Anônimo 
(não exibido na listagem da seção)
-appearance     admin   pt      Aparência
-application    admin   pt      Aplicação
 application name       admin   pt      Nome da aplicação
-application title      admin   pt      Título da aplicação
 applications   admin   pt      Aplicações
-applications list      admin   pt      Lista de aplicações
-are you sure you want to delete the application %1 ?   admin   pt      Você 
tem certeza que deseja remover esta aplicação %1 ?
+application title      admin   pt      Título da aplicação
 are you sure you want to delete this account ? admin   pt      Tem certeza que 
deseja remover esta conta ?
 are you sure you want to delete this application ?     admin   pt      Tem 
certeza que deseja remover esta aplicação ?
 are you sure you want to delete this category ?        common  pt      Tem 
certeza que deseja remover esta categoria ?
 are you sure you want to delete this group ?   admin   pt      Você tem 
certeza que deseja remover este grupo ?
 are you sure you want to delete this server?   admin   pt      Tem certeza que 
deseja remover este servidor ?
 are you sure you want to kill this session ?   admin   pt      Você tem 
certeza que deseja terminar esta seção ?
-async services last executed   admin   pt      Últimos serviços assíncronos 
executados
-asynchronous timed services    admin   pt      Serviços assíncrono programados
-asyncservices not yet installed or other error (%1) !!!        admin   pt      
Serviços assíncrono ainda não intalados ou outro erro (%1) !!!
-attempt to use correct mimetype for ftp instead of default 
'application/octet-stream'  admin   pt      Tentar usar mimetype correto para 
FTP ao invés do padrão 'application/octet-stream'
+attempt to use correct mimetype for FTP instead of default 
'application/octet-stream'  admin   pt      Tentar usar mimetype correto para 
FTP ao invés do padrão 'application/octet-stream'
 authentication / accounts      admin   pt      Autenticação / Contas
 auto create account records for authenticated users    admin   pt      
Automaticamente criar registros da conta para usuários autenticados
+bi-directional admin   pt      bi-direcional
 bi-dir passthrough     admin   pt      bi-dir passthrough
-bi-directional admin   pt      bidirecional
 bottom admin   pt      inferior
-calculate next run     admin   pt      Calcular próxima execução
-can change password    admin   pt      Pode mudar a senha
-cancel testjob!        admin   pt      Cancelar TestJob!
-categories list        admin   pt      Lista de categorias
-category list  admin   pt      Listar categoria
-change acl rights      admin   pt      Alterar permissões de acesso
-change config settings admin   pt      Alterar configurações
 change main screen message     admin   pt      Alterar mensagem da tela 
principal
 check ip address of all sessions       admin   pt      Verificar endereço IP 
de todas sessões
-check items to <b>%1</b> to %2 for %3  admin   pt      Verificar itens para 
<b>%1</b> to %2 for %3
 country selection      admin   pt      Seleção de País
 create group   admin   pt      Criar Grupo
-crontab only (recomended)      admin   pt      apenas crontab (recomendado)
-data   admin   pt      Data
-day    admin   pt      Dia
-day of week<br />(0-6, 0=sun)  admin   pt      Dia da semana <br />(0-6, 
0=Domingo)
-debug  admin   pt      debug
-default        admin   pt      Padrão
 default file system space per user     admin   pt      Espaço em disco padrão 
por usuário ?
 default file system space per user/group ?     admin   pt      Espaço em disco 
padrão por usuário/grupo ?
-delete account admin   pt      Remover conta
-delete all log records admin   pt      Remover todos registros de log
-delete all log records for     admin   pt      Remover todos registros de log 
para
-delete all records     admin   pt      Remover Todos Registros
-delete application     admin   pt      Remover aplicação
-delete category        admin   pt      Remover categoria
-delete group   admin   pt      Remover grupo
-delete peer server     admin   pt      Remover servidor remoto
-deny access to access log      admin   pt      Negar acesso ao log de acesso
-deny access to application registery   admin   pt      Negar acesso ao 
registro da aplicação
 deny access to applications    admin   pt      Negar acesso as aplicações
-deny access to asynchronous timed services     admin   pt      Negar acesso a 
serviços assíncronos programados
 deny access to current sessions        admin   pt      Negar acesso as sessões 
atuais
-deny access to error log       admin   pt      Negar acesso ao log de erros
 deny access to global categories       admin   pt      Negar acesso as 
categorias globais
 deny access to groups  admin   pt      Negar acesso aos grupos
 deny access to mainscreen message      admin   pt      Negar acesso a mensagem 
da tela principal
 deny access to peer servers    admin   pt      Negar acesso a servidores 
remotos
-deny access to phpinfo admin   pt      Negar acesso ao phpinfo
-deny access to site configuration      admin   pt      Negar acesso à 
configuração do site
 deny access to user accounts   admin   pt      Negar acesso as contas de 
usuários
 deny all users access to grant other users access to their entries ?   admin   
pt      Não permitir que usuários concedam acesso a seus registros a outros 
usuários ?
 deny to site configuration     admin   pt      Negar acesso a configuração do 
servidor
-description can not exceed 255 characters in length !  admin   pt      
Descrição não pode exceder 255 caracteres de comprimento !
-disable "auto completion" of the login form    admin   pt      Desabilitar 
"auto complemento" do formulário de login
-disabled (not recomended)      admin   pt      desabilitar (não recomendado)
 display        admin   pt      Visualizar
 do you also want to delete all global subcategories ?  admin   pt      Deseja 
também remover todas subcategorias globais ?
-edit account   admin   pt      Editar conta
 edit application       admin   pt      Editar aplicação
-edit entry     admin   pt      Editar entrada
 edit global category   admin   pt      Editar categoria global
 edit global category for %1    admin   pt      Editar categoria global para %1
 edit group     admin   pt      Editar Grupo
-edit log levels        admin   pt      Editar Níveis de Log
 edit login screen message      admin   pt      Editar mensagem da tela de 
conexão
 edit main screen message       admin   pt      Editar mensagem da tela inicial
 edit peer server       admin   pt      Editar servidor remoto
-edit quota     admin   pt      Editar quota
 edit table format      admin   pt      Editar formato de tabela
 edit user account      admin   pt      Editar conta de usuário
-enable debug-messages  admin   pt      Habilitar menssagens de debug
 enabled - hidden from navbar   admin   pt      Habilitado - Escondido da barra 
de navegação
-enter some random text for app_session <br />encryption (requires mcrypt)      
admin   pt      Digite algum texto aleatório para a encriptação de sessão 
(requer mcrypt)
-enter the background color for the login page  admin   pt      Digite a cor de 
fundo para a página de login
-enter the background color for the site title  admin   pt      Digite a cor de 
fundo para o título do site
-enter the file name of your logo       admin   pt      Digite o nome do 
arquivo do seu logotipo
-enter the full path for temporary files.<br />examples: /tmp, c:\temp  admin   
pt      Digite o caminho completo para arquivos temporários.<br />Exemplos: 
/tmp, C:TEMP
-enter the full path for temporary files.<br />examples: /tmp, c:temp   admin   
pt      Digite o caminho completo para arquivos temporários.<br />Exemplos: 
/tmp, C:TEMP
-enter the full path for users and group files.<br />examples: /files, e:\files 
admin   pt      Digite o caminho completo para arquivos de usuários e 
grupos.<br />Exemplos: /files, E:FILES
-enter the full path for users and group files.<br />examples: /files, e:files  
admin   pt      Digite o caminho completo para arquivos de usuários e 
grupos.<br />Exemplos: /files, E:FILES
+enter some random text for app_session <br>encryption (requires mcrypt)        
admin   pt      Digite algum texto aleatório para a encriptação de sessão 
(requer mcrypt)
+enter the full path for temporary files.<br>Examples: /tmp, C:\TEMP    admin   
pt      Digite o caminho completo para arquivos temporários.<br>Exemplos: /tmp, 
C:TEMP
+enter the full path for users and group files.<br>Examples: /files, E:\FILES   
admin   pt      Digite o caminho completo para arquivos de usuários e 
grupos.<br>Exemplos: /files, E:FILES
 enter the hostname of the machine on which this server is running      admin   
pt      Digite o nome da máquina em que este servidor está sendo executado
-enter the location of phpgroupware's url.<br />example: 
http://www.domain.com/phpgroupware &nbsp; or &nbsp; /phpgroupware<br /><b>no 
trailing slash</b>        admin   pt      Digite a URL do phpGroupWare.<br 
/>Exemplo: http://www.domain.com/phpgroupware &nbsp; ou &nbsp; /phpgroupware<br 
/><b>Sem a barra final</b>
+enter the location of phpGroupWare's URL.<br>Example: 
http://www.domain.com/phpgroupware &nbsp; or &nbsp; /phpgroupware<br><b>No 
trailing slash</b>    admin   pt      Digite a URL do phpGroupWare.<br>Exemplo: 
http://www.domain.com/phpgroupware &nbsp; ou &nbsp; /phpgroupware<br><b>Sem a 
barra final</b>
 enter the site password for peer servers       admin   pt      Digite a senha 
do servidor para comunicação com servidores remotos
 enter the site username for peer servers       admin   pt      Digite o 
usuário do servidor para comunicação com servidores remotos
 enter the title for your site  admin   pt      Digite o título para o seu site
-enter the title of your logo   admin   pt      Digite o título para o seu 
logotipo
-enter the url where your logo should link to   admin   pt      Digite a url 
para onde o seu logotipo deve apontar
-enter your default ftp server  admin   pt      Digite seu servidor FTP padrão
-enter your http proxy server   admin   pt      Digite o endereço do servidor 
proxy HTTP
-enter your http proxy server port      admin   pt      Digite a porta do 
servidor proxy
-error canceling timer, maybe there's none set !!!      admin   pt      Erro 
cancelando timer, talvez não haja um definido !!!
-error setting timer, wrong syntax or maybe there's one already running !!!     
admin   pt      Erro definindo timer, sintáxe incorreta ou talvez já haja um em 
execução !!!
-error: %1 not found or other error !!! admin   pt      Erro: %1 não encontrado 
ou outro erro !!!
+enter your default FTP server  admin   pt      Digite seu servidor FTP padrão
+enter your HTTP proxy server   admin   pt      Digite o endereço do servidor 
proxy HTTP
+enter your HTTP proxy server port      admin   pt      Digite a porta do 
servidor proxy
 expires        admin   pt      Expira
-fallback (after each pageview) admin   pt      fallback (após cada 
visualização de página)
-fatal  admin   pt      fatal
-file   admin   pt      Arquivo
-file space     admin   pt      Espaço de arquivo
-file space must be an integer  admin   pt      Espaço de arquivo deve ser um 
inteiro
 find and register all application hooks        admin   pt      Procurar e 
registrar todas as configurações de aplicações
-for    admin   pt      para
-for the times above    admin   pt      para o horário acima
-for the times below (empty values count as '*', all empty = every minute)      
admin   pt      para os horários abaixo (valores vazios contam como '*', todo 
vazio = todo minuto)
-force selectbox        admin   pt      Forçar Selectbox
 global categories      admin   pt      Categorias globais
 group ?        admin   pt      grupo ?
 group has been added   common  pt      Grupo adicionado
 group has been deleted common  pt      Grupo removido
 group has been updated common  pt      Grupo atualizado
-group list     admin   pt      Listagem de grupos
 group manager  admin   pt      Manutenção de grupos
 group name     admin   pt      Nome do Grupo
 hide php information   admin   pt      Esconder informações de PHP
 home directory admin   pt      Diretório da instalação
 host information       admin   pt      Informações do servidor
-hour<br />(0-23)       admin   pt      Hora<br />(0-23)
-how many days should entries stay in the access log, before they get deleted 
(default 90) ?    admin   pt      Quantos dias os registros devem permanecer no 
log de acesso, antes de serem removidos (padrão 90)
-how many minutes should an account or ip be blocked (default 30) ?     admin   
pt      Quantos minutos uma conta ou IP deve permanecer bloqueado (padrão 30) ?
 idle   admin   pt      ocioso
 if no acl records for user or any group the user is a member of        admin   
pt      Se não houver registro de permissoes ou grupo para o usuário ele é 
membro do
 if using ldap, do you want to manage homedirectory and loginshell attributes?  
admin   pt      se estiver usando LDAP, você deseja definir atributos de 
diretório home e shell de login ?
 inbound        admin   pt      Entrada
-info   admin   pt      informação
-install crontab        admin   pt      Instalar na crontab
 installed applications common  pt      Aplicativos Instalados
-installed crontab      admin   pt      Instalados na crontab
 interface      admin   pt      Interface
 ip     admin   pt      IP
-jobs   admin   pt      Processos
 kill   admin   pt      Terminar
-kill session   admin   pt      Terminar sessão
-last %1 logins admin   pt      Últimas %1 conexões
-last %1 logins for %2  admin   pt      Últimas %1 conexões para %2
 last login     admin   pt      última conexão
 last login from        admin   pt      última conexão de
 last time read admin   pt      Última vez lido
+last %1 logins admin   pt      Últimas %1 conexões
+last %1 logins for %2  admin   pt      Últimas %1 conexões para %2
 ldap accounts context  admin   pt      contexto de contas LDAP
 ldap default homedirectory prefix (e.g. /home for /home/username)      admin   
pt      prefixo de diretório home padrão LDAP (Exemplo: /home para 
/home/username)
 ldap default shell (e.g. /bin/bash)    admin   pt      shell padrão LDAP 
(Exemplo: /bin/bash)
 ldap encryption type   admin   pt      tipo de encriptação LDAP
 ldap groups context    admin   pt      contexto de grupos LDAP
 ldap host      admin   pt      servidor LDAP
-ldap root password     admin   pt      senha do super usuário LDAP
 ldap rootdn    admin   pt      super usuário LDAP
-line   admin   pt      Linha
-list config settings   admin   pt      Listar configurações
-list current sessions  admin   pt      Listar sessões atuais
+ldap root password     admin   pt      senha do super usuário LDAP
 list of current users  admin   pt      lista de usuários conectados
-log message    admin   pt      Mensagem de log
 login history  admin   pt      Histórico de conexões
-login message  admin   pt      Mensagem de login
+loginid        admin   pt      Código do usuário
 login screen   admin   pt      Tela de login
 login shell    admin   pt      Shell de login
 login time     admin   pt      Hora da conexão
-loginid        admin   pt      Código do usuário
 main screen message    admin   pt      Mensagem da tela principal
 manager        admin   pt      Gerenciador
 maximum account id (e.g. 65535 or 1000000)     admin   pt      id máximo para 
contas (Exemplo: 65535 ou 1000000)
-maximum entries in click path history  admin   pt      Número máximo de 
entradas no histórico
 message has been updated       admin   pt      Mensagem foi atualizada
-method admin   pt      Método
 minimum account id (e.g. 500 or 100, etc.)     admin   pt      id mínimo para 
contas (Exemplo: 500 ou 100, etc.)
-minute admin   pt      Minuto
 mode   admin   pt      Modo
-module admin   pt      Módulo
-month  admin   pt      Mês
 never  admin   pt      Nunca
 new group name admin   pt      Nome do novo Grupo
 new password [ leave blank for no change ]     admin   pt      Nova senha [ 
Deixe em branco para não alterar ]
-next run       admin   pt      Próxima execução
-no algorithms available        admin   pt      sem algoritmos disponíveis
-no error log records exist for this user       admin   pt      Não existem 
registros de log para este usuário
-no jobs in the database !!!    admin   pt      Sem processos no banco de dados 
!!!
 no login history exists for this user  admin   pt      Não existe histórico de 
conexões para este usuário
 no matches found       admin   pt      Nenhuma ocorrência encontrada
-no modes available     admin   pt      sem modalidades disponíveis
-note: ssl available only if php is compiled with curl support  admin   pt      
Nota: SSL disponível apenas se PHP foi compilado com suporte a curl
 outbound       admin   pt      Saída
 passthrough    admin   pt      Atravessar
 path information       admin   pt      Informação de Path
-peer server list       admin   pt      Lista de servidores remotos
 peer servers   admin   pt      Servidores remotos
 percent of users that logged out       admin   pt      Percentual de usuários 
que desconectaram
 percent this user has logged out       admin   pt      Percentagem de vezes 
que este usuário desconectou
 permissions    admin   pt      Permissões
 permissions this group has     admin   pt      Permissões do grupo
-permissions this user has      admin   pt      Permissões do usuário
 phpinfo        admin   pt      Informações do PHP
-please choose at least one addressmaster       admin   pt      por favor 
escolhar pelo menos um endereço master
 please enter a name    admin   pt      Por favor digite um nome
 please enter a name for that server !  admin   pt      Por favor digite um 
nome para este servidor !
 please run setup to become current     admin   pt      Por favor execute a 
Configuração para atualizar o sistema
-please select  admin   pt      Por favor Selecione
 preferences    admin   pt      Preferências
 re-enter password      admin   pt      Re-digite a senha
-read this list of methods.     admin   pt      Leia esta lista de métodos
-register application hooks     admin   pt      Registrar aplicações hooks
-remove admin   pt      remover
 remove all users from this group       admin   pt      Remover todos os 
usuários deste grupo
-return to view account admin   pt      Retornar para visão da conta
-run asynchronous services      admin   pt      Executar serviços assíncronos
-search accounts        admin   pt      Buscar contas
-search categories      admin   pt      Buscar categorias
-search groups  admin   pt      Buscar grupos
-search peer servers    admin   pt      Buscar servidores remotos
 security       admin   pt      Segurança
-select addressmasters  admin   pt      Selecionar endereço master
+selectbox      admin   pt      Tela de seleção
 select group managers  admin   pt      Selecione Manutenção de Grupos
-select groups  admin   pt      Selecionar grupos
 select permissions this group will have        admin   pt      Selecione as 
permissões que este grupo terá
-select users   admin   pt      Selecionar usuários
 select users for inclusion     admin   pt      Selecione usuários para inclusão
 select where you want to store/retrieve filesystem information admin   pt      
Selecione onde você deseja guardar as informações de sitema de arquivos
 select where you want to store/retrieve user accounts  admin   pt      
Selecione onde você deseja guardar as contas de usuários
 select which location this app should appear on the navbar, lowest (left) to 
highest (right)   admin   pt      Selecione onde esta aplicação deve aparecer 
na barra de navegação, esquerda para direita
-selectbox      admin   pt      Tela de seleção
-server %1 has been updated     admin   pt      Servidor %1 foi atualizado
 server list    admin   pt      Lista de servidores
 server name    admin   pt      Nome do servidor
 server password        admin   pt      Senha do servidor
 server type(mode)      admin   pt      Tipo de servidor (modo)
 server url     admin   pt      URL do servidor
 server username        admin   pt      Usuário do servidor
+server %1 has been added       admin   pt      Servdor %1 foi adicionado
+server %1 has been updated     admin   pt      Servidor %1 foi atualizado
 set preference values. admin   pt      Definir preferências.
-severity       admin   pt      Severidade
 show 'powered by' logo on      admin   pt      Área para exibição da logomarca 
do phpGroupWare
-show access log        admin   pt      Exibir log de acesso
-show current action    admin   pt      Exibir ação atual
-show error log admin   pt      Exibir log de erros
-show phpinfo() admin   pt      Exibir phpinfo()
-show session ip address        admin   pt      Exibir endereços IP das sessões
 site   admin   pt      Site
 site configuration     admin   pt      Configuração do servidor
-soap   admin   pt      SOAP
 sorry, that group name has already been taken. admin   pt      Este nome de 
grupo já está em uso.
 sorry, that group name has already been taking.        admin   pt      
Desculpe, este grupo já existe
-sorry, the above users are still a member of the group %1      admin   pt      
Os usuários acima já são um membro do grupo %1
 sorry, the follow users are still a member of the group %1     admin   pt      
Desculpe, os seguintes usuários ainda são membros do grupo %1
-ssl    admin   pt      ssl
-standard       admin   pt      padrão
-start testjob! admin   pt      Iniciar TestJob!
 status admin   pt      Status
+(stored password will not be shown here)       admin   pt      (Senha salva 
não será exibida aqui)
 submit changes admin   pt      Enviar alterações
-sync account-contact   admin   pt      Sincronizar Contatos-Contas
 template selection     admin   pt      Seleção de modelos
 text entry     admin   pt      Entrada de texto
 that application name already exists.  admin   pt      Este nome de aplicação 
já existe.
@@ -304,56 +174,38 @@
 that name has been used already        admin   pt      Este nome já está em uso
 that server name has been used already !       admin   pt      Este nome de 
servidor já está em uso !
 the api is current     admin   pt      A base (API) do phpGroupWare está 
atualizada
-the api requires an upgrade    admin   pt      A base (API) do phpGroupWare 
precisa ser atualizada
+the api requires an upgrade    admin   pt       A base (API) do phpGroupWare 
precisa ser atualizada
 the login and password can not be the same     admin   pt      O login e a 
senha não podem ser iguais
 the loginid can not be more then 8 characters  admin   pt      O código de 
usuário não pode ter mais de 8 caracteres
-the testjob sends you a mail everytime it is called.   admin   pt      O 
TestJob lhe envia um email toda vez que é chamado.
 the two passwords are not the same     admin   pt      As senhas não conferem 
entre si
 they must be removed before you can continue   admin   pt      Eles devem ser 
removidos antes de continuar
-this account has no contact entry yet  admin   pt      Esta conta ainda não 
possui registros de contatos
-this account have not contact  admin   pt      Esta conta não possui contatos
 this application is current    admin   pt      Esta aplicação está atualizada
 this application requires an upgrade   admin   pt      Esta aplicação precisa 
ser atualizada
 this category is currently being used by applications as a parent category     
admin   pt      Esta categoria está sendo usada por aplicações como categoria 
pai.
-time   admin   pt      Horário
-timeout for application session data in seconds (default 86400 = 1 day)        
admin   pt      Tempo de expiração para dados da sessão da aplicação em 
segundos (padrão 86400 = 1 dia)
-timeout for sessions in seconds (default 14400 = 4 hours)      admin   pt      
Tempo de expiração para sessões em segundos (padrão 14400 = 4 horas)
-times  admin   pt      Horários
 top    admin   pt      topo
 total records  admin   pt      Total de registros
 trust level    admin   pt      Nível de confiança
 trust relationship     admin   pt      Relação de confiança
-under windows you can only use the fallback mode at the moment. fallback means 
the jobs get only checked after each page-view !!!      admin   pt      No 
momento, no windows você só pode utilizar a modalidade fallback. Fallback 
significa que os trabalhos só são verificados após da visualização de página !!!
-unlimited      admin   pt      ilimitado
 use cookies to pass sessionid  admin   pt      Usar cookies para transmitir id 
de sessão
 use pure html compliant code (not fully working yet)   admin   pt      Usar 
puro código HTML (não funciona totalmente ainda)
-use theme      admin   pt      Usar tema
 user accounts  admin   pt      Contas de usuários
+userdata       admin   pt      Dados de usuário
 user data      admin   pt      Dados de usuários
 user groups    admin   pt      Grupos de usuários
-userdata       admin   pt      Dados de usuário
-users choice   admin   pt      Preferências do Usuário
+use theme      admin   pt      Usar tema
 view access log        admin   pt      Exibir registro de acessos
-view account   admin   pt      Visualizar conta
-view category  admin   pt      Visualizar categoria
 view error log admin   pt      Exibir registro de erros
 view sessions  admin   pt      Exibir sessões
-view user account      admin   pt      Visualizar conta de usuário
-warn   admin   pt      aviso
 who would you like to transfer all records owned by the deleted user to?       
admin   pt      Para que você deseja transferir todas as entradas do usuário 
removido ?
-would you like phpgroupware to cache the phpgw info array ?    admin   pt      
Deseja que o phpGroupWare faça cache do vetor de informações phpgw ?
-would you like phpgroupware to check for a new version<br />when admins login 
?        admin   pt      Deseja que o phpGroupWare verifique se há nova 
versão<br />quando administradores estejam acessando o sistema ?
-would you like to automaticaly load new langfiles (at login-time) ?    admin   
pt      Deseja carregar automaticamente novos arquivos de idiomas (no momento 
do login) ?
+would you like phpgroupWare to cache the phpgw info array ?    admin   pt      
Deseja que o phpGroupWare faça cache do vetor de informações phpgw ?
+would you like phpgroupWare to check for a new version<br>when admins login ?  
admin   pt      Deseja que o phpGroupWare verifique se há nova versão<br>quando 
administradores estejam acessando o sistema ?
 would you like to show each application's upgrade status ?     admin   pt      
Deseja exibir se cada aplicação está atualizada ?
-xml-rpc        admin   pt      XML-RPC
 you have entered an invalid expiration date    admin   pt      A data de 
expiração digitada é inválida
-you have not edit access to addressmaster records      admin   pt      Você 
não tem acesso para editar registros de endereço master
-you have not the addressmaster record  admin   pt      Você não tem o registro 
de endereço master
 you must add at least 1 permission or group to this account    admin   pt      
Você deve adicionar no mínimo uma permissão ou grupo para esta conta
 you must enter a group name.   admin   pt      Você deve digitar um nome de 
grupo.
 you must enter a loginid       admin   pt      Você deve digitar um código
-you must enter an application name and title.  admin   pt      Você deve 
digitar um nome e um título para aplicação.
 you must enter an application name.    admin   pt      Você deve digitar um 
nome para a aplicação.
+you must enter an application name and title.  admin   pt      Você deve 
digitar um nome e um título para aplicação.
 you must enter an application title.   admin   pt      Você deve digitar um 
título para a aplicação.
 you must select a file type    admin   pt      Você deve selecionar um tipo de 
arquivo
 you will need to remove the subcategories before you can delete this category  
admin   pt      Você deverá remover as sub-categorias antes de remover esta 
categoria !
Index: admin/setup/setup.inc.php
diff -u admin/setup/setup.inc.php:1.25 admin/setup/setup.inc.php:1.26
--- admin/setup/setup.inc.php:1.25      Sun May 15 14:36:04 2005
+++ admin/setup/setup.inc.php   Tue Feb 14 08:48:21 2006
@@ -1,30 +1,42 @@
 <?php
-       /**
-       * Administration - Setup
-       *
-       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @subpackage setup
-       * @version $Id: setup.inc.php,v 1.25 2005/05/15 14:36:04 skwashd Exp $
-       */
+       
/**************************************************************************\
+       * 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: setup.inc.php,v 1.26 2006/02/14 08:48:21 skwashd Exp $ */
 
        $setup_info['admin']['name']      = 'admin';
-       $setup_info['admin']['title']     = 'Administration';
-       $setup_info['admin']['version']   = '0.9.17.500';
+       $setup_info['admin']['version']   = '0.9.17.001';
        $setup_info['admin']['app_order'] = 1;
        $setup_info['admin']['tables']    = '';
        $setup_info['admin']['enable']    = 1;
 
-       $setup_info['admin']['author']    = 'phpGW Core';
-       $setup_info['admin']['license']   = 'GPL';
-       $setup_info['admin']['description'] = 
-               'phpGroupWare administration application';
-       $setup_info['admin']['maintainer'] = 'phpGroupWare Coordination Team';
-       $setup_info['admin']['maintainer_email'] = 
'address@hidden<br>address@hidden<br>address@hidden<br>address@hidden';
+       $setup_info['admin']['author'][] = array
+       (
+               'name'  => 'phpGroupWare coreteam',
+               'email' => 'address@hidden'
+       );
+
+       $setup_info['admin']['maintainer'][] = array
+       (
+               'name'  => 'phpGroupWare coreteam',
+               'email' => 'address@hidden',
+               'url'   => 'www.phpgroupware.org/coredevelopers'
+       );
+
+       $setup_info['admin']['license']  = 'GPL';
+       $setup_info['admin']['description'] = 'phpGroupWare administration 
application';
 
        /* The hooks this app includes, needed for hooks registration */
-       $setup_info['admin']['hooks'] = array(
+
+       $setup_info['admin']['hooks'] = array
+       (
                'acl_manager',
                'add_def_pref',
                'admin',
@@ -32,14 +44,13 @@
                'config',
                'deleteaccount',
                'manual',
-               'view_user' => 'admin.uiaccounts.edit_view_user_hook',
-               'edit_user' => 'admin.uiaccounts.edit_view_user_hook',
-               'sidebox_menu'
+               'view_user'
        );
 
-       /* Dependacies for this app to work */
-       $setup_info['admin']['depends'][] = array(
-                'appname' => 'phpgwapi',
-                'versions' => Array('0.9.17', '0.9.18')
+       /* Dependencies for this app to work */
+       $setup_info['admin']['depends'][] = array
+       (
+               'appname' => 'phpgwapi',
+               'versions' => Array('0.9.17')
        );
 ?>
Index: admin/templates/base/accesslog.tpl
diff -u admin/templates/base/accesslog.tpl:1.2 
admin/templates/base/accesslog.tpl:1.3
--- admin/templates/base/accesslog.tpl:1.2      Thu Dec 30 07:38:14 2004
+++ admin/templates/base/accesslog.tpl  Tue Feb 14 08:48:21 2006
@@ -23,7 +23,7 @@
                                                                </table>
                                                        </td>
                                                </tr>
-                                               <tr bgcolor="{th_bg}">
+                                               <tr class="th">
                                                        <td 
width="10%">{lang_loginid}</td>
                                                        <td 
width="15%">{lang_ip}</td>
                                                        <td 
width="20%">{lang_login}</td>
@@ -31,10 +31,10 @@
                                                        <td>{lang_total}</td>
                                                </tr>
                                                {rows_access}
-                                               <tr bgcolor="{bg_color}">
+                                               <tr class="bg_color">
                                                        <td colspan="5" 
align="left">{footer_total}</td>
                                                </tr>
-                                               <tr bgcolor="{bg_color}">
+                                               <tr class="bg_color">
                                                        <td colspan="5" 
align="left">{lang_percent}</td>
                                                </tr>
                                        </table>
@@ -46,7 +46,7 @@
 <!-- END list -->
 
 <!-- BEGIN row -->
-       <tr bgcolor="{tr_color}">
+       <tr class="{tr_color}">
                <td>{row_loginid}</td>
                <td>{row_ip}</td>
                <td>{row_li}</td>
@@ -56,7 +56,7 @@
 <!-- END row -->
 
 <!-- BEGIN row_empty -->
-       <tr bgcolor="{tr_color}">
+       <tr class="{tr_color}">
                <td align="center" colspan="5">{row_message}</td>
        </tr>
 <!-- END row_empty -->
Index: admin/templates/base/account_form_ldap.tpl
diff -u admin/templates/base/account_form_ldap.tpl:1.2 
admin/templates/base/account_form_ldap.tpl:1.3
--- admin/templates/base/account_form_ldap.tpl:1.2      Thu Dec 30 07:38:14 2004
+++ admin/templates/base/account_form_ldap.tpl  Tue Feb 14 08:48:21 2006
@@ -2,81 +2,56 @@
 {error_messages}
 
  <form method="POST" action="{form_action}">
-       <div align="center"> 
-       <table border="0" width="95%">
-               <tr>
-                       <td valign="top">
-                               {rows}
-                       </td>
-                       <td valign="top">
-
-                          <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}&nbsp;</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}&nbsp;</td>
-                            <td>{lang_lastname}</td>
-                            <td>{account_lastname}&nbsp;</td>
-                           </tr>
-                       
-                            <tr bgcolor="{tr_color1}">
-                            <td>{lang_add_addbook}</td>
-                            <td>{add_addbook}{person_id}</td>
-                            <td></td>
-                            <td></td>
-                           </tr>
-
-                               {password_fields}
-
-                           <tr bgcolor="{tr_color1}">
-                                <td>{lang_homedir}</td>
-                                <td>{homedirectory}&nbsp;</td>
-                                <td>{lang_shell}</td>
-                                <td>{loginshell}&nbsp;</td>
-                               </tr>
-
-                           <tr bgcolor="{tr_color2}">
-                            <td>{lang_expires}</td>
-                            <td 
colspan="3">{input_expires}&nbsp;&nbsp;{lang_never}&nbsp;{never_expires}</td>
-                           </tr>
- 
-                           <tr bgcolor="{tr_color1}">
-                            <td>{lang_changepassword}</td>
-                            <td>{changepassword}</td>
-                            <td>{lang_anonymous}</td>
-                            <td>{anonymous}</td>
-                           </tr>
-
-                           <tr bgcolor="{tr_color2}">
-                            <td>{lang_groups}</td>
-                            <td colspan="3">{groups_select}&nbsp;</td>
-                           </tr>
-                       
-                               {permissions_list}
-                           
-                                {form_buttons}
-                       
-                          </table>
-                       </td>
-               </tr>
-       </table>
-       </div>
+  <div align="center"> 
+  <table border="0" width="95%">
+    <tr>
+      <td valign="top">
+        {rows}
+      </td>
+      <td valign="top">
+         <table border=0 width=100%>
+          <tr class="th">
+            <td colspan="4"><b>{lang_action}</b></td>
+          </tr>
+          <tr class="tr_color1">
+           <td width="25%">{lang_loginid}</td>
+           <td width="25%">{account_lid}&nbsp;</td>
+           <td width="25%">{lang_account_active}:</td>
+           <td width="25%">{account_status}</td>
+          </tr>
+          <tr class="tr_color2">
+           <td>{lang_firstname}</td>
+           <td>{account_firstname}&nbsp;</td>
+           <td>{lang_lastname}</td>
+           <td>{account_lastname}&nbsp;</td>
+          </tr>
+          {password_fields}
+          <tr class="tr_color2">
+           <td>{lang_homedir}</td>
+           <td>{homedirectory}&nbsp;</td>
+           <td>{lang_shell}</td>
+           <td>{loginshell}&nbsp;</td>
+          </tr>
+          <tr class="tr_color2">
+           <td>{lang_groups}</td>
+           <td colspan="3">{groups_select}&nbsp;</td>
+          </tr>
+          <tr class="tr_color1">
+           <td>{lang_expires}</td>
+           <td 
colspan="3">{input_expires}&nbsp;&nbsp;{lang_never}&nbsp;{never_expires}</td>
+          </tr>
+          {permissions_list}
+          {form_buttons}
+        </table>
+      </td>
+    </tr>
+  </table>
+  </div>
  </form>
 <!-- END form -->
 
 <!-- BEGIN form_passwordinfo -->
-    <tr bgcolor="{tr_color2}">
+    <tr class="tr_color1">
      <td>{lang_password}</td>
      <td><input type="password" name="account_passwd" 
value="{account_passwd}"></td>
      <td>{lang_reenter_password}</td>
@@ -85,13 +60,16 @@
 <!-- END form_passwordinfo -->
 
 <!-- BEGIN form_buttons_ -->
-    <tr bgcolor="{tr_color2}">
-     <td colspan="4" align="right"><input type="submit" name="submit" 
value="{lang_button}"></td>
+    <tr class="tr_color2">
+     <td colspan="2" align="left"><input type="submit" name="submit" 
value="{lang_button}"></td>
+    </form>
+    <form method="POST" action="{cancel_action}">
+     <td colspan="2" align="right"><input type="submit" name="cancel" 
value="{lang_cancel}"></td>
     </tr>
 <!-- END form_buttons_ -->
 
 <!-- BEGIN form_logininfo -->
-    <tr bgcolor="{tr_color1}">
+    <tr class="tr_color1">
      <td>{lang_lastlogin}</td>
      <td>{account_lastlogin}</td>
 
@@ -101,7 +79,7 @@
 <!-- END form_logininfo -->
 
 <!-- BEGIN link_row -->
-       <tr bgcolor="{tr_color}">
-               <td>&nbsp;<a href="{row_link}">{row_text}</a></td>
-       </tr>
+  <tr class="{tr_color}">
+    <td>&nbsp;<a href="{row_link}">{row_text}</a></td>
+  </tr>
 <!-- END link_row -->
Index: admin/templates/base/acl_accounts.tpl
diff -u admin/templates/base/acl_accounts.tpl:1.2 
admin/templates/base/acl_accounts.tpl:1.3
--- admin/templates/base/acl_accounts.tpl:1.2   Thu Dec 30 07:38:14 2004
+++ admin/templates/base/acl_accounts.tpl       Tue Feb 14 08:48:21 2006
@@ -14,7 +14,7 @@
 
  <div align="center">
   <table border="0" width="70%">
-   <tr bgcolor="{th_bg}">
+   <tr class="th">
     <td>{lang_loginid}</td>
     <td>{lang_lastname}</td>
     <td>{lang_firstname}</td>
@@ -42,7 +42,7 @@
 <!-- END list -->
 
 <!-- BEGIN row -->
-   <tr bgcolor="{tr_color}">
+   <tr class="{tr_color}">
     <td>{row_loginid}</td>
     <td>{row_lastname}</td>
     <td>{row_firstname}</td>
Index: admin/templates/base/acl_applist.tpl
diff -u admin/templates/base/acl_applist.tpl:1.2 
admin/templates/base/acl_applist.tpl:1.3
--- admin/templates/base/acl_applist.tpl:1.2    Thu Dec 30 07:38:14 2004
+++ admin/templates/base/acl_applist.tpl        Tue Feb 14 08:48:21 2006
@@ -1,21 +1,21 @@
 <!-- BEGIN list -->
+<b>{lang_header}</b>
+<hr><p>
+
 <table width="75%" border="0" cellspacing="0" cellpadding="0">
  {rows}
 </table>
-<form method="POST" action="{cancel_action}">
-       <input type="submit" name="cancel" value="{lang_cancel}">
-</form>
 <!-- END list -->
 
 <!-- BEGIN app_row -->
- <tr bgcolor="{icon_backcolor}">
+ <tr class="icon_backcolor">
   <td width="5%" valign="middle"><img src="{app_icon}" alt="[ {app_name} ]"> 
<a name="{a_name}"></a></td>
   <td width="95%" valign="middle"><strong>&nbsp;&nbsp;{app_name}</strong></td>
  </tr>
 <!-- END app_row -->
 
 <!-- BEGIN app_row_noicon -->
- <tr bgcolor="{icon_backcolor}">
+ <tr class="icon_backcolor">
   <td colspan="2" width="95%" 
valign="middle"><strong>&nbsp;&nbsp;{app_name}</strong> <a 
name="{a_name}"></a></td>
  </tr>
 <!-- END app_row_noicon -->
Index: admin/templates/base/acl_manager_form.tpl
diff -u admin/templates/base/acl_manager_form.tpl:1.2 
admin/templates/base/acl_manager_form.tpl:1.3
--- admin/templates/base/acl_manager_form.tpl:1.2       Thu Dec 30 07:38:14 2004
+++ admin/templates/base/acl_manager_form.tpl   Tue Feb 14 08:48:21 2006
@@ -1,11 +1,20 @@
 <!-- BEGIN form -->
+<b>{lang_title}</b>
+<hr><p>
+
 <form method="POST" action="{form_action}">
- <div align="left">
-  <p>{lang_message}</p>
-  <p>{select_values}</p>
-  <p><input type="submit" name="submit" value="{lang_submit}"> &nbsp;
-     <input type="submit" name="cancel" value="{lang_cancel}"></p>
- </div>
+ <table border="0" width="60%" cellspacing="5" cellpadding="5">
+  <tr>
+   <td colspan="2">{lang_message}</td>
+  </tr>
+  <tr>
+   <td colspan="2">{select_values}</td>
+  </tr>
+  <tr>
+   <td align="left"><input type="submit" name="submit" 
value="{lang_submit}"></td>
+   <td align="left"><input type="submit" name="cancel" 
value="{lang_cancel}"></td>
+  </tr>
+ </table>
 </form>
 
 <!-- END form -->
Index: admin/templates/base/application_form.tpl
diff -u admin/templates/base/application_form.tpl:1.2 
admin/templates/base/application_form.tpl:1.3
--- admin/templates/base/application_form.tpl:1.2       Thu Dec 30 07:38:14 2004
+++ admin/templates/base/application_form.tpl   Tue Feb 14 08:48:21 2006
@@ -1,25 +1,21 @@
 <!-- BEGIN form -->
+<p><b>{lang_header}</b>
+<hr><p>
 {error}
-<br>
+
 <form action="{form_action}" method="POST">
  {hidden_vars}
  <div align="center">
  <table border="0" width="55%">
-  <tr bgcolor="{th_bg}">
+  <tr class="th">
    <td colspan="2">&nbsp;</td>
   </tr>
 
   {rows}
 
   <tr>
-   <td nowrap>
-    <input type="submit" name="save" value="{lang_save_button}"> &nbsp;
-    <input type="submit" name="cancel" value="{lang_cancel_button}">
-   </td>
-   <td align="right">&nbsp;
-<!-- BEGIN delete_button -->
-    <input type="submit" name="delete" value="{lang_delete_button}">
-<!-- END delete_button -->
+   <td colspan="2" align="center">
+    <input type="submit" name="submit" value="{lang_submit_button}">
    </td>
   </tr>
 
@@ -29,7 +25,7 @@
 <!-- END form -->
 
 <!-- BEGIN row -->
-  <tr bgcolor="{tr_color}">
+  <tr class="{tr_color}">
    <td>{label}</td>
    <td>{value}</td>
   </tr>
Index: admin/templates/base/applications.tpl
diff -u admin/templates/base/applications.tpl:1.2 
admin/templates/base/applications.tpl:1.3
--- admin/templates/base/applications.tpl:1.2   Thu Dec 30 07:38:14 2004
+++ admin/templates/base/applications.tpl       Tue Feb 14 08:48:21 2006
@@ -1,8 +1,10 @@
 <!-- BEGIN list -->
-<br>
+<p><b>{lang_installed}</b><hr><p>
+
+<p>
 <div align="center">
  <table border="0" width="45%">
-  <tr bgcolor="{bg_color}">
+  <tr class="bg_color">
 {left}
     <td align="center">{lang_showing}</td>
 {right}
@@ -10,7 +12,7 @@
  </table>
  
  <table border="0" width="45%">
-  <tr bgcolor="{th_bg}">
+  <tr class="th">
    <td> {sort_title} </td>
    <td>{lang_edit}</td>
    <td>{lang_delete}</td>
@@ -20,14 +22,10 @@
   {rows}
 
  </table>
- 
- {addbutton}
-<!-- END list -->
 
-<!-- BEGIN add -->
  <table border="0" width="45%">
   <tr>
-   <td align="left" nobreak>
+   <td align="left">
     <form method="POST" action="{new_action}">
      <input type="submit" value="{lang_add}"> 
     </form>
@@ -38,13 +36,13 @@
   </tr>
  </table>
 </div>
-<!-- END add -->
+<!-- END list -->
 
 <!-- BEGIN row -->
-  <tr bgcolor="{tr_color}">
+  <tr class="{tr_color}">
    <td>{name}</td>
    <td width="5%">{edit}</td>
    <td width="5%">{delete}</td>
-   <td width="5%" align="center">{status}</td>
+   <td width="5%">{status}</td>
   </tr>
 <!-- END row -->
Index: admin/templates/base/config.tpl
diff -u admin/templates/base/config.tpl:1.2 admin/templates/base/config.tpl:1.3
--- admin/templates/base/config.tpl:1.2 Thu Dec 30 07:38:14 2004
+++ admin/templates/base/config.tpl     Tue Feb 14 08:48:21 2006
@@ -1,13 +1,19 @@
+<!-- $Id: config.tpl,v 1.3 2006/02/14 08:48:21 skwashd Exp $ -->
+
 <!-- BEGIN header -->
+
 <form method="POST" action="{action_url}">
-<table align="center" width="85%" callspacing="0" style="{ border: 1px solid 
#000000; }">
+<table border="0" align="center" width="85%">
    <tr class="th">
     <td colspan="2">&nbsp;<b>{title}</b></td>
    </tr>
+
 <!-- END header -->
+
 <!-- BEGIN body -->
+
    <tr class="row_on">
-    
<td>{lang_Would_you_like_phpGroupWare_to_check_for_a_new_version<br>when_admins_login_?}:</td>
+    
<td>{lang_Would_you_like_phpGroupWare_to_check_for_new_application_versions_when_admins_login_?}:</td>
     <td>
      <select name="newsettings[checkfornewversion]">
       <option value="">{lang_No}</option>
@@ -47,11 +53,6 @@
    </tr>
 
    <tr class="row_off">
-    <td>{lang_Maximum_entries_in_click_path_history}:</td>
-    <td><input size="8" name="newsettings[max_history]" 
value="{value_max_history}"></td>
-   </tr>
-
-   <tr class="row_on">
     
<td>{lang_Would_you_like_to_automaticaly_load_new_langfiles_(at_login-time)_?}:</td>
     <td>
      <select name="newsettings[disable_autoload_langfiles]">
@@ -61,6 +62,27 @@
     </td>
    </tr>
 
+<!-- not yet implemented (.16 only atm)
+   <tr class="row_on">
+    <td>{lang_Maximum_entries_in_click_path_history}:</td>
+    <td><input size="8" name="newsettings[max_history]" 
value="{value_max_history}"></td>
+   </tr>
+-->
+<!--
+   <tr class="row_off">
+     <td>{lang_Default_file_system_space_per_user/lang_group_?}:</td>
+     <td>
+      <input type="text" name="newsettings[vfs_default_account_size_number]" 
size="7" value="{value_vfs_default_account_size_number}">&nbsp;&nbsp;
+      <select name="newsettings[vfs_default_account_size_type]">
+       <option 
value="gb"{selected_vfs_default_account_size_type_gb}>GB</option>
+       <option 
value="mb"{selected_vfs_default_account_size_type_mb}>MB</option>
+       <option 
value="kb"{selected_vfs_default_account_size_type_kb}>KB</option>
+       <option value="b"{selected_vfs_default_account_size_type_b}>B</option>
+      </select>
+     </td>
+    </tr>
+-->
+
    <tr class="th">
     <td colspan="2">&nbsp;<b>{lang_appearance}</b></td>
    </tr>
@@ -70,7 +92,8 @@
     <td><input name="newsettings[site_title]" value="{value_site_title}"></td>
    </tr>
 
-   <tr class="row_off">
+<!-- not yet implemented (.16 only atm)
+    <tr class="row_off">
     <td>{lang_Enter_the_background_color_for_the_site_title}:</td>
     <td>#<input name="newsettings[login_bg_color_title]" 
value="{value_login_bg_color_title}"></td>
    </tr>
@@ -94,32 +117,24 @@
     <td>{lang_Enter_the_title_of_your_logo}:</td>
     <td><input name="newsettings[login_logo_title]" 
value="{value_login_logo_title}"></td>
    </tr>
-
-   <tr class="row_on">
-    <td>{lang_Show_'powered_by'_logo_on}:</td>
-    <td>
-     <select name="newsettings[showpoweredbyon]">
-      <option value="bottom" 
{selected_showpoweredbyon_bottom}>{lang_bottom}</option>
-      <option value="top" {selected_showpoweredbyon_top}>{lang_top}</option>
-     </select>
-    </td>
-   </tr>
-
+-->
+<!--
    <tr class="row_off">
-    <td>{lang_Use_pure_HTML_compliant_code_(not_fully_working_yet)}:</td>
+    <td>{lang_How_would_you_like_to_sort_applications_in_the_navbar?}:</td>
     <td>
-     <select name="newsettings[htmlcompliant]">
-      <option value="">{lang_No}</option>
-      <option value="True"{selected_htmlcompliant_True}>{lang_Yes}</option>
+     <select name="newsettings[app_order]">
+      <option value="">{lang_Order_id}</option>
+      <option 
value="True"{selected_app_order_True}>{lang_Alphabetically}</option>
      </select>
     </td>
    </tr>
+-->
 
    <tr class="th">
     <td colspan="2">&nbsp;<b>{lang_security}</b></td>
    </tr>
 
-   <tr class="row_on">
+   <tr class="row_off">
     <td>{lang_Use_cookies_to_pass_sessionid}:</td>
     <td>
      <select name="newsettings[usecookies]">
@@ -129,7 +144,7 @@
     </td>
    </tr>
 
-   <tr class="row_off">
+   <tr class="row_on">
     <td>{lang_check_ip_address_of_all_sessions}:</td>
     <td>
      <select name="newsettings[sessions_checkip]">
@@ -149,21 +164,38 @@
     </td>
    </tr>
 
+   <tr class="row_off">
+    <td>{lang_Minimum_password_length}:</td>
+    <td><input size="4" name="newsettings[pass_min_length]" 
value="{value_pass_min_length}"></td>
+   </tr>
 
-<!--
+   <tr class="row_on">
+    <td>{lang_Require_non-alpha_characters}:</td>
+    <td>
+     <select name="newsettings[pass_require_non_alpha]">
+      <option value="">{lang_No}</option>
+      <option 
value="True"{selected_pass_require_non_alpha_True}>{lang_Yes}</option>
+     </select>
+    </td>
+   </tr>
    <tr class="row_off">
-     <td>{lang_Default_file_system_space_per_user}/{lang_group_?}:</td>
-     <td>
-      <input type="text" name="newsettings[vfs_default_account_size_number]" 
size="7" value="{value_vfs_default_account_size_number}">&nbsp;&nbsp;
-      <select name="newsettings[vfs_default_account_size_type]">
-       <option 
value="gb"{selected_vfs_default_account_size_type_gb}>GB</option>
-       <option 
value="mb"{selected_vfs_default_account_size_type_mb}>MB</option>
-       <option 
value="kb"{selected_vfs_default_account_size_type_kb}>KB</option>
-       <option value="b"{selected_vfs_default_account_size_type_b}>B</option>
-      </select>
-     </td>
-    </tr>
--->
+    <td>{lang_Require_numerical_characters}:</td>
+    <td>
+     <select name="newsettings[pass_require_numbers]">
+      <option value="">{lang_No}</option>
+      <option 
value="True"{selected_pass_require_numbers_True}>{lang_Yes}</option>
+     </select>
+    </td>
+   </tr>
+   <tr class="row_on">
+    <td>{lang_Require_special_characters}:</td>
+    <td>
+     <select name="newsettings[pass_require_special_char]">
+      <option value="">{lang_No}</option>
+      <option 
value="True"{selected_pass_require_special_char_True}>{lang_Yes}</option>
+     </select>
+    </td>
+   </tr>
 
    <tr class="row_off">
     
<td>{lang_How_many_days_should_entries_stay_in_the_access_log,_before_they_get_deleted_(default_90)_?}:</td>
@@ -200,15 +232,17 @@
     </td>
    </tr>
 
+<!-- not yet implemented (.16 only atm)
    <tr class="row_on">
     <td>{lang_Disable_"auto_completion"_of_the_login_form_}:</td>
     <td>
       <select name="newsettings[autocomplete_login]">
          <option value="">{lang_No}</option>
-        <option value="True"{autocomplete_login}>{lang_Yes}</option>
+         <option value="True"{autocomplete_login}>{lang_Yes}</option>
        </select>
     </td>
    </tr>
+-->
 <!-- END body -->
 
 <!-- BEGIN footer -->
@@ -221,7 +255,6 @@
     <td colspan="2" align="center">
       <input type="submit" name="submit" value="{lang_submit}">
       <input type="submit" name="cancel" value="{lang_cancel}">
-                 <br>
     </td>
   </tr>
 </table>
Index: admin/templates/base/config_footer.tpl
diff -u admin/templates/base/config_footer.tpl:1.2 
admin/templates/base/config_footer.tpl:1.3
--- admin/templates/base/config_footer.tpl:1.2  Thu Dec 30 07:38:14 2004
+++ admin/templates/base/config_footer.tpl      Tue Feb 14 08:48:21 2006
@@ -1,5 +1,5 @@
 <!-- BEGIN footer -->
-  <tr bgcolor="{th_bg}">
+  <tr class="th">
     <td colspan="2">
 &nbsp;
     </td>
Index: admin/templates/base/config_head.tpl
diff -u admin/templates/base/config_head.tpl:1.2 
admin/templates/base/config_head.tpl:1.3
--- admin/templates/base/config_head.tpl:1.2    Thu Dec 30 07:38:14 2004
+++ admin/templates/base/config_head.tpl        Tue Feb 14 08:48:21 2006
@@ -1,7 +1,7 @@
 <!-- BEGIN head -->
 <form method="POST" action="{action_url}">
 <table border="0" align="center">
-   <tr bgcolor="{th_bg}">
+   <tr class="th">
     <td colspan="2"><font color="{th_text}">&nbsp;<b>{title}</b></font></td>
    </tr>
 <!-- END head -->
Index: admin/templates/base/currentusers.tpl
diff -u admin/templates/base/currentusers.tpl:1.3 
admin/templates/base/currentusers.tpl:1.4
--- admin/templates/base/currentusers.tpl:1.3   Thu May 12 17:58:58 2005
+++ admin/templates/base/currentusers.tpl       Tue Feb 14 08:48:21 2006
@@ -1,13 +1,14 @@
 <!-- BEGIN list -->
 <br>
 <table border="0" width="95%" align="center">
- <tr bgcolor="{bg_color}">
+ <tr class="bg_color">
    {left_next_matchs}
-   <td align="center">{lang_sessions}</td>
+   <td>&nbsp;</td>
+   <td>&nbsp;</td>
    {right_next_matchs}
  </tr> 
 
- <tr bgcolor="{th_bg}">
+ <tr class="th">
   <td>{sort_loginid}</td>
   <td>{sort_ip}</td>
   <td>{sort_login_time}</td>
@@ -23,7 +24,7 @@
 <!-- END list -->
 
 <!-- BEGIN row -->
- <tr bgcolor="{tr_color}">
+ <tr class="{tr_color}">
   <td>{row_loginid}</td>
   <td>{row_ip}</td>
   <td>{row_logintime}</td>
Index: admin/templates/base/delete_common.tpl
diff -u admin/templates/base/delete_common.tpl:1.2 
admin/templates/base/delete_common.tpl:1.3
--- admin/templates/base/delete_common.tpl:1.2  Thu Dec 30 07:38:14 2004
+++ admin/templates/base/delete_common.tpl      Tue Feb 14 08:48:21 2006
@@ -1,20 +1,16 @@
 <!-- BEGIN form -->
-<p>
-<center>
- <form action="{form_action}" method="POST">
-  {hidden_vars}
+ <center>
   <table align="center" border="0" width="55%" cols="2">
    {messages}
    <tr>
     <td width="50%" align="center">
-     <input type="submit" name="no" value="{no}">
+     {no}
     </td>
     <td width="50%" align="center">
-     <input type="submit" name="yes" value="{yes}">
+     {yes}
     </td>
    </tr>
   </table>
- </form> 
-</center>
+ </center>
 <!-- END form -->
 
Index: admin/templates/base/form_button_script.tpl
diff -u admin/templates/base/form_button_script.tpl:1.2 
admin/templates/base/form_button_script.tpl:1.3
--- admin/templates/base/form_button_script.tpl:1.2     Thu Dec 30 07:38:14 2004
+++ admin/templates/base/form_button_script.tpl Tue Feb 14 08:48:21 2006
@@ -1,4 +1,4 @@
-<!-- $Id: form_button_script.tpl,v 1.2 2004/12/30 07:38:14 skwashd Exp $ -->
+<!-- $Id: form_button_script.tpl,v 1.3 2006/02/14 08:48:21 skwashd Exp $ -->
 <!-- BEGIN form_button -->
 <form action="{action_url_button}" method="post" 
name="{action_text_button}form">
  {action_extra_field} <input type="submit" value="{action_text_button}" 
{action_confirm_button}>
Index: admin/templates/base/group_manager.tpl
diff -u admin/templates/base/group_manager.tpl:1.2 
admin/templates/base/group_manager.tpl:1.3
--- admin/templates/base/group_manager.tpl:1.2  Thu Dec 30 07:38:14 2004
+++ admin/templates/base/group_manager.tpl      Tue Feb 14 08:48:21 2006
@@ -10,14 +10,14 @@
                        <td valign="top">
 
                           <table border="0" width="100%">
-                           <tr bgcolor="{th_bg}">
+                           <tr class="th">
                              <td><b>{lang_group}:</b></td>
                              <td><b>{group_name}</b></td>
                            </tr>
                                
                            <form action="{form_action}" method="post">
                            {hidden}
-                           <tr bgcolor="{tr_color1}">
+                           <tr class="tr_color1">
                             <td>{lang_select_managers}</td>
                             <td>{group_members}</td>
                            </tr>
@@ -31,7 +31,7 @@
 <!-- END form -->
 
 <!-- BEGIN link_row -->
-       <tr bgcolor="{tr_color}">
+       <tr class="{tr_color}">
                <td>&nbsp;<a href="{row_link}">{row_text}</a></td>
        </tr>
 <!-- END link_row -->
Index: admin/templates/base/images/navbar.png
Index: admin/templates/base/kill_session.tpl
diff -u admin/templates/base/kill_session.tpl:1.2 
admin/templates/base/kill_session.tpl:1.3
--- admin/templates/base/kill_session.tpl:1.2   Thu Dec 30 07:38:14 2004
+++ admin/templates/base/kill_session.tpl       Tue Feb 14 08:48:21 2006
@@ -1,4 +1,6 @@
-<br>
+<b>{lang_title}</b>
+<hr><p>
+
 <table border="0" with="65%" align="center">
        <tr colspan="2">
                <td align="center">{lang_message}<td>
Index: admin/templates/base/listservers.tpl
diff -u admin/templates/base/listservers.tpl:1.2 
admin/templates/base/listservers.tpl:1.3
--- admin/templates/base/listservers.tpl:1.2    Thu Dec 30 07:38:14 2004
+++ admin/templates/base/listservers.tpl        Tue Feb 14 08:48:21 2006
@@ -1,6 +1,9 @@
  <center>
   <table border="0" cellspacing="2" cellpadding="2">
    <tr>
+    <td colspan="6" align="center" 
bgcolor="#c9c9c9"><b>{title_servers}<b/></td>
+   </tr>
+   <tr>
     <td colspan="6" align="left">
      <table border="0" width="100%">
       <tr>
@@ -11,45 +14,42 @@
      </table>
     </td>
    </tr>
-   
-<!-- BEGIN search -->
    <tr>
+    <td>&nbsp;</td>
     <td colspan="6" align="right">
      <form method="post" action="{actionurl}">
      <input type="text" name="query">&nbsp;<input type="submit" name="search" 
value="{lang_search}"></form></td>
    </tr>
-<!-- END search -->
-
-   <tr bgcolor="{th_bg}">
-    <td bgcolor="{th_bg}">{sort_name}</td>
-    <td bgcolor="{th_bg}">{sort_url}</td>
-    <td bgcolor="{th_bg}">{sort_mode}</td>
-    <td bgcolor="{th_bg}">{sort_security}</td>
-    <td bgcolor="{th_bg}" align="center">{lang_edit}</td>
-    <td bgcolor="{th_bg}" align="center">{lang_delete}</td>
+   <tr class="th">
+    <td class="th">{sort_name}</td>
+    <td class="th">{sort_url}</td>
+    <td class="th">{sort_mode}</td>
+    <td class="th">{sort_security}</td>
+    <td class="th" align="center">{lang_edit}</td>
+    <td class="th" align="center">{lang_delete}</td>
    </tr>
 
 <!-- BEGIN server_list -->
-   <tr bgcolor="{tr_color}">
+   <tr class="{tr_color}">
     <td>{server_name}</td>
     <td>{server_url}</td>
     <td>{server_mode}</td>
     <td>{server_security}&nbsp;</td>
-    <td align="center">{edit}</td>
-    <td align="center">{delete}</td>
+    <td align="center"><a href="{edit}">{lang_edit_entry}</a></td>
+    <td align="center"><a href="{delete}">{lang_delete_entry}</a></td>
    </tr>
 <!-- END server_list -->
 
-   <tr valign="bottom">
 <!-- BEGIN add   -->
-     <td><form method="POST" action="{add_action}">
-       <input type="submit" name="add" value="{lang_add}"></form>
-     </td>
-<!-- END add -->
-     <td><form method="POST" action="{doneurl}">
-       <input type="submit" name="done" value="{lang_done}"></form>
-     </td>
+</form>
+   <tr valign="bottom">
+     <form method="POST" action="{add_action}">
+     <td colspan="3"><input type="submit" name="add" 
value="{lang_add}"></form></td>
+     </form>
+     <form method="POST" action="{doneurl}">
+     <td align="right" colspan="3"><input type="submit" name="done" 
value="{lang_done}"></form></td>
    </tr>
+<!-- END add -->
 
   </table>
  </center>
Index: admin/templates/base/log.tpl
diff -u admin/templates/base/log.tpl:1.2 admin/templates/base/log.tpl:1.3
--- admin/templates/base/log.tpl:1.2    Thu Dec 30 07:38:14 2004
+++ admin/templates/base/log.tpl        Tue Feb 14 08:48:21 2006
@@ -1,4 +1,4 @@
-<!-- $Id: log.tpl,v 1.2 2004/12/30 07:38:14 skwashd Exp $ -->
+<!-- $Id: log.tpl,v 1.3 2006/02/14 08:48:21 skwashd Exp $ -->
 
 {app_header}
 <center>
Index: admin/templates/base/mainscreen_message.tpl
diff -u admin/templates/base/mainscreen_message.tpl:1.2 
admin/templates/base/mainscreen_message.tpl:1.3
--- admin/templates/base/mainscreen_message.tpl:1.2     Thu Dec 30 07:38:14 2004
+++ admin/templates/base/mainscreen_message.tpl Tue Feb 14 08:48:21 2006
@@ -1,5 +1,7 @@
 <!-- BEGIN form -->
-<p align="center">{error_message}</p>
+<p><b>{header_lang}</b><hr>
+
+{error_message}<p>
 
 <form method="POST" action="{form_action}">
  <table border="0" align="center" width="60%">
@@ -12,14 +14,14 @@
 <!-- END form -->
  
 <!-- BEGIN row -->
-  <tr bgcolor="{tr_color}">
+  <tr class="{tr_color}">
    <td>{label}</td>
    <td align="center">{value}</td>
   </tr>
 <!-- END row -->
 
 <!-- BEGIN row_2 -->
-  <tr bgcolor="{tr_color}">
+  <tr class="{tr_color}">
    <td colspan="2" align="center">{value}</td>
   </tr>
 <!-- END row_2 -->
Index: admin/templates/base/menurow.tpl
diff -u admin/templates/base/menurow.tpl:1.2 
admin/templates/base/menurow.tpl:1.3
--- admin/templates/base/menurow.tpl:1.2        Thu Dec 30 07:38:14 2004
+++ admin/templates/base/menurow.tpl    Tue Feb 14 08:48:21 2006
@@ -1,6 +1,6 @@
 <!-- BEGIN menu_links -->
                                <table border="0" width="100%">
-                                       <tr bgcolor="{th_bg}">
+                                       <tr class="th">
                                                <td>&nbsp;</td>
                                        </tr>
                                        {all_rows}
@@ -8,12 +8,12 @@
                                                <td>&nbsp;</td>
                                        </tr>
                                        <tr>
-                                               <td 
bgcolor="{row_on}">&nbsp;&nbsp;<a href="{link_done}">{lang_done}</a></td>
+                                               <td 
class="row_on">&nbsp;&nbsp;<a href="{link_done}">{lang_done}</a></td>
                                        </tr>
                                </table>
 <!-- END menu_links -->
 <!-- BEGIN link_row -->
-                                       <tr bgcolor="{tr_color}">
+                                       <tr class="{tr_color}">
                                                <td>&nbsp;&nbsp;<a 
href="{row_link}">{row_text}</a></td>
                                        </tr>
 <!-- END link_row -->
Index: admin/templates/base/nntp.tpl
diff -u admin/templates/base/nntp.tpl:1.2 admin/templates/base/nntp.tpl:1.3
--- admin/templates/base/nntp.tpl:1.2   Thu Dec 30 07:38:14 2004
+++ admin/templates/base/nntp.tpl       Tue Feb 14 08:48:21 2006
@@ -1,4 +1,4 @@
-<!-- $Id: nntp.tpl,v 1.2 2004/12/30 07:38:14 skwashd Exp $ -->
+<!-- $Id: nntp.tpl,v 1.3 2006/02/14 08:48:21 skwashd Exp $ -->
 <!-- BEGIN nntp_header -->
 <script>
 function check_all()
@@ -34,7 +34,7 @@
   <form name="allow" action="{action_url}" method="POST">
   {common_hidden_vars}
   <table border="0" width="70%">
-    <tr bgcolor="{th_bg}">
+    <tr class="th">
       <td align="center"><font size="2" face="{th_font}">{sort_con}</font></td>
       <td><font size="2" face="{th_font}">{sort_group}</font></td>
       <td align="center"><font size="2" 
face="{th_font}">{sort_active}</font></td>
@@ -45,7 +45,7 @@
 
 <!-- BEGIN nntp_list -->
 
-    <tr bgcolor="{tr_color}">
+    <tr class="{tr_color}">
       <td align="center"><font face="{th_font}">{con}</font></td>
       <td><font face="{th_font}">{group}</font></td>
       <td align="center"><font face="{th_font}">{active}</font></td>
@@ -55,7 +55,7 @@
 
 <!-- BEGIN nntp_footer -->
 
-    <tr bgcolor="{th_bg}">
+    <tr class="th">
       <td>&nbsp;</td>
       <td align="center"><input type="submit" name="submit" 
value="{lang_update}"></td>
       <td align=center>
Index: admin/templates/base/server_form.tpl
diff -u admin/templates/base/server_form.tpl:1.2 
admin/templates/base/server_form.tpl:1.3
--- admin/templates/base/server_form.tpl:1.2    Thu Dec 30 07:38:14 2004
+++ admin/templates/base/server_form.tpl        Tue Feb 14 08:48:21 2006
@@ -1,63 +1,84 @@
 <!-- BEGIN form -->
-<center>
- {message}
- <form name="form" action="{actionurl}" method="POST">
-  <input type="hidden" name="server_id" value="{server_id}">
+ <center>
+  <table border="0" width="80%" cellspacing="2" cellpadding="2">
+   <tr>
+    <td colspan="1" align="center" 
bgcolor="#c9c9c9"><b>{title_servers}<b/></td>
+   </tr>
+  </table>
+  {message}
   <table border="0" width="80%" cellspacing="2" cellpadding="2"> 
-   <tr bgcolor="{row_on}">
+  <form name="form" action="{actionurl}" method="POST">
+   <tr>
     <td>{lang_name}:</td>
     <td><input name="server_name" size="50" value="{server_name}"></td>
    </tr>
-   <tr bgcolor="{row_off}">
+   <tr>
     <td>{lang_url}:</td>
     <td><input name="server_url" size="50" value="{server_url}"></td>
    </tr>
-   <tr bgcolor="{row_on}">
+   <tr>
     <td>{lang_mode}:</td>
     <td>{server_mode}</td>
    </tr>
-   <tr bgcolor="{row_off}">
+   <tr>
     <td>{lang_security}:</td>
     <td>{server_security}&nbsp;{ssl_note}</td>
    </tr>
-   <tr bgcolor="{row_on}">
+   <tr>
     <td>{lang_trust}:</td>
     <td>{trust_level}</td>
    </tr>
-   <tr bgcolor="{row_off}">
+   <tr>
     <td>{lang_relationship}:</td>
     <td>{trust_relationship}</td>
    </tr>
-   <tr bgcolor="{row_on}">
+   <tr>
     <td>{lang_username}:</td>
     <td><input name="server_username" size="30" value="{server_username}"></td>
    </tr>
-   <tr bgcolor="{row_off}">
+   <tr>
     <td>{lang_password}:</td>
     <td><input type="password" name="server_password" size="30" 
value="">&nbsp;{pass_note}</td>
    </tr>
-   <tr bgcolor="{row_on}">
+   <tr>
     <td>{lang_admin_name}:</td>
     <td><input name="admin_name" size="50" value="{admin_name}"></td>
    </tr>
-   <tr bgcolor="{row_off}">
+   <tr>
     <td>{lang_admin_email}:</td>
     <td><input name="admin_email" size="50" value="{admin_email}"></td>
    </tr>
+  </table>
 
-   <tr>
-    <td nowrap>
-     <input type="submit" name="save" value="{lang_save}"> &nbsp;
-     <input type="submit" name="done" value="{lang_done}">
-    </td>
-<!-- BEGIN delete -->
-    <td align="right">
-     <input type="submit" name="delete" value="{lang_delete}">
-    </td>
-<!-- END delete -->
+<!-- BEGIN add -->
+  <table width="50%" border="0" cellspacing="2" cellpadding="2">
+   <tr valign="bottom">
+    <td height="50" align="center">
+     <input type="submit" name="submit" value="{lang_add}"></td>
+    <td height="50" align="center">
+     <input type="reset" name="reset" value="{lang_reset}"></form></td>
+    <td height="50" align="center">
+     <form method="POST" action="{doneurl}">
+     <input type="submit" name="done" value="{lang_done}"></form></td>
    </tr>
-  
   </table>
- </form>
-</center>
+ </center>
+<!-- END add -->
+
+<!-- BEGIN edit -->
+  <table width="50%" border="0" cellspacing="2" cellpadding="2">
+   <tr valign="bottom">
+    <td height="50" align="center">
+     <input type="submit" name="submit" value="{lang_edit}"></form></td>
+    <td height="50" align="center">
+     <form method="POST" action="{deleteurl}">
+     <input type="submit" name="delete" value="{lang_delete}"></form></td>
+    <td height="50" align="center">
+     <form method="POST" action="{doneurl}">
+     <input type="submit" name="done" value="{lang_done}"></form></td>
+   </tr>
+  </table>
+ </center>
+<!-- END edit -->
+
 <!-- END form -->
Index: admin/testbutton.php
diff -u admin/testbutton.php:1.6 admin/testbutton.php:1.7
--- admin/testbutton.php:1.6    Wed May 11 06:59:37 2005
+++ admin/testbutton.php        Tue Feb 14 08:48:21 2006
@@ -1,20 +1,19 @@
 <?php
-       /**
-       * Administration
-       *
-       * @copyright Copyright (C) 2000-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @package admin
-       * @version $Id: testbutton.php,v 1.6 2005/05/11 06:59:37 powerstat Exp $
-       */
+  /**************************************************************************\
+  * 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: testbutton.php,v 1.7 2006/02/14 08:48:21 skwashd Exp $ */
        
        $phpgw_info["flags"] = array(
                "currentapp" => "admin"
        );
        
-       /**
-       * Include phpgroupware header
-       */
        include("../header.inc.php");
 
        $button = CreateObject('phpgwapi.graphics');
@@ -29,6 +28,4 @@
        print "<br>the same as ascii<br>";
        print $button->createInputButton("Lars is the best 
;)",'submit','ascii');
        print "</form>";
-       
-       $phpgw->common->phpgw_footer();
 ?>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]